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.
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:
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.
Te lo explico en 4 pasos:
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.
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!
Interesante conocer de estos temas, en mi humilde opinión que estoy empezando el camino de la programación, lo veo como el hecho de cómo funcionan muchas cosas, es decir, el poder lo tiene quién posee el conocimiento, pueda que existan las herramientas pero sino se las sabe usar no sirven, necesitará de alguien que si, y para eso nos preparamos.
Siento que AlphaCode, GATO, Dall-E y otras herramientas son muestras de poder previas a la explosión de la tecnología a un nuevo nivel; se muestran como utilidades y curiosidades para los usuarios finales pero reflejan el potencial de la tecnología en su estado del arte, solo es cuestión de un par de años para que la todas estas “curiosidades” se implementen corporativamente y veamos una nueva revolución en el software.
Interesante, buen articulo/!!
Triste pero cierto
Yo recien estoy aprendiendo programacion y me encuentro con esto😟
Al parecer esta AI va a dejar sin a trabajos a los programadores junior
No creo, en realidad creo que los hara más avidos de conocimiento y deseo constante de superación. Pero hará que sea más difícil emplearse a aquellos que no se actualicen.
Que potente esta IA 🔥
La mayoría de estas IA solo replican información que ya se les ha dado para entrenar su modelo. Cuando comiencen a crear desde la nada, aprender desde cero como un niño lo hace ahí si hay que preocuparse. Por ahora son solo herramientas para quien las pueda pagar.
Es fascinante como se desarrollan herramientas como éstas para facilitar la ejecución de tareas. En este caso la escritura de código. Sin embargo concuerdo contigo en cuanto a que no es “el fin del desarrollo”, sino más bien una herramienta que lo puede facilitar.
.
Esto me recuerda a una entrevista que le hicieron a un científico de la computación, el cual le preguntaron si algún día las AI podrían replicar el funcionamiento de la mente humana.
.
Este científico declaró: “… No podemos replicar algo que no sabemos todavía como funciona en su totalidad.”
A quiénes les pueda generar cierto miedo el “Perder su profesión” por lo leído en este artículo, les dejaré algo que capaz les levante el ánimo, cómo hizo conmigo:
"El que piense que el código va a desaparecer es como el matemático que espera que un día las matemáticas no sean formales. Esperan descubrir una forma de crear máquinas que hagan lo que queramos en lugar de lo que digamos. Estas máquinas tendrían que entendernos de tal forma que puedan traducir necesidades ambiguas en programas perfectamente ejecutados que satisfagan dichas necesidades a la perfección.
Esto nunca sucedera. Ni siquiera los humanos, con toda su intuición y creatividad, han sido capaces de crear sistemas satisfactorios a partir de las sensaciones de sus clientes. En realidad, si la disciplina de la especificación de requisitos nos ha enseñado algo, es que los requisitos bien especificados son tan formales como el código y que pueden actuar como pruebas ejecutables de dicho código"
Básicamente, aún teniendo inteligencias artificiales capaces de codificar, la precisión de los requisitos de nuestros programas tendría que ser tan formal y no ambigua, que terminaríamos escribiendo código (Pero en lenguaje natural). Es decir, prácticamente, seguiríamos programando. Por ello, el código nunca desaparecera.
Muy interesante
Muy interesante Alpha Code y Algoritmo