Contenido ofrecido por
Aeternal Mentis

Crean una Inteligencia Artificial capaz de resolver problemas mejor que un programador promedio humano

Un sistema desarrollado por Alphabet logra superar al 54% de los participantes en competiciones de programación.

Guardar

IA Alphacode
IA Alphacode

Crear soluciones a problemas imprevistos es una segunda naturaleza en la inteligencia humana, un resultado del pensamiento crítico informado por la experiencia. La comunidad de aprendizaje automático ha logrado un gran progreso en la generación y comprensión de datos textuales, pero los avances en la resolución de problemas siguen limitados a problemas matemáticos y de programación relativamente simples, o bien a la recuperación y copia de soluciones existentes.

DeepMind (empresa de Inteligencia Artificial propiedad de Alphabet) ha creado un sistema llamado AlphaCode, que escribe programas de computadora a nivel competitivo. AlphaCode logró una clasificación estimada dentro del 54% superior de los participantes en competiciones de programación al resolver nuevos problemas que requieren una combinación de pensamiento crítico, lógica, algoritmos, codificación y comprensión del lenguaje natural.

Validan su desempeño utilizando competencias organizadas en Codeforces, una plataforma popular que organiza competencias regulares que atraen a decenas de miles de participantes de todo el mundo que acuden a probar sus habilidades de codificación. Seleccionan para evaluación 10 concursos recientes, cada uno más nuevo que sus datos de entrenamiento. AlphaCode se colocó aproximadamente al nivel del competidor medio, lo que marca la primera vez que un sistema de generación de código de IA alcanza un nivel competitivo de rendimiento en competencias de programación.

Para ayudar a otros a desarrollar sus resultados, están publicando un conjunto de datos de problemas y soluciones de programación competitivos en GitHub, incluidas pruebas exhaustivas para garantizar que los programas que pasan estas pruebas sean correctos, una característica crítica de la que carecen los conjuntos de datos actuales. Con ello esperan que este punto de referencia conduzca a más innovaciones en la resolución de problemas y la generación de código.

Competiciones de programación

La programación competitiva es una actividad popular; cientos de miles de programadores participan en concursos de codificación para ganar experiencia y mostrar sus habilidades. Durante las competiciones, los participantes reciben una serie de largas descripciones de problemas y cuentan con unas pocas horas para escribir programas con los que resolverlos. Los problemas típicos incluyen encontrar formas de colocar carreteras y edificios dentro de ciertas restricciones, o crear estrategias para ganar juegos de mesa personalizados. Luego, los participantes se clasifican principalmente en función de la cantidad de problemas que resuelven. Las empresas utilizan estos concursos como herramientas de contratación de ingenieros de software.

Las habilidades de resolución de problemas requeridas para sobresalir en estas competiciones están más allá de las capacidades de los sistemas de IA existentes. Sin embargo, al combinar los avances en modelos de transformadores a gran escala (que recientemente han mostrado capacidades prometedoras para generar código) con muestreo y filtrado a gran escala, han logrado un progreso significativo en la cantidad de problemas que pueden resolver.

Gráfico, Gráfico de líneasDescripción generada automáticamente

Para que la inteligencia artificial ayude a la humanidad, sus sistemas deben poder desarrollar capacidades de resolución de problemas. AlphaCode se clasificó dentro del 54 % superior en competiciones de programación del mundo real, un avance que demuestra el potencial de los modelos de aprendizaje profundo para tareas que requieren pensamiento crítico. Estos modelos aprovechan elegantemente el aprendizaje automático moderno para expresar soluciones a problemas como código, volviendo a la raíz del razonamiento simbólico de la IA de hace décadas. Y esto es sólo un comienzo. Su exploración de la generación de código deja un amplio espacio para la mejora y sugiere ideas que podrían ayudar a los programadores a mejorar su productividad y abrir el campo a personas que actualmente no escriben código. Continuarán esta exploración y, con ella, esperan que más investigaciones den como resultado herramientas para mejorar la programación y acercarse así a una IA que resuelve problemas.

“Resolver problemas de programación competitivos es algo realmente difícil de hacer, que requiere tanto buenas habilidades de codificación como creatividad para resolver problemas en los humanos. Me impresionó mucho que AlphaCode pudiera progresar en esta área y me entusiasmó ver cómo el modelo usa su comprensión de declaraciones para producir código y guiar su exploración aleatoria para crear soluciones”, ha afirmado Petr Mitrichev, ingeniero de Software, Google y programador competitivo de clase mundial.