Ipar

Úgy kódol a DeepMind MI-je, mint egy jó közepes programozó

A fejlesztői szerint az AlphaCode mesterséges intelligencia már az átlagos szakemberek tudásához viszonyítva is versenyképes teljesítményt nyújt.

A DeepMind-nak a kutatói azt állítják, hogy az AlphaCode nevű, programok fejlesztésére alkalmas rendszer megoldásai medián szintű pontszámokat értek el az általuk kiválasztott programozási versenyeken. Vagyis a legjobb szakemberekkel még bőven nem veszi fel a versenyt, de a teljesítményük nagyjából megfelel az ott megjelenő, átlagos programozói tudásnak, ami a kódolás mellett a természetes nyelven leírt problémák megértését is feltételezi.

A fejlesztők szempontjából mindig is fontos kérdés volt, hogy melyik programozási nyelvbe ássák bele magukat, rengeteg időt fektetve a tanulásba. Az ő szempontjukból nem feltétlenül örömhír, de lehet, hogy ez a dilemma belátható időn belül eltűnik, ahogy a mesterséges intelligencia fejlődésével az új modellek is egyre hatékonyabbá válnak a problémák leírásának helyes értelmezésében és azzal összefüggésben a kódok generálásában.

A február elején közzétett, nem lektorált tanulmány alapján az AlphaCode 10 programozási versenyen a több mint 5000 résztvevő átlagának 54,3 százalékát hozta a Codeforces kódverseny-platformon. A DeepMind szerint az AlphaCode az első olyan mesterségesintelligencia-alapú kódgeneráló rendszer, amely stabilan jól teljesít a humán fejlesztők számára kiírt kódversenyeken.

Nem csak programoznia kellett

A DeepMind fejlesztése ezzel nem csak a programozó szakemberek termelékenységét javíthatja, de segíthet a szaktudással nem rendelkezőknek is a problémák megoldásában. A fentieket összefüggésbe helyezi, hogy a szóban forgó programozási versenyek nagyobb kihívást jelentenek a gépi intelligencia számára, mint ha mondjuk a GitHub adatait használva kellene betanítani egy-egy modellt valamilyen kódolási kihívás megoldására.

Az emberekhez hasonlóan ugyanis az AlphaCode-nak is meg kellett értenie a felvetett problémák több bekezdésből álló, szöveges leírását, különös tekintettel a háttérben húzódó narratíva részleteire, valamint a kívánt megoldás ismertetését a bemenet és a kimenet tekintetében. Ugyanígy szempont lehet a megfelelő programozási nyelvet kiválasztása is, ami szintén fontos lehet a feladatok hatékonyabb megoldásának szempontjából.

Az AlphaCode saját adatkészlete egyébként a betanítás előtt 715 gigabájt kódot tartalmazott a GitHub-tárolókból származó, a C++, a C#, a Go, a Java, a JavaScript/TypeScript, a Lua, a Python, a PHP, a Ruby, a Rust és a Scala nyelveken írt fájlokból. A fejlesztők a Codeforces-ból és más adatkészletekből összegyűjtött, kompetitív programozási problémák adatkészleteinek segítségével hangolták a modellt.

Egyre jobb lesz egyre gyorsabban

A DeepMind szerint az AlphaCode teljesítményének ilyen mértékű felfutása a nagyméretű transzformátormodellek kombinációjára épül: ilyen például az OpenAI GPT-3 vagy a Google BERT nyelvi modellje. A DeepMind is transzformátor alapú nyelvi modelleket használt a programkódok generálására, majd a kimenetet megszűrte, hogy az ígéretesnek minősített programok kis csoportját nyújtsa be az értékelésre.

Azzal elvileg a DeepMind is tisztában van, hogy a fejlesztéseinek lehetséges árnyoldalai is vannak. Az AlphaCode vagy más modellek könnyen generálhatnak olyan kódokat, amelyek egyszerűen kihasználható sebezhetőségekkel rendelkeznek, sőt a dolognak környezeti hatásai is vanna, hiszen a modell betanítása „több száz petaFLOPS-napot” igényelt a Google adatközpontjaiban.

Az MI ilyen irányú alkalmazása ugyanakkor hosszabb olyan rendszerek megalkotásához vezethet, amelyek képesek rekurzív módon írni és alakítani magukat, ezzel pedig egyre gyorsabban egyre fejlettebbé válnak. Fennáll persze annak a veszélye, hogy az automatizálással a fehlesztők munkája iránti igány is csökken, de a DeepMind ezzel a ma is használt kódkiegészítő eszközök korlátozottságát állítja szembe, amelyek így is nagymértékben javítják a programozás termelékenységét.

Forrás: Bitport

Friss