Facebook ngembangake TransCoder kanggo nerjemahake kode saka siji basa pamrograman menyang basa liyane

Insinyur Facebook wis nerbitake transcompiler TransCoder, sing nggunakake teknik machine learning kanggo ngowahi kode sumber saka siji basa program tingkat dhuwur menyang liyane. Saiki, dhukungan diwenehake kanggo nerjemahake kode antarane Jawa, C++ lan Python. Contone, TransCoder ngidini sampeyan ngowahi kode sumber Jawa dadi kode Python, lan kode Python dadi kode sumber Jawa. Pangembangan proyek lagi ditindakake riset teoretis ing nggawe jaringan syaraf kanggo transcompilation otomatis efisien kode lan Penyebaran dilisensi ing lisensi Creative Commons Attribution-NonCommercial 4.0 mung kanggo panggunaan non-komersial.

Implementasi sistem pembelajaran mesin adhedhasar Pytorch. Loro model siap ditawakake kanggo diundhuh: pisanan kanggo terjemahan saka C ++ menyang Jawa, Jawa menyang C ++ lan Jawa menyang Python, lan kapindho kanggo siaran
C ++ kanggo Python, Python kanggo C ++ lan Python kanggo Jawa. Kanggo nglatih model, kita nggunakake kode sumber proyek sing dikirim ing GitHub. Yen dikarepake, model terjemahan bisa digawe kanggo basa pamrograman liyane. Kanggo mriksa kualitas siaran, koleksi tes unit wis disiapake, uga suite tes sing kalebu 852 fungsi paralel.

Diklaim manawa babagan akurasi konversi, TransCoder luwih unggul tinimbang penerjemah komersial sing nggunakake metode adhedhasar aturan konversi, lan sajrone proses kerja ngidini sampeyan nindakake tanpa pambiji pakar saka ahli ing basa sumber lan target. Umume kesalahan sing muncul sajrone operasi model bisa diilangi kanthi nambahake watesan sing gampang ing dekoder kanggo mesthekake yen fungsi sing digawe kanthi bener sintaksis.

Facebook ngembangake TransCoder kanggo nerjemahake kode saka siji basa pamrograman menyang basa liyane

Peneliti wis ngusulake arsitektur jaringan saraf anyar "Transformer" kanggo modeling urutan, kang ambalan diganti dening "manungsa waé"(Model seq2seq kanthi perhatian), sing ngidini sampeyan nyisihake sawetara dependensi ing grafik komputasi lan parallelize apa sing sadurunge ora cocog karo paralelisasi. Kabeh basa sing didhukung nggunakake model umum siji, sing dilatih nggunakake telung prinsip-inisialisasi, modeling basa, lan terjemahan bali.

Facebook ngembangake TransCoder kanggo nerjemahake kode saka siji basa pamrograman menyang basa liyane

Source: opennet.ru

Add a comment