Gemini fue creado desde cero para que sea multimodal de forma nativa, incluyendo algo bastante importante: que escriba código. Es capaz de comprender, explicar y generar sistemáticamente código correcto en la mayoría de los lenguajes de programación, como Python, Java y Go. Mejora de esta forma, significativamente las habilidades de programación de los modelos anteriores. 

Gemini, por sí mismo, tiene la capacidad de transformar el desarrollo de software tal y como lo conocemos, pero también puede implementarse como un componente clave de sistemas más sofisticados. Esto con AlphaCode 2, un sistema avanzado de generación de código con un rendimiento mejorado enormemente gracias a Gemini y que hace un gran trabajo en la resolución de problemas de programación competitiva que implican matemática e informática teórica complejas.

En una comparativa con 200 funciones programadas en Python, resuelve sistemáticamente en torno a un 75% de ellas en el primer intento, frente a prácticamente un 45% con PaLM 2. «Si dejas que Gemini revise y corrija sus propias respuestas, este porcentaje aumenta hasta más del 90%, lo que supone un enorme paso adelante. Te puede ayudar a crear y hacer un prototipo de nuevas ideas en cuestión de segundos. Si quiero crear una aplicación web, puedo pedírselo y tener un prototipo funcional en menos de un minuto. Aunque el código no es perfecto, es muy útil como primer borrador», explicó Gabriela Surita, ingeniera de Google DeepMind Research, sobre sus capacidades de codificación avanzada. 

Nueva versión especializada soluciona problemas más complejos

El científico de Google Research, Rémi Leblond, comentó que «a Gemini se le da genial programar, pero hemos podido llevarlo más lejos, creando una versión especializada que ofrece unos resultados notables en la programación competitiva. Tenemos miles de programadores con talento de todo el mundo que se reúnen para competir e intentar resolver problemas extremadamente complejos que requieren no solo programación, sino matemáticas y razonamiento».
Hace dos años presentaron AlphaCode allí y fue el primer sistema de IA que podía competir prácticamente al mismo nivel que un participante promedio y estimaron que su nueva versión, AlphaCode2 tiene mejor rendimiento que el 85% de los participantes.

Para los desarrolladores se trataba de un tema «complejo» uno que pusieron para que lo solucione, porque en la competición original en la que apareció el problema menos del 0,2% de los participantes logró resolverlo. Lo realmente increíble es que, para resolverlo, AlphaCode2 usó programación dinámica, una técnica algorítmica avanzada, que básicamente simplifica un problema complejo descomponiéndose en sub problemas más simples una y otra vez.

«Lo impresionante es que AlphaCode2 no sólo sabe cómo implementar esta estrategia correctamente, sino que también sabe cuándo y dónde usarla. El ejemplo nos demuestra que la programación competitiva no se reduce exclusivamente a la implementación, sino que también abarca compresión, matemáticas, informática y, por supuesto, programación. Esto lo convierte en una tarea de razonamiento extremadamente compleja», dijo el experto.

Mejora de rendimiento en la programación
Los modelos son muy buenos siguiendo instrucciones, pero AlphaCode necesita mostrar cierto grado de comprensión, determinado nivel de razonamiento y el diseño de soluciones de código, antes de pasar a la implementación real para resolver el problema y lo hace en problemas que no ha visto nunca.
Otro aspecto increíble de AlphaCode es que da mejores resultados al colaborar con programadores humanos que puedan aportar elementos básicos.
Básicamente, los desarrolladores pueden especificar propiedades que los códigos de ejemplo tienen que cumplir y, cuando lo hacen, comprueban que el rendimiento mejora significativamente, en opinión de ambos expertos.
«Este tipo de interacción entre programadores y sistemas de IA es el futuro de la programación, donde los programadores no solo dan instrucciones, sino que realmente colaboran con modelos de IA muy capaces que pueden razonar sobre sus problemas, proponer diseños de código e incluso ayudar con la implementación real», explicó Leblond.
AlphaCode2 se creó para la programación competitiva, pero ya trabajan para llevar algunas de estas capacidades excepcionales a los modelos generales de Gemini, como primer paso para poner este nuevo paradigma de programación a disposición de todos.

Si le interesa conocer y aplicar las últimas tendencias de Google, puede contactarse con nosotros a marketing@olam.com.py y vea todo lo que podemos ofrecerle desde el Grupo OLAM.