DeepMind, una empresa de inteligencia artificial con sede en el Reino Unido, ha enseñado a algunas de sus máquinas a escribir software de computadora, y se desempeña casi tan bien como un programador humano promedio cuando se lo juzga en competencia.

DeepMind afirma que el nuevo sistema AlphaCode es capaz de resolver problemas de software que requieren una combinación de lógica, pensamiento crítico y la capacidad de comprender el lenguaje natural. La herramienta se inscribió en 10 rondas en el sitio web de competencia de programación Codeforces, donde los participantes humanos prueban sus habilidades de codificación. En estas 10 rondas, AlphaCode se ubicó aproximadamente al nivel del competidor mediano. DeepMind dice que esta es la primera vez que un sistema de escritura de código de IA alcanza un nivel competitivo de rendimiento en concursos de programación.

AlphaCode se creó entrenando una red neuronal en muchas muestras de codificación, obtenidas del repositorio de software GitHub y de participantes anteriores de competencias en Codeforces. Cuando se le presenta un problema novedoso, crea una gran cantidad de soluciones en los lenguajes de programación C++ y Python. Luego los filtra y los clasifica en un top 10. Cuando se probó AlphaCode en la competencia, los humanos evaluaron estas soluciones y presentaron las mejores.

La generación de código es un problema particularmente espinoso para la IA porque es difícil evaluar qué tan cerca del éxito está una salida en particular. El código que falla y, por lo tanto, no logra su objetivo podría estar a un solo carácter de distancia de una solución que funciona perfectamente, y varias soluciones que funcionan pueden parecer radicalmente diferentes. Resolver concursos de programación también requiere una IA para extraer el significado de la descripción de un problema escrito en inglés.

GitHub, propiedad de Microsoft, creó una herramienta similar pero más limitada el año pasado llamada Copilot. Millones de personas usan GitHub para compartir código fuente y organizar proyectos de software. Copilot tomó ese código y entrenó una red neuronal con él, lo que le permitió resolver problemas de programación similares.

Pero la herramienta fue controvertida ya que muchos afirmaron que podría plagiar directamente estos datos de entrenamiento. Armin Ronacher, de la empresa de software Sentry, descubrió que era posible incitar a Copilot a sugerir un código protegido por derechos de autor del juego de computadora de 1999 Quake III Arena, junto con comentarios del programador original. Este código no se puede reutilizar sin permiso.

En el lanzamiento de Copilot, GitHub dijo que alrededor del 0,1 por ciento de sus sugerencias de código pueden contener «algunos fragmentos» de código fuente textual del conjunto de entrenamiento. La compañía también advirtió que es posible que Copilot genere datos personales genuinos, como números de teléfono, direcciones de correo electrónico o nombres, y que el código generado puede ofrecer «resultados sesgados, discriminatorios, abusivos u ofensivos» o incluir fallas de seguridad. Dice que el código debe ser examinado y probado antes de su uso.

AlphaCode de DeepMind excede las expectativas

AlphaCode, como Copilot, se entrenó por primera vez en código disponible públicamente alojado en GitHub. Luego se afinó en el código de las competencias de programación. DeepMind dice que AlphaCode no copia el código de ejemplos anteriores. Dados los ejemplos que DeepMind proporcionó en su artículo preliminar, parece resolver problemas y solo copia un poco más de código de los datos de entrenamiento que los humanos, dice Riza Theresa Batista-Navarro de la Universidad de Manchester, Reino Unido.

Pero AlphaCode parece haber sido ajustado tan finamente para resolver desafíos complejos que el estado del arte anterior en herramientas de codificación de IA aún puede superarlo en tareas más simples, dice.

“Lo que noté es que, si bien AlphaCode puede hacerlo mejor que las IA de última generación como GPT en los desafíos de la competencia, lo hace comparativamente mal en los desafíos introductorios”, dice Batista-Navarro.

“La suposición es que querían hacer problemas de programación a nivel de competencia, para abordar problemas de programación más desafiantes en lugar de los introductorios. Pero esto parece mostrar que el modelo se afinó tan bien en los problemas más complicados que, en cierto modo, se olvidó de los problemas de nivel introductorio”.

DeepMind no estuvo disponible para la entrevista, pero Oriol Vinyals de DeepMind dijo en un comunicado: “Nunca esperé que ML [aprendizaje automático] alcanzara el promedio humano entre los competidores. Sin embargo, indica que todavía queda trabajo por hacer para alcanzar el nivel de los mejores y avanzar en las capacidades de resolución de problemas de nuestros sistemas de IA”.

Print Friendly, PDF & Email