Samen met het Gemini generatieve kunstmatige intelligentiemodel heeft Google vanochtend AlphaCode2 uitgebracht, een verbeterde versie van de codegeneratie AlphaCode die ongeveer een jaar geleden door Google DeepMind Labs werd gelanceerd.AlphaCode2 wordt feitelijk aangedreven door het Gemini-model, of op zijn minst een variant daarvan (GeminiPro), verfijnd op basis van programmeerwedstrijdgegevens. Google zegt dat AlphaCode2 in ten minste één benchmarktest veel beter presteert dan zijn voorganger.

Volgens Google presteerde AlphaCode2 (gecodeerd in talen als Python, Java, C++ en Go) gemiddeld beter dan ongeveer 85% van de concurrenten in een subset van programmeerwedstrijden georganiseerd door Codeforces, een programmeerwedstrijdplatform. Ter vergelijking: de gemiddelde score van de vorige generatie AlphaCode op dezelfde subset was slechts 50%.

"We selecteerden 12 recente competities met meer dan 8.000 deelnemers, hetzij uit de tweede groep, hetzij uit de moeilijkere '1+2'-groep. Dit gaf ons een totaal van 77 problemen om op te lossen", luidt het technische whitepaper van AlphaCode2. "AlphaCode2 kan 43% van de problemen binnen 10 pogingen oplossen, wat bijna twee keer zo snel is als de originele AlphaCode (25%).

AlphaCode2 kan moeilijke programmeerproblemen begrijpen die betrekking hebben op "complexe" wiskunde en informaticatheorie. DeepMind-onderzoeker Rémi Leblond legde in een vooraf opgenomen video uit dat AlphaCode2 in staat is tot dynamisch programmeren, naast andere tamelijk complexe technieken.

AlphaCode2 weet niet alleen wanneer deze strategie correct moet worden geïmplementeerd, maar ook waar deze moet worden ingezet. AlphaCode2 weet niet alleen wanneer hij deze strategie correct moet implementeren, maar ook onder welke omstandigheden hij deze moet gebruiken, aldus Leblond. Dit is het vermelden waard, aangezien programmeerproblemen die dynamisch programmeren vereisten een groot struikelblok vormden voor de originele AlphaCode.

"[AlphaCode2] moet een bepaald niveau van begrip, een bepaald niveau van redeneren en het ontwerp van een codeoplossing tonen voordat het daadwerkelijk kan worden uitgevoerd en een coderingsprobleem kan oplossen. Het kan dat allemaal doen bij problemen die het nog nooit eerder heeft gezien," zei Leblond.

AlphaCode2 lost problemen op door eerst gebruik te maken van een familie van "strategiemodellen" om voor elk probleem een ​​groot aantal codevoorbeelden te genereren. Codevoorbeelden die niet aan de probleembeschrijving voldoen, worden eruit gefilterd, terwijl een clusteralgoritme "semantisch vergelijkbare codevoorbeelden" groepeert om redundantie te voorkomen. Ten slotte selecteert het scoremodel in AlphaCode2 de beste kandidaat uit elk van de 10 grootste "clusters" van codevoorbeelden. Dit is het antwoord van AlphaCode2 op de vraag.

Nu hebben alle modellen voor kunstmatige intelligentie gebreken, en AlphaCode2 is daarop geen uitzondering. Volgens het witboek vereist AlphaCode2 veel vallen en opstaan, is het te duur om op grote schaal te opereren en is het sterk afhankelijk van de mogelijkheid om duidelijk slechte codevoorbeelden eruit te filteren. Het witboek speculeert dat het migreren naar een krachtigere versie van Gemini, zoals GeminiUltra, een aantal van de problemen kan verlichten.

Eli Collins, vice-president product bij DeepMind, hintte tijdens een briefing op deze mogelijkheid.

"Wat mij het meest opwindt aan de nieuwste resultaten is dat wanneer programmeurs samenwerken met [AlphaCode2 powered by Gemini], de prestaties van [het model] beter worden door bepaalde eigenschappen te definiëren waaraan de code voldoet", aldus Collins. "In de toekomst zullen we zien dat programmeurs zeer capabele AI-modellen inzetten als samenwerkingstools om te helpen bij het hele softwareontwikkelingsproces, van het redeneren over problemen tot het assisteren bij de implementatie."