Bbabo NET

Znanost & Tehnologija Novice

DeepMind trdi, da njegova nevronska mreža piše programe nič slabše od povprečnega programerja

DeepMind je ustvaril sistem umetne inteligence, imenovan AlphaCode, za katerega piše, da "piše računalniške programe na konkurenčni ravni." Sistem je bil preizkušen proti izzivom kodiranja, ki se uporabljajo v človeški konkurenci, in je bilo ugotovljeno, da je med 54 % najboljših v programu.

Po mnenju DeepMinda je to pomemben korak naprej za kodiranje brez povezave, čeprav spretnosti AlphaCode niso nujno reprezentativne za naloge programiranja, s katerimi se sooča povprečen koder.

Oriol Vinyals, glavni znanstvenik pri DeepMindu, ugotavlja, da je raziskava še vedno v zgodnjih fazah, vendar so njene ugotovitve podjetje približale izgradnji prilagodljive umetne inteligence za reševanje kompleksnih problemov kodiranja. "Navdušeni smo nad potencialom AlphaCode, da pomaga programerjem in ne-programerjem pri pisanju kode, izboljšanju produktivnosti ali ustvarjanju novih načinov za izdelavo programske opreme," je dejal Vinyals.

V enem primeru težave, kjer je bila testirana AlphaCode, so bili udeleženci pozvani, naj poiščejo način za pretvorbo enega samega niza naključno ponavljajočih se črk s in t z uporabo omejenega nabora vhodov:

»Dobljena sta dva niza s in t, od katerih je vsak sestavljen iz malih latiničnih črk. Tiskali boste niz znakov za znakom, začenši s prvim znakom in končali z zadnjim.

Ko nameravate vnesti znak, lahko namesto da pritisnete gumb, ki natisne ta znak, pritisnete gumb "Backspace". S pritiskom na ta gumb izbrišete zadnji vneseni znak, ki še ni bil izbrisan (ali ne naredi ničesar, če so bili izbrisani vsi že natisnjeni znaki ali pa še niste vnesli nobenega znaka). Na primer, če je niz s "abcbd" in pritisnete gumb Backspace, namesto da natisnete prvi in ​​četrti znak, bo rezultat niz "bd" (s prvim pritiskom na Backspace ne boste izbrisali nobenega znaka, drugi pa pritisk na ta gumb bo izbrisal znak "c"). Drug primer: če je s "abcaa" in pritisnete Backspace namesto zadnjih dveh črk, je "a".

Ugotoviti morate, ali lahko dobite niz t, če poskusite vtipkati niz s tako, da pritisnete Backspace, namesto da pritisnete gumbe, ki ustrezajo nekaterim (morda nobenim) črkam v nizu s."

AlphaCode je ustvaril več možnih odgovorov in jih izločil z zagonom kode in preverjanjem izhoda, tako kot bi to storil človeški tekmec.

Sistem je bil testiran na 10 težavah, ki jih je na spletnem mestu Codeforces rešilo 5000 uporabnikov. V povprečju se uvršča med 54,3 % najboljših odgovorov.

DeepMind ugotavlja, da je trenutni nabor spretnosti AlphaCode trenutno uporaben samo na področju konkurenčnega programiranja, vendar njegove zmogljivosti odpirajo vrata za ustvarjanje prihodnjih orodij, ki bodo programiranje naredila bolj dostopno.

Številna druga podjetja delajo na podobnih aplikacijah. Na primer, avgusta 2021 je OpenAI izdal Codex, nov sistem, ki samodejno pretvarja preproste angleške fraze v kodo. Codex temelji na GPT-3.

Zaenkrat pa sistemi še zdaleč niso preprosto prevzeli dela človeških programerjev. Koda, ki jo proizvajajo, je pogosto napaka in ker so algoritmi običajno usposobljeni v javnih knjižnicah kod, včasih reproducirajo avtorsko zaščiteno gradivo.

Tako sta junija 2021 Microsoft in GitHub predstavila pomočnika programerja Copilot, ki temelji na nevronski mreži Codex iz Open AI. Sistem je usposobljen za delo z različnimi ogrodji in programskimi jeziki. Avgusta je izšla izboljšana različica Codexa, ki prevaja angleške fraze v programsko kodo.

Razvijalci so opazili, da pomočnik nevronske mreže generira vrstice iz odprtokodnih projektov in ne upošteva izvirne licence. Pritožili so se tudi, da je Copilot ustvaril na desetine vrstic citatov in komentarjev iz odprtokodnih projektov namesto le nekaj vrstic kode. GitHub je pojasnil, da Copilot običajno ne reproducira natančnih odrezkov kode, ampak ustvarja izpeljana dela iz predhodno prejetih vnosov. Podjetje trdi, da se to zgodi le v 0,1% časa.

GitHub je nato priznal, da so razvijalci pri usposabljanju Copilot uporabili vso javno kodo, ki je na voljo v repozitorijih storitve, ne glede na vrsto licence.

Izkazalo se je tudi, da približno 40 % kode, ki jo je izdelal Copilot, vsebuje napake in ranljivosti.

DeepMind trdi, da njegova nevronska mreža piše programe nič slabše od povprečnega programerja