Bbabo NET

Veda & Technika Správy

DeepMind tvrdí, že jej neurónová sieť píše programy o nič horšie ako priemerný programátor

DeepMind vytvoril systém umelej inteligencie s názvom AlphaCode, ktorý hovorí, že „píše počítačové programy na konkurenčnej úrovni“. Systém bol testovaný proti problémom s kódovaním používaným v ľudskej súťaži a zistilo sa, že patrí medzi 54 % najlepších v programe.

Toto je významný krok vpred pre offline kódovanie podľa DeepMind, hoci zručnosti AlphaCode nie sú nevyhnutne reprezentatívne pre programovacie úlohy, ktorým čelí priemerný kóder.

Oriol Vinyals, hlavný vedec spoločnosti DeepMind, poznamenáva, že výskum je stále v počiatočnom štádiu, ale jeho zistenia posunuli spoločnosť bližšie k budovaniu flexibilnej AI na riešenie zložitých problémov s kódovaním. „Sme nadšení z potenciálu AlphaCode pomáhať programátorom aj neprogramátorom písať kód, zvyšovať produktivitu alebo vytvárať nové spôsoby vytvárania softvéru,“ povedal Vinyals.

V jednom príklade problému, kde sa testoval AlphaCode, boli účastníci požiadaní, aby našli spôsob, ako previesť jeden reťazec náhodne sa opakujúcich písmen s a t pomocou obmedzeného súboru vstupov:

„Dostanete dva reťazce s a t, z ktorých každý pozostáva z malých latinských písmen. Vytlačíte reťazec znaku, počnúc prvým znakom a končiac posledným.

Keď sa chystáte napísať znak, namiesto stlačenia tlačidla, ktoré daný znak vytlačí, môžete stlačiť tlačidlo „Backspace“. Stlačením tohto tlačidla vymažete posledný napísaný znak, ktorý ešte nebol vymazaný (alebo neurobíte nič, ak boli vymazané všetky už vytlačené znaky alebo ste ešte nezadali žiadny znak). Ak je napríklad reťazec s "abcbd" a namiesto vytlačenia prvého a štvrtého znaku stlačíte tlačidlo Backspace, výsledkom bude reťazec "bd" (prvé stlačenie klávesu Backspace nevymaže žiadne znaky a druhé stlačením tohto tlačidla sa vymaže znak "c" ). Ďalší príklad: ak s je "abcaa" a stlačíte Backspace namiesto posledných dvoch písmen, je to "a".

Musíte zistiť, či môžete získať reťazec t, ak sa pokúsite zadať reťazec s stlačením klávesu Backspace namiesto stláčania tlačidiel zodpovedajúcich niektorým (možno žiadnemu) z písmen v reťazci s."

AlphaCode vygeneroval viac možných odpovedí a odstránil ich spustením kódu a kontrolou výstupu, rovnako ako by to urobil ľudský konkurent.

Systém bol testovaný na 10 problémoch, ktoré riešilo 5000 používateľov na stránke Codeforces. V priemere sa umiestňuje v top 54,3 % odpovedí.

DeepMind poznamenáva, že súčasná súprava zručností AlphaCode je v súčasnosti použiteľná iba v oblasti konkurenčného programovania, ale jej schopnosti otvárajú dvere k vytváraniu budúcich nástrojov, vďaka ktorým bude programovanie prístupnejšie.

Na podobných aplikáciách pracuje mnoho ďalších spoločností. Napríklad v auguste 2021 spoločnosť OpenAI vydala Codex, nový systém, ktorý automaticky prevádza jednoduché anglické frázy na kód. Kódex je založený na GPT-3.

Zatiaľ však systémy ani zďaleka nepreberajú prácu ľudských programátorov. Kód, ktorý vytvárajú, je často chybný, a pretože algoritmy sú zvyčajne trénované na verejných knižniciach kódov, niekedy reprodukujú materiál chránený autorskými právami.

V júni 2021 teda Microsoft a GitHub predstavili asistenta programátora Copilot založeného na neurónovej sieti Codex od Open AI. Systém je vyškolený na prácu s rôznymi rámcami a programovacími jazykmi. V auguste vyšla vylepšená verzia Codexu, ktorá prekladá anglické frázy do programového kódu.

Vývojári si všimli, že asistent neurónovej siete generuje linky z projektov s otvoreným zdrojovým kódom, pričom sa neriadi pôvodnou licenciou. Sťažovali sa tiež, že Copilot namiesto niekoľkých riadkov kódu vygeneroval desiatky riadkov citátov a komentárov z projektov s otvoreným zdrojovým kódom. GitHub objasnil, že Copilot zvyčajne nereprodukuje presné úryvky kódu, ale vytvára odvodené diela z predtým prijatých vstupov. Spoločnosť tvrdí, že sa to stane iba 0,1% času.

GitHub následne priznal, že pri školení Copilota vývojári použili všetok verejný kód dostupný v úložiskách služby, bez ohľadu na typ licencie.

Ukázalo sa tiež, že približne 40 % kódu vytvoreného Copilotom obsahuje chyby a zraniteľné miesta.

DeepMind tvrdí, že jej neurónová sieť píše programy o nič horšie ako priemerný programátor