DeepMind je predstavil sistem strojnega učenja za generiranje kode iz besedilnega opisa naloge

Podjetje DeepMind, znano po svojem razvoju na področju umetne inteligence in gradnji nevronskih mrež, sposobnih igranja računalniških in družabnih iger na človeški ravni, je predstavilo projekt AlphaCode, ki razvija sistem strojnega učenja za generiranje kode, ki lahko sodeluje na programerskih tekmovanjih na platformi Codeforces in pokazati povprečen rezultat. Ključna značilnost razvoja je zmožnost ustvarjanja kode v Pythonu ali C++, pri čemer kot vhod vzamemo besedilo z izjavo o problemu v angleščini.

Za testiranje sistema je bilo izbranih 10 novih tekmovanj Codeforces z več kot 5000 udeleženci, ki so potekala po zaključku usposabljanja modela strojnega učenja. Rezultati izpolnjevanja nalog so sistemu AlphaCode omogočili, da se uvrsti približno na sredino ocene teh tekmovanj (54.3%). Predvidena skupna ocena AlphaСode je bila 1238 točk, kar zagotavlja vstop v Top 28% med vsemi udeleženci Codeforces, ki so sodelovali na tekmovanjih vsaj enkrat v zadnjih 6 mesecih. Opozoriti je treba, da je projekt še vedno v začetni fazi razvoja in da je v prihodnosti načrtovano izboljšanje kakovosti ustvarjene kode, kot tudi razvoj AlphaCode v smeri sistemov, ki pomagajo pri pisanju kode, ali orodij za razvoj aplikacij, ki jih je mogoče uporabljajo ljudje brez znanja programiranja.

Projekt uporablja arhitekturo nevronske mreže Transformer v kombinaciji s tehnikami vzorčenja in filtriranja za ustvarjanje različnih nepredvidljivih variant kode, ki ustrezajo besedilu v naravnem jeziku. Po filtriranju, grupiranju in rangiranju se iz generiranega toka opcij izloči najbolj optimalna delujoča koda, ki se nato preveri, da se zagotovi pravilen rezultat (pri vsaki tekmovalni nalogi je naveden primer vhodnih podatkov in rezultat, ki ustreza temu primeru , ki ga je treba pridobiti po izvedbi programa).

DeepMind je predstavil sistem strojnega učenja za generiranje kode iz besedilnega opisa naloge

Za grobo usposabljanje sistema strojnega učenja smo uporabili osnovo kode, ki je na voljo v javnih repozitorijih GitHub. Po pripravi začetnega modela je bila izvedena faza optimizacije, ki temelji na zbirki kode s primeri problemov in rešitvami, ki so jih predlagali udeleženci tekmovanj Codeforces, CodeChef, HackerEarth, AtCoder in Aizu. Skupaj je bilo za trening uporabljenih 715 GB kode iz GitHuba in več kot milijon primerov rešitev tipičnih tekmovalnih problemov. Preden je prešlo na ustvarjanje kode, je šlo besedilo naloge skozi fazo normalizacije, med katero je bilo odstranjeno vse nepotrebno in ostali so le pomembni deli.

DeepMind je predstavil sistem strojnega učenja za generiranje kode iz besedilnega opisa naloge


Vir: opennet.ru

Dodaj komentar