Inovācijas

Facebook TransCoder AI 'Bests' komerciālie konkurenti, kas tulko starp koda valodām

Facebook TransCoder AI 'Bests' komerciālie konkurenti, kas tulko starp koda valodām



We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

Facebook pētnieki saka, ka viņi ir izstrādājuši jaunu sistēmu, ko sauc par neironu kompilatoru, kas spēj pārveidot kodu no vienas augsta līmeņa programmēšanas valodas, piemēram, Java, Python vai C ++, citā kodā, liecina pētījums, kas ievietots preprinta vietnē.

SAISTĪTĀS: FACEBOOK PALĪDZ KARTĒT CELŠANAS AR Dziļu Mācīšanos un Ar AI vērstu Instrumentu

Facebook AI pētnieki izveido starpkodu tulkošanas sistēmu

Sistēma ir bez uzraudzības, kas nozīmē, ka tā meklē iepriekš neatklātus modeļus datu kopās bez vadošām etiķetēm un minimālas cilvēku uzraudzības pakāpes, ziņo Venture Beat.

Kā ziņots, tas pārspēj uz noteikumiem balstītas vadlīnijas, kuras citas sistēmas izmanto kodu tulkošanai ar "ievērojamu" starpību.

"TransCoder var viegli vispārināt jebkurā programmēšanas valodā, tam nav nepieciešamas speciālistu zināšanas un tas ar lielu pārsvaru pārspēj komerciālos risinājumus," raksta preprinta pētījuma līdzautori. "Mūsu rezultāti liecina, ka daudzas modeļa pieļautās kļūdas var viegli novērst, pievienojot vienkāršus ierobežojumus dekoderim, lai nodrošinātu, ka radītās funkcijas ir sintaktiski pareizas, vai izmantojot īpašas arhitektūras."

Esošās koda bāzes pārvietošana uz mūsdienīgu un efektīvāku valodu, piemēram, C ++ vai Java, prasa nopietnas zināšanas gan avota, gan mērķa valodās - parasti dārgs process. Austrālijas Sadraudzības banka piecu gadu laikā iztērēja aptuveni 750 miljonus ASV dolāru, lai pārveidotu savu platformu no COBOL uz Java skriptu. Lai gan transkompilatori šeit ir tehniski noderīgi - viņi izslēdz nepieciešamību pārrakstīt jaunu kodu no jauna, tos arī ir grūti izveidot, jo atšķirīgajām valodām ir atšķirīga sintakse un tiek izmantotas atšķirīgas platformas API, mainīgo tipu un standarta bibliotēkas funkcijas, ziņo Venture Beat.

Facebook jaunā TransCoder sistēma

Saukta par TransCoder, Facebook jaunā sistēma var tulkot starp Java, C ++ un Python - izpildot sarežģītus uzdevumus bez uzraudzības, kas parasti nepieciešama šādiem projektiem. Jaunā sistēma vispirms tiek inicializēta ar starpvalodu valodas modeļa priekšapmācību - procesu, kas kartē daļējas koda izteiksmes, kuru nozīmes pārklājas ar identiskām, no programmēšanas valodas neatkarīgām reprezentācijām.

Ievades avota kodu secības tiek maskētas pēc nejaušības principa, un TransCoder uzdevums ir prognozēt, kuras maskētās daļas ir balstītas uz lielākiem kontekstiem.

Process, ko sauc par automātiskās kodēšanas atkodēšanu, apmāca TransCoder, lai ģenerētu derīgas sekvences, pat ja tiek sniegti trokšņaini ievades dati. Pēc tam tulkošana ļauj TransCoder ģenerēt paralēlus datus, kurus vēlāk izmanto papildu apmācībai.

TransCoder daudzvalodu apmācība nāk no tā, cik daudz kopīgu marķieru - sauktu arī par enkura punktiem - pastāv dažādās programmēšanas valodās. Tie nāk no tādiem izplatītiem atslēgvārdiem kā "while", "try", "for" un "if", papildus cipariem, angļu valodas virknēm un matemātiskajiem operatoriem, kas parādās avota kodā.

Atpakaļtulkojums palīdz sistēmai uzlabot koda tulkošanas kvalitāti, savienojot modeli no avota līdz mērķim ar pretējā virknes virzienā apmācītu "atpakaļ" modeli no mērķa līdz avotam. Modelis “no mērķa uz avotu” tiek izmantots, lai tulkot mērķa secības avota valodā, kas rada trokšņainas avota sekvences - kamēr “avots – mērķis” modelis rekonstruē mērķa secības no trokšņainiem avotiem, līdz abi savstarpēji apgrieztie modeļi saplūst vienā.


Skatīties video: AI in Radiology at Stanford: Rise of the Machines (Augusts 2022).