DeepMind představil systém strojového učení pro generování kódu z textového popisu úlohy

Společnost DeepMind, známá svým vývojem v oblasti umělé inteligence a konstrukcí neuronových sítí schopných hrát počítačové a deskové hry na lidské úrovni, představila projekt AlphaCode, který vyvíjí systém strojového učení pro generování kódu, který se může zúčastnit v programátorských soutěžích na platformě Codeforces a prokázat průměrný výsledek. Klíčovým rysem vývoje je schopnost generovat kód v Pythonu nebo C++, přičemž jako vstup se použije text s popisem problému v angličtině.

Pro testování systému bylo vybráno 10 nových soutěží Codeforces s více než 5000 účastníky, které se konaly po dokončení školení modelu strojového učení. Výsledky plnění úkolů umožnily systému AlphaCode zařadit se přibližně do středu hodnocení těchto soutěží (54.3 %). Předpokládané celkové hodnocení AlphaСode bylo 1238 bodů, což zajišťuje vstup do Top 28% mezi všemi účastníky Codeforces, kteří se zúčastnili soutěží alespoň jednou za posledních 6 měsíců. Je třeba poznamenat, že projekt je stále v počáteční fázi vývoje a v budoucnu se plánuje zlepšení kvality generovaného kódu, stejně jako vývoj AlphaCode směrem k systémům, které pomáhají při psaní kódu, nebo nástrojům pro vývoj aplikací, které mohou být používají lidé bez znalosti programování.

Projekt využívá architekturu neuronové sítě Transformer v kombinaci s technikami vzorkování a filtrování pro generování různých nepředvídatelných variant kódu, které odpovídají textu v přirozeném jazyce. Po filtrování, seskupování a klasifikaci je z vygenerovaného proudu možností vyřazen nejoptimálnější pracovní kód, který je následně zkontrolován pro získání správného výsledku (u každého soutěžního úkolu je uveden příklad vstupních dat a výsledek odpovídající tomuto příkladu , který by měl být získán po spuštění programu).

DeepMind představil systém strojového učení pro generování kódu z textového popisu úlohy

K hrubému trénování systému strojového učení jsme použili kódovou základnu dostupnou ve veřejných repozitářích GitHub. Po přípravě počátečního modelu byla provedena optimalizační fáze založená na kolekci kódu s příklady problémů a řešení navržených účastníky soutěží Codeforces, CodeChef, HackerEarth, AtCoder a Aizu. Celkem bylo pro trénink použito 715 GB kódu z GitHubu a více než milion příkladů řešení typických soutěžních problémů. Než se přešlo ke generování kódu, prošel text úlohy normalizační fází, během níž bylo eliminováno vše nepotřebné a zůstaly pouze významné části.

DeepMind představil systém strojového učení pro generování kódu z textového popisu úlohy


Zdroj: opennet.ru

Přidat komentář