Facebook entwéckelt TransCoder fir Code vun enger Programméierungssprooch an eng aner ze iwwersetzen

Facebook Ingenieuren hunn en Transcompiler publizéiert TransCoder, déi Maschinn Léieren Techniken benotzt fir Quellcode vun enger héijer Programméierungssprooch an eng aner ze transforméieren. De Moment gëtt Ënnerstëtzung zur Iwwersetzung vum Code tëscht Java, C++ a Python zur Verfügung gestallt. Zum Beispill, TransCoder erlaabt Iech Java Quellcode an Python Code ze konvertéieren, a Python Code an Java Quellcode. Projetsentwécklunge ginn an d'Praxis ëmgesat theoretesch Fuerschung op d'Schafe vun engem neurale Netzwierk fir effizient automatesch Transkompiléierung vu Code a ausbreeden lizenzéiert ënner enger Creative Commons Attribution-NonCommercial 4.0 Lizenz nëmme fir net-kommerziell Notzung.

D'Ëmsetzung vum Maschinnléieresystem baséiert op Pytorch. Zwee fäerdeg Modeller gi fir Download ugebueden: éischt fir Iwwersetzung vun C ++ an Java, Java an C ++ an Java an Python, an déi zweet fir Emissioun
C++ op Python, Python op C++ a Python op Java. Fir d'Modeller ze trainéieren, hu mir d'Quellcodes vu Projete benotzt déi op GitHub gepost goufen. Wann Dir wëllt, kënnen Iwwersetzungsmodeller fir aner Programméierungssproochen erstallt ginn. Fir d'Qualitéit vun der Sendung z'iwwerpréiwen, ass eng Sammlung vun Eenheetstester virbereet ginn, souwéi eng Testsuite déi 852 Parallelfunktiounen enthält.

Et gëtt behaapt datt wat d'Konvertéierungsgenauegkeet ugeet, TransCoder wesentlech méi héich ass wéi kommerziell Iwwersetzer déi Methoden benotzen baséiert op Konversiounsregelen, an am Prozess vun der Aarbecht erlaabt et Iech ouni d'expert Bewäertung vun Experten an der Quell- an Zilsprooch ze maachen. Déi meescht vun de Feeler, déi während der Operatioun vum Modell entstinn, kënnen eliminéiert ginn andeems se einfach Restriktiounen op den Decoder addéieren fir sécherzestellen datt déi generéiert Funktiounen syntaktesch korrekt sinn.

Facebook entwéckelt TransCoder fir Code vun enger Programméierungssprooch an eng aner ze iwwersetzen

Fuerscher hunn eng nei neural Netzwierkarchitektur "Transformer" proposéiert fir Sequenzen ze modelléieren, an där d'Wiederhuelung ersat gëtt duerch "Opmierksamkeet"(seq2seq Modell mat Opmierksamkeet), wat Iech erlaabt e puer Ofhängegkeeten an der Berechnungsgraphie lass ze ginn an ze paralleliséieren wat virdru net fir d'Parallaliséierung empfindlech war. All ënnerstëtzt Sprooche benotzen en eenzege gemeinsame Modell, deen mat dräi Prinzipien trainéiert gëtt - Initialiséierung, Sproochmodelléierung an Back-Iwwersetzung.

Facebook entwéckelt TransCoder fir Code vun enger Programméierungssprooch an eng aner ze iwwersetzen

Source: opennet.ru

Setzt e Commentaire