AlphaСode, una AI de generació de codi

DeepMind, coneguda pels seus desenvolupaments en el camp de la intel·ligència artificial i la construcció de xarxes neuronals capaces de jugar jocs dordinador i de taula a nivell humà, va donar a conèixer recentment el projecte AlphaСode el qual descriu com un sistema daprenentatge automàtic per a la generació de codi que pot participar en competències de programació a la plataforma Codeforces i demostrar un resultat mitjà.

S'esmenta que el projecte utilitza l'arquitectura de xarxa neuronal Transformer en combinació amb altres mètodes de mostreig i filtratge per generar diverses variants de codi impredictibles corresponents al text en llenguatge natural.

El mètode com treballa AlphaСode es basa a filtrar, agrupar i classificar, amb la qual cosa posteriorment procedeix a seleccionar el codi de treball més òptim del flux d'opcions generat, que després es verifica per garantir que se n'obtingui el resultat correcte (en cada tasca de la competència, un exemple dades d'entrada i un resultat corresponent) a aquest exemple, que cal obtenir després de l'execució del programa).

Detallem AlphaCode, que utilitza models de llenguatge basats en transformadors per generar codi a una escala sense precedents, i després filtra intel·ligentment un petit conjunt de programes prometedors.

Validem el nostre acompliment utilitzant competències organitzades a Codeforces, una plataforma popular que organitza competències regulars que atrauen desenes de milers de participants de tot el món que vénen a provar les seves habilitats de codificació. Seleccionem per avaluació 10 concursos recents, cadascun més nou que les nostres dades d'entrenament. AlphaCode es va col·locar aproximadament al nivell del competidor mitjà, fet que marca la primera vegada que un sistema de generació de codi d'IA assoleix un nivell competitiu de rendiment en competències de programació.

Per a l'entrenament aproximat del sistema d'aprenentatge automàtic, es destaca que es va utilitzar el codi base disponible als repositoris públics de GitHub. Després de preparar el model inicial, es va fer una fase d'optimització a partir d'una col·lecció de codi amb exemples de problemes i solucions ofertes als participants dels concursos Codeforces, CodeChef, HackerEarth, AtCoder i Aizu.

En total, per a la formació d'AlphaCode es van utilitzar 715 GB de codi de GitHub i més d?un milió d?exemples de solucions a problemes típics de la competència. Abans de passar a la generació de codi, el text de la tasca va passar per una fase de normalització, en què es va excloure tot allò superflu i només van quedar les parts significatives.

Per provar el sistema, es van seleccionar 10 concursos nous de Codeforces amb més de 5.000 participants, realitzats després de completar l'entrenament del model d'aprenentatge automàtic.

Puc dir amb seguretat que els resultats d'AlphaCode van superar les meves expectatives. Era escèptic perquè fins i tot en problemes competitius simples, sovint cal no només implementar l'algorisme, sinó també (i aquesta és la part més difícil) inventar-lo. AlphaCode va aconseguir exercir-se al nivell d'un nou competidor prometedor. No puc esperar a veure què ha de venir!

MIKE MIRZAYANOV

FUNDADOR DE CODEFORÇOS

Els resultats de les assignacions van permetre que el sistema AlphaCode ingressés aproximadament a la meitat de la qualificació d'aquestes competències (54,3%). La qualificació general prevista d'AlphaCode va ser de 1238 punts, cosa que garanteix l'entrada al Top 28% entre tots els participants de Codeforces que van participar en competències almenys una vegada en els darrers 6 mesos.

Cal ressaltar que s'observa que el projecte encara es troba a l'etapa inicial de desenvolupament i que en el futur es planeja millorar la qualitat del codi generat, així com desenvolupar AlphaСode cap a sistemes que ajudin a escriure codi, o eines de desenvolupament d'aplicacions que les persones sense habilitats de programació poden utilitzar.

Finalment si estàs interessat en poder conèixer més a l'respecte, has de saber que una característica clau del desenvolupament és la capacitat de generar codi a Python o C++, prenent com a entrada de text amb un enunciat del problema en anglès.

Pots consultar els detalls en el següent enllaç.


El contingut d'l'article s'adhereix als nostres principis de ètica editorial. Per notificar un error punxa aquí.

Sigues el primer a comentar

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.