Facebook ap devlope TransCoder pou tradwi kòd soti nan yon lang pwogram nan yon lòt

Enjenyè Facebook yo te pibliye yon transcompiler TransCoder, ki sèvi ak teknik aprantisaj machin pou transfòme kòd sous soti nan yon lang pwogramasyon wo nivo nan yon lòt. Kounye a, yo bay sipò pou tradui kòd ant Java, C++ ak Python. Pou egzanp, TransCoder pèmèt ou konvèti kòd sous Java nan kòd Python, ak kòd Python nan kòd sous Java. Devlopman pwojè yo ap mete an pratik rechèch teyorik sou kreye yon rezo neral pou transcompilation otomatik efikas nan kòd ak gaye lisansye anba yon lisans Creative Commons Attribution-NonComercial 4.0 pou itilizasyon ki pa komèsyal sèlman.

Aplikasyon sistèm aprantisaj machin lan baze sou Pytorch. Yo ofri de modèl pare yo pou telechaje: premye pou tradui C++ pou Java, Java pou C++ ak Java pou Python, ak dezyèm fwa pou emisyon
C++ pou Python, Python pou C++ ak Python pou Java. Pou antrene modèl yo, nou itilize kòd sous pwojè yo afiche sou GitHub. Si ou vle, yo ka kreye modèl tradiksyon pou lòt lang pwogramasyon. Pou tcheke kalite emisyon an, yo te prepare yon koleksyon tès inite, ansanm ak yon seri tès ki gen ladan 852 fonksyon paralèl.

Yo reklame ke an tèm de presizyon konvèsyon, TransCoder se siyifikativman siperyè tradiktè komèsyal ki itilize metòd ki baze sou règ konvèsyon, ak nan pwosesis la nan travay li pèmèt ou fè san yo pa evalyasyon ekspè nan ekspè nan lang sous la ak sib. Pifò nan erè ki parèt pandan operasyon an nan modèl la ka elimine lè yo ajoute restriksyon senp nan dekodeur a asire ke fonksyon yo pwodwi yo sentaktikman kòrèk.

Facebook ap devlope TransCoder pou tradwi kòd soti nan yon lang pwogram nan yon lòt

Chèchè yo te pwopoze yon nouvo achitekti rezo neral "transfòmatè" pou sekans modèl, nan ki repetisyon ranplase pa "atansyon"(modèl seq2seq ak atansyon), ki pèmèt ou debarase m de kèk depandans nan graf enfòmatik la epi paralelize sa ki te deja pa posib pou paralelizasyon. Tout lang ki sipòte yo sèvi ak yon sèl modèl komen, ki fòme ak twa prensip - inisyalizasyon, modèl lang, ak tounen-tradiksyon.

Facebook ap devlope TransCoder pou tradwi kòd soti nan yon lang pwogram nan yon lòt

Sous: opennet.ru

Add nouvo kòmantè