DeepMind presenteerde een machine learning-systeem voor het genereren van code op basis van een tekstbeschrijving van een taak

Het bedrijf DeepMind, bekend om zijn ontwikkelingen op het gebied van kunstmatige intelligentie en de constructie van neurale netwerken die computer- en bordspellen op menselijk niveau kunnen spelen, presenteerde het AlphaCode-project, dat een machinaal leersysteem ontwikkelt voor het genereren van code die kan deelnemen bij het programmeren van wedstrijden op het Codeforces-platform en een gemiddeld resultaat aantonen. Een belangrijk kenmerk van de ontwikkeling is de mogelijkheid om code te genereren in Python of C++, waarbij als invoer een tekst met een probleemstelling in het Engels wordt gebruikt.

Om het systeem te testen, werden 10 nieuwe Codeforces-wedstrijden met meer dan 5000 deelnemers geselecteerd, die werden gehouden na voltooiing van de training van het machine learning-model. Dankzij de resultaten van het voltooien van de taken kon het AlphaCode-systeem ongeveer in het midden van de beoordeling van deze competities komen (54.3%). De voorspelde algemene beoordeling van AlphaСode was 1238 punten, wat toegang garandeert tot de Top 28% van alle Codeforces-deelnemers die de afgelopen 6 maanden minstens één keer aan competities hebben deelgenomen. Opgemerkt wordt dat het project zich nog in de beginfase van de ontwikkeling bevindt en dat het in de toekomst de bedoeling is om de kwaliteit van de gegenereerde code te verbeteren, en om AlphaCode te ontwikkelen naar systemen die helpen bij het schrijven van code, of tools voor applicatieontwikkeling die kunnen worden ontwikkeld. gebruikt door mensen zonder programmeervaardigheden.

Het project maakt gebruik van de neurale netwerkarchitectuur van Transformer in combinatie met sampling- en filtertechnieken om verschillende onvoorspelbare codevarianten te genereren die overeenkomen met tekst in natuurlijke taal. Na filteren, clusteren en rangschikken wordt de meest optimaal werkende code geëlimineerd uit de gegenereerde stroom van opties, die vervolgens wordt gecontroleerd om er zeker van te zijn dat het juiste resultaat wordt verkregen (elke wedstrijdtaak geeft een voorbeeld van invoergegevens aan en het resultaat dat overeenkomt met dit voorbeeld , die moet worden verkregen na het uitvoeren van het programma).

DeepMind presenteerde een machine learning-systeem voor het genereren van code op basis van een tekstbeschrijving van een taak

Om het machine learning-systeem grofweg te trainen, hebben we een codebasis gebruikt die beschikbaar is in openbare GitHub-opslagplaatsen. Na het voorbereiden van het initiële model werd een optimalisatiefase uitgevoerd, gebaseerd op een verzameling code met voorbeelden van problemen en oplossingen voorgesteld door deelnemers aan de Codeforces-, CodeChef-, HackerEarth-, AtCoder- en Aizu-competities. In totaal werd voor de training 715 GB code van GitHub en meer dan een miljoen voorbeelden van oplossingen voor typische concurrentieproblemen gebruikt. Voordat overging tot het genereren van code, doorliep de taaktekst een normalisatiefase, waarin al het onnodige werd geëlimineerd en alleen significante delen overbleven.

DeepMind presenteerde een machine learning-systeem voor het genereren van code op basis van een tekstbeschrijving van een taak


Bron: opennet.ru

Voeg een reactie