DeepMind a prezentat un sistem de învățare automată pentru generarea de cod dintr-o descriere text a unei sarcini

Compania DeepMind, cunoscută pentru evoluțiile sale în domeniul inteligenței artificiale și construcția de rețele neuronale capabile să joace jocuri pe calculator și de societate la nivel uman, a prezentat proiectul AlphaCode, care dezvoltă un sistem de învățare automată pentru generarea de cod care poate participa în competiții de programare pe platforma Codeforces și să demonstreze rezultat mediu. O caracteristică cheie a dezvoltării este capacitatea de a genera cod în Python sau C++, luând ca intrare un text cu o declarație de problemă în limba engleză.

Pentru a testa sistemul, au fost selectate 10 noi competiții Codeforces cu peste 5000 de participanți, desfășurate după finalizarea pregătirii modelului de învățare automată. Rezultatele îndeplinirii sarcinilor au permis sistemului AlphaCode să intre aproximativ la mijlocul ratingului acestor competiții (54.3%). Evaluarea generală estimată a AlphaСode a fost de 1238 de puncte, ceea ce asigură intrarea în Top 28% dintre toți participanții Codeforces care au participat la competiții cel puțin o dată în ultimele 6 luni. Se remarcă faptul că proiectul se află încă în stadiul inițial de dezvoltare și în viitor este planificată îmbunătățirea calității codului generat, precum și dezvoltarea AlphaCode către sisteme care ajută la scrierea codului, sau instrumente de dezvoltare a aplicațiilor care pot fi folosit de oameni fără abilități de programare.

Proiectul folosește arhitectura rețelei neuronale Transformer în combinație cu tehnici de eșantionare și filtrare pentru a genera diverse variante de cod imprevizibile care corespund textului în limbaj natural. După filtrare, grupare și clasare, cel mai optim cod de lucru este eliminat din fluxul de opțiuni generat, care este apoi verificat pentru a se asigura că se obține rezultatul corect (fiecare sarcină de competiție indică un exemplu de date de intrare și rezultatul corespunzător acestui exemplu , care ar trebui obținut după executarea programului).

DeepMind a prezentat un sistem de învățare automată pentru generarea de cod dintr-o descriere text a unei sarcini

Pentru a antrena aproximativ sistemul de învățare automată, am folosit o bază de cod disponibilă în depozitele publice GitHub. După pregătirea modelului inițial, a fost efectuată o fază de optimizare, bazată pe o colecție de cod cu exemple de probleme și soluții propuse de participanții la competițiile Codeforces, CodeChef, HackerEarth, AtCoder și Aizu. În total, 715 GB de cod de la GitHub și peste un milion de exemple de soluții la probleme tipice de competiție au fost folosite pentru antrenament. Înainte de a trece la generarea codului, textul sarcinii a trecut printr-o fază de normalizare, timp în care tot ce nu era necesar a fost eliminat și au rămas doar părți semnificative.

DeepMind a prezentat un sistem de învățare automată pentru generarea de cod dintr-o descriere text a unei sarcini


Sursa: opennet.ru

Adauga un comentariu