Así funciona AlphaCode: una AI con la capacidad para programar

Curso de Fundamentos de Redes Neuronales con Python y Keras

Toma las primeras clases gratis

COMPARTE ESTE ARTÍCULO Y MUESTRA LO QUE APRENDISTE

Si te gusta la inteligencia artificial y el desarrollo de software este blog es para ti. Algunas plataformas como codeforces nacen para crear retos de programación, donde la idea principal es resolver un reto expresado con un texto en determinado lenguaje de programación.

En estos retos se espera que, además de resolverlos, haya un un tiempo de ejecución determinado para cuidar los recursos del sistema, y la verdad es que es más complicado de lo que suena 💆‍♂️. Lo interesante acá es que AlphaCode del equipo de DeepMind lo logra en segundos.

¿En qué consiste AlphaCode?

AlphaCode es una inteligencia artificial que utiliza el procesamiento de lenguaje natural para entender el enunciado del problema y también los pares de input/output de ejemplo de dicho problema, con el fin de entender el contexto de lo que se requiere.

Supongamos que tenemos el siguiente reto:

Untitled(1).png

Imagina que todo esto lo puede procesar directamente AlphaCode, para generar una solución escrita en un lenguaje de programación, ya sea Python o C++ (solo estos dos lenguajes hasta el momento).

Acá viene un dato aún más asombroso 🤯: AlphaCode no solo genera una única solución para el problema, genera múltiples soluciones y las evalúa para elegir la mejor.

Untitled(2).png

¿Como funciona este algoritmo?

Te lo explico en 4 pasos:

  1. El modelo es entrenado con una basta cantidad de repositorios de GitHub con el fin de aprender la sintaxis del código. Este repositorio tiene al menos 700GB de información.
  2. Al no tener una basta cantidad de datasets competitivos, el equipo de DeepMind creó un dataset competitivo para especializar al modelo y mejorar el performance en cuanto a competencias. A este dataset se le llamó CodeContests.
  3. El modelo genera múltiples soluciones al problema.
  4. Las soluciones son evaluadas con las salidas del reto y descartadas para aquellas que no cumplan con el objetivo hasta seleccionar los candidatos de código ideales.
Untitled(3).png

¿Cuáles fueron los resultados de AlphaCode en las competencias de desarrollo?

El modo de evaluar el performance de AlphaCode se hizo con 10 distintas competencias y 10 candidatos por cada competencia, de los cuales se obtiene su promedio. El candidato con mejor resultado y el candidato con el peor, tal como se ve en la tabla.

Para estas soluciones se probaron distintas versiones de AlphaCode a distintas cantidades de parámetros para testear el escalamiento. En promedio, AlphaCode se encuentra entre el top 54.3 % de las competencias, lo que es bastante bueno, recordemos que entre menor el número, mejor el performance del modelo.

Untitled(4).png
Untitled(5).png

¿Puede AlphaCode poner fin al desarrollo como profesión?

De los primeros pensamientos que llegan a la cabeza al ver modelos como AlphaCode, Codex del equipo de OpenAI, GPT3, Github Copilot y un largo etcétera es: “ohh no, es el fin de los desarrolladores”.

Esta es una discusión extensa y de muchos matices, pero en lo personal solo la veo como una herramienta que puede llevar el desarrollo de software a otro nivel sin atentar contra la profesión. El desarrollo sigue siendo un arte cuyo motor es la creatividad y es muy difícil que sea reemplazado por completo. Por supuesto, estos modelos de AI pueden ayudarnos con tareas repetitivas y no cae nada mal.

Te invito a dejar tus opiniones en el sistema de comentarios o mis redes sociales, pues es una conversación muy interesante en la industria 🙂

Si te interesa conocer más acerca de este tema, te recomiendo leer estos contenidos.

En caso de que quieras descubrir qué son las redes neuronales artificiales, te invito a tomar el Curso de redes Neuronales de Python y Keras, donde explico sus fundamentos.

¡Sígueme en Instagram/Twitter como @alarcon7a, hasta una próxima!

Curso de Fundamentos de Redes Neuronales con Python y Keras

Toma las primeras clases gratis

COMPARTE ESTE ARTÍCULO Y MUESTRA LO QUE APRENDISTE

0 Comentarios

para escribir tu comentario

Artículos relacionados