Facebook lansează TransCoder: AI care convertește un limbaj de programare în altul cu mare precizie

Facebook lansează TransCoder: AI care convertește un limbaj de programare în altul cu mare precizie

Cercetătorii Facebook tocmai au anunțat că au dezvoltat cu succes un convertor de limbaj de programare pentru aplicații de inteligență artificială . Acest instrument numit TransCoder poate converti codul sursă dintr-un limbaj de programare de nivel înalt în altul. De exemplu, trecerea de la C++ la Java, Python și invers.

Construit pe învățare nesupravegheată, TransCoder caută modele nedescoperite anterior în seturi de date, care sunt neetichetate și cu o supraveghere umană minimă. Conform calculelor, TransCoder este cu mult superior instrumentelor comerciale existente.

Facebook lansează TransCoder: AI care convertește un limbaj de programare în altul cu mare precizie

Facebook TransCoder poate converti codul sursă dintr-un limbaj de programare în altul cu o precizie ridicată

Convertirea codului sursă folosind limbaje vechi în limbaje de programare mai moderne și mai eficiente, cum ar fi Java și C++, este adesea costisitoare atât în ​​timp, cât și în bani. În plus, cei care se angajează în acest loc de muncă trebuie să aibă cunoștințe aprofundate atât a limbilor vechi, cât și a celor noi. De exemplu, Commonwealth Bank din Australia a luat 5 ani și un cost de 750 de milioane USD pentru a converti codul sursă al întregului sistem din COBOL în Java.

În teorie, convertoarele limbajului de programare pot sprijini foarte mult procesul de mai sus, ajutând programatorii să nu fie nevoiți să rescrie codul sursă de la zero. Cu toate acestea, în practică, este foarte dificil să construiți și să perfecționați un convertor, deoarece limbajele de programare pot folosi diferite seturi de sintaxă și se pot baza pe platforme API, biblioteci de funcții standard și tipuri diferite de variabile.

Cu toate acestea, folosind învățarea nesupravegheată, TransCoder de la Facebook poate face conversie între C++, Java și Python cu un nivel ridicat de precizie. TransCoder este antrenat prin înregistrarea și maparea segmentelor de cod similare care împărtășesc aceleași funcții ale limbajelor de programare. Codul sursă folosit pentru a antrena TransCoder este chiar mascat cu fragmente de cod aleatorii, astfel încât TransCoder să le poată prezice în funcție de context.

Un alt proces numit auto-coding denoising va antrena TransCoder să genereze automat linii valide de cod atunci când sunt furnizate cu date de intrare incoerente și neclare. În cele din urmă, procesul de decompilare a codului sursă permite TransCoder să creeze un sistem de date paralel care poate fi utilizat pentru antrenamentele viitoare.

Natura multilingvă a TransCoder este „hrănită” în continuare de un set de „ancore” comune în limbaje de programare , cum ar fi cuvintele cheie comune „pentru”, „în timp ce”, „dacă” și „încercați”. , numere, operatori matematici și Corzi englezești. Procesul de decompilare va ajuta TransCoder să-și îmbunătățească calitatea în timp.

Cercetătorii Facebook au instruit TransCoder pe setul de date publice al GitHub, care conține 2,8 milioane de depozite open source. Scopul acestui proces de instruire este de a ajuta TransCoder să convertească un limbaj de programare în altul la nivel de funcție. După ce TransCoder a fost practicat pe tot codul sursă disponibil, doar componentele de deznodare folosind codificarea automată și decompilarea au fost instruite în continuare asupra funcțiilor, intercalate cu componente care lucrează pe 6.000 de jetoane de limbaje de programare.

Pentru a evalua TransCoder, cercetătorii au extras 852 de funcții paralele din C++, Java și Python din GeeksforGeeks, o platformă online care compilează probleme de programare și oferă soluții în mai multe limbaje de programare diferite. În acest fel, au dezvoltat un nou sistem de măsurare, acuratețea de calcul, pentru a testa dacă, având aceeași intrare, funcția ipotetică produce aceeași ieșire ca o referință.

Facebook admite că chiar și cea mai bună versiune de TransCoder nu produce încă multe structuri de funcții precise în raport cu intrarea. Cu toate acestea, în general, rezultatele conversiei acestui instrument au o precizie ridicată de calcul. Mai jos sunt statisticile de precizie ale TransCoder pe care le-a calculat Facebook:

  • La traducerea din C++ în Java, TransCoder a obținut 74,8% din rezultatele așteptate
  • La traducerea din C++ în Python, TransCoder a obținut 67,2% din rezultatele așteptate
  • La traducerea din Java în C++, TransCoder a obținut 91,6% din rezultatele așteptate
  • La traducerea din Python în Java, TransCoder a obținut 56,1% din rezultatele așteptate
  • La traducerea din Python în C++, TransCoder a obținut 57,8% din rezultatele așteptate
  • La traducerea din Java în Python, TransCoder a obținut 68,7% din rezultatele așteptate

Potrivit cercetătorilor, TransCoder a demonstrat o înțelegere clară a sintaxei specifice fiecărei limbi, precum și a structurilor și metodelor de date ale limbii. De asemenea, TransCoder poate adapta cu precizie bibliotecile fiecărei limbi, adaptându-se în același timp la mici modificări, de exemplu o variabilă de intrare redenumită. Chiar și așa, TransCoder nu a identificat încă anumite variabile în procesul de conversie. Cu toate acestea, cercetătorii încă evaluează TransCoder ca fiind superior cadrelor create prin rescrierea manuală a regulilor bazate pe cunoștințe de specialitate.

Facebook lansează TransCoder: AI care convertește un limbaj de programare în altul cu mare precizie

Pe lângă Facebook, multe companii mari sunt, de asemenea, interesate să dezvolte AI capabilă să „scrie cod” în numele oamenilor.

„TransCoder se generalizează cu ușurință la orice limbaj de programare, fără a necesita cunoștințe aprofundate. În ceea ce privește eficiența, TransCoder este cu mult superior soluțiilor comerciale existente” , susțin cercetătorii Facebook. „Rezultatele noastre experimentale arată că multe dintre erorile TransCoder pot fi remediate cu ușurință prin adăugarea unor constrângeri simple la decodor pentru a ne asigura că funcțiile generate sunt corecte din punct de vedere sintactic. Sau putem crea arhitecturi specializate pentru această problemă.”

Pe lângă Facebook, o serie de alți giganți sunt, de asemenea, interesați să dezvolte sisteme AI capabile să „scrie cod” în loc de oameni. În timpul conferinței Microsoft Build de la începutul acestui an, OpenAI a demonstrat o inteligență artificială antrenată pe GitHub, cu capacitatea de a scrie software complet funcțional pe baza comentariilor în limba engleză. În urmă cu doi ani, Universitatea Rice a creat un sistem numit Bayou, care este capabil să-și scrie propriul software prin sintetizarea „voințelor” în linii de cod partajate public.

„Aceste sisteme AI vor ajuta la eliminarea detaliilor din procesul de dezvoltare a software-ului ”, a declarat Justin Gottschlich, directorul Intel Labs. „Ei pot ajuta programatorii să accelereze dezvoltarea software-ului prin rezolvarea erorilor. În plus, ei ajută la creșterea numărului de locuri de muncă în industria tehnologiei, la care se pot alătura și oamenii fără cunoștințe de programare. Acești oameni își vor asuma sarcini creative și vor părăsi partea de codare. la AI.”

Ce părere aveți despre acest nou AI de la Facebook? Vă rugăm să lăsați comentariile dumneavoastră în secțiunea de comentarii de sub articol!


Grupul de lucru ChatGPT va fi înființat de Europa

Grupul de lucru ChatGPT va fi înființat de Europa

Organismul care reunește organele naționale de supraveghere a vieții private din Europa a declarat joi că a înființat un grup operativ dedicat ChatGPT

AI prezice ora morții umane cu o precizie de 78%.

AI prezice ora morții umane cu o precizie de 78%.

Oamenii de știință danezi și americani au colaborat pentru a dezvolta un sistem AI numit life2vec, capabil să prezică ora morții umane cu mare precizie.

AI prezice bolile urinare doar prin sunetul urinei

AI prezice bolile urinare doar prin sunetul urinei

Un algoritm AI numit Audioflow poate asculta sunetul urinării pentru a identifica eficient și cu succes fluxurile anormale și problemele de sănătate corespunzătoare ale pacientului.

Barmani, atenție: acest robot poate amesteca un cocktail în doar 1 minut

Barmani, atenție: acest robot poate amesteca un cocktail în doar 1 minut

Îmbătrânirea și scăderea populației din Japonia a lăsat țara lipsită de un număr semnificativ de tineri lucrători, în special în sectorul serviciilor.

Sute de oameni au fost dezamăgiți când au aflat că fata pe care o iubeau este un produs al inteligenței artificiale

Sute de oameni au fost dezamăgiți când au aflat că fata pe care o iubeau este un produs al inteligenței artificiale

Un utilizator Reddit numit u/LegalBeagle1966 este unul dintre mulți utilizatori îndrăgostiți de Claudia, o fată asemănătoare vedetei de cinema care deseori împărtășește selfie-uri seducătoare, chiar și nud, pe această platformă.

Încă 12 companii potențiale se alătură „alianței AI” a Microsoft.

Încă 12 companii potențiale se alătură „alianței AI” a Microsoft.

Microsoft tocmai a anunțat că alte 12 companii de tehnologie vor participa la programul său AI for Good.

AI recreează personajele Dragon Ball în carne și oase

AI recreează personajele Dragon Ball în carne și oase

Utilizatorul @mortecouille92 a pus în funcțiune puterea instrumentului de design grafic Midjourney și a creat versiuni realiste unice ale personajelor celebre Dragon Ball precum Goku, Vegeta, Bulma și bătrânul Kame. .

7 tehnici pentru a îmbunătăți răspunsurile ChatGPT

7 tehnici pentru a îmbunătăți răspunsurile ChatGPT

Doar prin adăugarea unor condiții sau configurarea unor scenarii, ChatGPT poate oferi răspunsuri mai relevante la întrebările dvs. Să vedem câteva modalități prin care puteți îmbunătăți calitatea răspunsurilor dvs. ChatGPT.

Minunați-vă de tablourile frumoase desenate de inteligența artificială

Minunați-vă de tablourile frumoase desenate de inteligența artificială

Midjourney este un sistem de inteligență artificială care a provocat recent o „febră” în comunitatea online și în lumea artiștilor din cauza picturilor sale extrem de frumoase, care nu sunt inferioare celor ale artiștilor adevărați.

Acest model AI a fost unul dintre primii „experți” care au descoperit știri despre focarul de pneumonie din Wuhan.

Acest model AI a fost unul dintre primii „experți” care au descoperit știri despre focarul de pneumonie din Wuhan.

La câteva zile după ce China a anunțat focarul, având acces la datele globale despre vânzările de bilete de avion, sistemul AI al BlueDot a continuat să prezică cu exactitate răspândirea virusului Wuhan Corona la Bangkok, Seul, Taipei și Tokyo.