Werbung

Facebooks TransCoder AI 'Bests' kommerzielle Rivalen, die zwischen Codesprachen übersetzen

Facebook AI hat einen neuen TransCoder erstellt, der Code zwischen verschiedenen Codierungssprachen übersetzt.

Forscher bei Facebook Angenommen, sie haben ein neues System entwickelt, das als neuronaler Transcompiler bezeichnet wird und Code aus einer höheren Programmiersprache wie Java, Python oder C ++ in einen anderen Code konvertieren kann. Dies geht aus einer Studie hervor, die auf a veröffentlicht wurde. Preprint-Website .

VERBINDUNG: FACEBOOK hilft bei der Kartierung von Straßen mit tiefem Lernen und AI-fokussierten Werkzeugen

Facebook AI-Forscher erstellen ein Intercode-Übersetzungssystem

Das System ist unbeaufsichtigt, dh es sucht nach zuvor unentdeckten Mustern in Datensätzen ohne Leitetiketten und mit einem minimalen Maß an menschlicher Überwachung. Berichte Venture Beat.

Insbesondere übertrifft es Berichten zufolge regelbasierte Richtlinien, die andere Systeme für die Codeübersetzung verwenden, um einen "signifikanten" Vorsprung.

"TransCoder kann leicht auf jede Programmiersprache verallgemeinert werden, erfordert kein Expertenwissen und übertrifft kommerzielle Lösungen bei weitem", schrieben die Mitautoren der Preprint-StudieDas Modell kann leicht repariert werden, indem dem Decoder einfache Einschränkungen hinzugefügt werden, um sicherzustellen, dass die generierten Funktionen syntaktisch korrekt sind, oder indem dedizierte Architekturen verwendet werden. "

Verschieben einer vorhandenen Codebasis in eine moderne und effizientere Sprache wie C ++ oder Java erfordert ernsthaftes Fachwissen sowohl in der Quell- als auch in der Zielsprache - ein typisch teurer Prozess. Die Commonwealth Bank of Australia hat ungefähr ausgegeben 750 Millionen US-Dollar in einem Zeitraum von fünf Jahren für die Konvertierung der Plattform von COBOL in Java-Skript. Transcompiler sind hier zwar technisch hilfreich - sie müssen jedoch keinen neuen Code von Grund auf neu schreiben - sie sind auch schwierig zu erstellen, da unterschiedliche Sprachen unterschiedlich sindSyntax und Verwendung von unverwechselbaren Plattform-APIs, Variablentypen und Standardbibliotheksfunktionen, berichtet Venture Beat.

Facebooks neues TransCoder-System

TransCoder genannt, das neue System von Facebook kann zwischen Java, C ++ und Python übersetzen und schwierige Aufgaben ohne die Aufsicht erledigen, die solche Projekte normalerweise erfordern. Das neue System wird zunächst mit einem mehrsprachigen Sprachmodell-Pretraining initialisiert - einem Prozess, der Teilcode-Ausdrücke abbildetderen Bedeutungen sich unabhängig von der Programmiersprache mit identischen Darstellungen überschneiden.

Werbung

Eingabe Quellcode Sequenzen werden zufällig ausgeblendet, und TransCoder hat die Aufgabe, anhand größerer Kontexte vorherzusagen, welche ausgeblendeten Teile welche sind.

Der als Entrauschungs-Auto-Codierung bezeichnete Prozess trainiert TransCoder, gültige Sequenzen zu generieren, selbst wenn verrauschte Eingabedaten bereitgestellt werden. Durch die Rückübersetzung kann TransCoder parallele Daten generieren, die später für zusätzliches Training verwendet werden.

Das mehrsprachige Training von TransCoder basiert darauf, wie viele gemeinsame Token - auch Ankerpunkte genannt - in verschiedenen Programmiersprachen vorhanden sind. Diese stammen aus gängigen Schlüsselwörtern wie "while", "try", "for" und "if"zu Ziffern, englischen Zeichenfolgen und mathematischen Operatoren, die im Quellcode angezeigt werden.

Rückübersetzung hilft dem System, sich zu verbessern Code-Übersetzung Qualität durch Koppeln eines Quelle-zu-Ziel-Modells mit einem "rückwärts" -Ziel-zu-Quelle-Modell, das in der entgegengesetzten Zeichenfolgenrichtung trainiert wurde. Das Ziel-zu-Quelle-Modell wird verwendet, um Zielsequenzen in die Ausgangssprache zu übersetzen, was zu Rauschen führtQuellsequenzen - während das Quelle-Ziel-Modell Zielsequenzen aus verrauschten Quellen rekonstruiert, bis die beiden gegenseitig invertierten Modelle zu einem konvergieren.

Folgen Sie uns auf

Bleiben Sie über die neuesten technischen Neuigkeiten auf dem Laufenden

Geben Sie einfach Ihre E-Mail-Adresse ein und wir kümmern uns um den Rest :

Mit Ihrer Anmeldung stimmen Sie unserer zu Nutzungsbedingungen und Datenschutzerklärung . Sie können sich jederzeit abmelden.