Google DeepMind lanzó la semana pasada AlphaCode 2, una actualización de AlphaCode, junto con Gemini. Esta versión ha mejorado las capacidades de resolución de problemas para la programación competitiva. El año pasado, cuando se lanzó AlphaCode, se comparó con Tabnine, Codex y Copilot. Pero con esta actualización AlphaCode definitivamente está muy por delante.
AlphaCode 2 aborda la resolución de problemas mediante el uso de un conjunto de “modelos de políticas” que producen varios ejemplos de código para cada problema. Luego elimina muestras de código que no coinciden con la descripción del problema. AlphaCode 2 emplea un enfoque multimodal que integra datos de diversas fuentes, incluidos documentos web, libros, recursos de codificación y contenido multimedia.
Este enfoque se ha comparado con el curioso Q* de OpenAI. En lugar de ser una herramienta que regurgita información, se rumorea que Q* puede resolver problemas matemáticos que nunca antes se habían visto. Se especula que la tecnología será un avance en la resolución de problemas matemáticos básicos, una tarea desafiante para los modelos de IA existentes.
Ahora bien, si bien Q* es sólo una especulación, AlphaCode tuvo un desempeño mejor que el 85% de los competidores en promedio. Resolvió el 43 % de los problemas en 10 intentos en 12 concursos de codificación con más de 8000 participantes, duplicando la tasa de éxito, ya que la tasa de éxito del AlphaCode original era del 25 %.
Sin embargo, como cualquier modelo de IA, AlphaCode 2 tiene sus limitaciones. El documento técnico señala que AlphaCode 2 implica prueba y error sustancial, opera con altos costos a escala y depende significativamente de su capacidad para descartar muestras de código claramente inapropiadas. El documento técnico sugiere que la actualización a una versión más avanzada de Gemini, como Gemini Ultra, podría solucionar algunos de estos problemas.
Lo que distingue a AlphaCode 2
El Informe Técnico AlphaCode 2 presenta mejoras significativas. Mejorado por el modelo Gemini, AlphaCode 2 resuelve 1,7 veces más problemas y supera el 85% de los participantes en programación competitiva. Su arquitectura incluye potentes modelos de lenguaje, modelos de políticas para la generación de código, mecanismos para muestreo diverso y sistemas para filtrar y agrupar muestras de código.
Para reducir la redundancia, un algoritmo de agrupación agrupa muestras de código que son “semánticamente similares”. El paso final implica un modelo de puntuación dentro de AlphaCode 2, que identifica la solución más adecuada entre los 10 grupos más grandes de muestras de código, formando la respuesta de AlphaCode 2 al problema.
El proceso de ajuste consta de dos etapas utilizando el objetivo de entrenamiento GOLD. El sistema genera una gran cantidad de ejemplos de código por problema, priorizando C++ por su calidad. La agrupación en clústeres y un modelo de puntuación ayudan a seleccionar soluciones óptimas.
Probado en Codeforces, AlphaCode 2 muestra mejoras de rendimiento notables. Sin embargo, el sistema aún enfrenta desafíos en materia de prueba y error y costos operativos, lo que marca un avance significativo en el papel de la IA en la resolución de problemas de programación complejos.
En comparación con otros generadores de códigos, AlphaCode 2, a diferencia de sus homólogos, muestra una fortaleza única en la programación competitiva. Por otro lado, GitHub Copilot, impulsado por OpenAI Codex, sirve como un asistente de codificación más amplio. Codex, un sistema de inteligencia artificial desarrollado por OpenAI, es particularmente hábil en la generación de código debido a su capacitación en una amplia gama de códigos fuente públicos.
En el campo emergente, otras herramientas notables como Llemma de EleutherAI y Code Llama de Meta aportan sus distintas ventajas. Llemma, con su modelo de 34 mil millones de parámetros, se especializa en matemáticas, superando incluso a Minerva de Google. Code Llama, basado en Llama 2, se centra en permitir el desarrollo de código abierto de asistentes de codificación de IA, ofreciendo una ventaja única en la creación de herramientas de IA específicas para la empresa.
AlphaCode 2 tiene un enfoque diferente en comparación con otras herramientas de codificación de IA. Utiliza aprendizaje automático, muestreo de código y estrategias de resolución de problemas para una programación competitiva. Estas funciones están diseñadas para problemas de codificación complejos. Otras herramientas como GitHub Copilot y Llemma de EleutherAI se centran en ayuda general de codificación y problemas matemáticos.
Una competencia reñida
Para OpenAI, Q* representa un avance significativo en IA capaz de resolver problemas matemáticos que no se había visto antes. Este avance, que involucró el trabajo de Sutskever, condujo a la creación de modelos con capacidades mejoradas para resolver problemas.
Sin embargo, el rápido avance de esta tecnología ha generado preocupación dentro de OpenAI sobre el ritmo del progreso y la necesidad de salvaguardias adecuadas para modelos de IA tan poderosos. Si bien tanto AlphaCode 2 de Google DeepMind como el especulado Q* representan avances significativos en IA, aún no están ampliamente disponibles para el público.