DeepMind hat ein maschinelles Lernsystem zur Generierung von Code basierend auf einer textlichen Beschreibung der Aufgabe vorgestellt.

Die Firma DeepMind, die durch ihre Entwicklungen im Bereich der künstlichen Intelligenz und des Aufbaus neuronaler Netze, die in der Lage sind, Computer- und Brettspiele auf menschlichem Niveau zu spielen, bekannt wurde, stellte das Projekt AlphaCode vor. Dieses entwickelt ein maschinelles Lernsystem zur Codegenerierung, das an Programmierwettbewerben auf der Plattform Codeforces teilnehmen und durchschnittliche Ergebnisse erzielen kann. Ein zentrales Merkmal der Entwicklung ist die Fähigkeit, Code in den Programmiersprachen Python oder C++ zu generieren, wobei als Eingabe ein Text mit einer Aufgabenstellung in englischer Sprache verwendet wird.

Zur Testung des Systems wurden 10 neue Wettbewerbe von Codeforces mit über 5000 Teilnehmern ausgewählt, die nach Abschluss des Trainingsmodells für maschinelles Lernen durchgeführt wurden. Die Ergebnisse der Aufgabenvervollständigung ermöglichten es dem AlphaCode-System, ungefähr in der Mitte des Rankings der genannten Wettbewerbe (54,3 %) zu landen. Das prognostizierte Gesamt-Ranking von AlphaCode betrug 1238 Punkte, was den Eintritt in die Top 28 % aller Teilnehmer von Codeforces gewährleistet, die mindestens einmal an Wettbewerben in den letzten 6 Monaten teilgenommen haben. Es wird angemerkt, dass sich das Projekt noch in der Anfangsphase der Entwicklung befindet und in Zukunft die Qualität des generierten Codes verbessert werden soll, sowie AlphaCode in Richtung Systeme weiterentwickelt werden soll, die beim Schreiben von Code helfen oder Entwicklungswerkzeuge bereitstellen, die von Menschen ohne Programmierkenntnisse genutzt werden können.

Im Projekt wird die Architektur des neuronalen Netzwerks "Transformer" in Verbindung mit Sampling- und Filtermethoden verwendet, um verschiedene unvorhersehbare Codevarianten zu generieren, die dem Text in natürlicher Sprache entsprechen. Nach der Filterung, Clusterung und Rangordnung wird der optimalste funktionierende Code aus dem generierten Fluss von Varianten ausgewählt, der anschließend auf die Erzielung des richtigen Ergebnisses überprüft wird (in jeder Wettbewerbsaufgabe wird ein Beispieldatensatz und das entsprechende Ergebnis angegeben, das nach Ausführung des Programms erreicht werden soll).

DeepMind hat ein maschinelles Lernsystem zur Generierung von Code basierend auf einer textlichen Beschreibung der Aufgabe vorgestellt.

Für das grobe Training des maschinellen Lernsystems wurde ein Quellcode verwendet, der in öffentlichen GitHub-Repositories verfügbar ist. Nach der Vorbereitung des Anfangsmodells wurde eine Optimierungsphase durchgeführt, die auf einer Sammlung von Code mit Beispielen für Aufgaben und Lösungen basierte, die den Teilnehmern der Wettbewerbe Codeforces, CodeChef, HackerEarth, AtCoder und Aizu angeboten wurden. Insgesamt wurden für das Training 715 GB Code von GitHub und über eine Million Beispiele für Lösungen gängiger Wettbewerbsaufgaben verwendet. Vor der Generierung des Codes durchlief der Text der Aufgabe eine Normalisierungsphase, in der alles Überflüssige ausgeschlossen und nur die wesentlichen Teile beibehalten wurden.

DeepMind hat ein maschinelles Lernsystem zur Generierung von Code basierend auf einer textlichen Beschreibung der Aufgabe vorgestellt.


Quelle: opennet.ru
60GB SSD 8Gb DDR4