DeepMind presenterade ett maskininlärningssystem för att generera kod från en textbeskrivning av en uppgift

Företaget DeepMind, känt för sin utveckling inom området artificiell intelligens och konstruktion av neurala nätverk som kan spela dator- och brädspel på mänsklig nivå, presenterade AlphaCode-projektet, som utvecklar ett maskininlärningssystem för att generera kod som kan delta i programmeringstävlingar på Codeforces-plattformen och visa genomsnittliga resultat. En nyckelfunktion i utvecklingen är möjligheten att generera kod i Python eller C++, med en text med en problemformulering på engelska som input.

För att testa systemet valdes 10 nya Codeforces-tävlingar med mer än 5000 deltagare ut, som hölls efter avslutad utbildning av maskininlärningsmodellen. Resultaten av att slutföra uppgifterna gjorde det möjligt för AlphaCode-systemet att komma in ungefär mitten av betyget för dessa tävlingar (54.3%). Det förväntade totala betyget för AlphaСode var 1238 poäng, vilket säkerställer inträde i topp 28% bland alla Codeforces-deltagare som har deltagit i tävlingar minst en gång under de senaste 6 månaderna. Det noteras att projektet fortfarande är i det inledande utvecklingsskedet och i framtiden planeras det att förbättra kvaliteten på den genererade koden, samt utveckla AlphaCode mot system som hjälper till att skriva kod, eller applikationsutvecklingsverktyg som kan används av personer utan programmeringskunskaper.

Projektet använder Transformers neurala nätverksarkitektur i kombination med samplings- och filtreringstekniker för att generera olika oförutsägbara kodvarianter som motsvarar text på naturligt språk. Efter filtrering, klustring och rangordning elimineras den mest optimala arbetskoden från den genererade strömmen av alternativ, som sedan kontrolleras för att säkerställa att rätt resultat erhålls (varje tävlingsuppgift anger ett exempel på indata och resultatet som motsvarar detta exempel , som bör erhållas efter att programmet har körts).

DeepMind presenterade ett maskininlärningssystem för att generera kod från en textbeskrivning av en uppgift

För att grovträna maskininlärningssystemet använde vi en kodbas tillgänglig i offentliga GitHub-repositories. Efter att ha utarbetat den inledande modellen genomfördes en optimeringsfas, baserad på en kodsamling med exempel på problem och lösningar föreslagna av deltagare i tävlingarna Codeforces, CodeChef, HackerEarth, AtCoder och Aizu. Totalt användes 715 GB kod från GitHub och mer än en miljon exempel på lösningar på typiska tävlingsproblem för träning. Innan man gick vidare till kodgenerering gick uppgiftstexten igenom en normaliseringsfas, under vilken allt onödigt eliminerades och endast betydande delar fanns kvar.

DeepMind presenterade ett maskininlärningssystem för att generera kod från en textbeskrivning av en uppgift


Källa: opennet.ru

Lägg en kommentar