La Inteligencia Artificial está sorprendiendo con aplicaciones que ni nos imaginábamos y, a veces, los asombrados son los investigadores.
Por: Laszlo Beke
Presidente de la Junta Directiva de Beke Santos
La Inteligencia Artificial (IA) hoy ya puede hacer que una palabra o un conjunto de palabras generen el código de un programa que, con una letra, pueda predecir la instrucción que el programador piensa escribir y que, leyendo el código de un programa, pueda explicar en idioma natural lo que el programa hace.
También asombra que un sistema de IA comenzó a realizar estas tareas cuando los investigadores buscaban otro objetivo, tal como le ocurrió a Pfizer con Viagra.
La profesión de programador es una de las más modernas y se ha tornado muy relevante en el mundo, estimándose que existen en la actualidad 24 millones desarrolladores y se agregarán otros 5 millones para el año 2024.
Simultáneamente, ha aparecido IA con la posibilidad de convertir cualquier idea en código de programación en forma automática.
¿Es ésta una amenaza? ¿Podría más bien ser un refuerzo que facilite el trabajo de los programadores?
Es fascinante conocer como esto ha ocurrido y el impacto que pueda tener incluso la aparición del “Ciudadano Desarrollador”.
Es importante comenzar con algunos antecedentes.
Hace unos cuatro años, investigadores en laboratorios como OpenAI comenzaron a diseñar redes neurales que analizaban inmensas cantidades de prosa, incluyendo miles de libros, artículos de Wikipedia y todo tipo de textos en Internet.
A las redes se les proveyó de todos los idiomas, sin enseñarle reglas de ninguno.
La lnteligencia Artificial, sin embargo, logró identificar patrones en todo el texto y las redes aprendieron a predecir la próxima palabra en una secuencia.
Cuando alguien escribe unas pocas palabras estos “modelos de idioma universal” pueden completar los pensamientos con párrafos completos.
De esta manera GPT-3, un invento de OpenAI, puede escribir sus propios tuits, discursos, poesía y noticias.
La IA está sorprendiendo con aplicaciones que ni nos imaginábamos y, en este caso, los asombrados fueron los investigadores del sistema.
Este podía escribir sus propios programas de computación, cortos y simples.
Como un niño, aparentemente, había aprendido de una cantidad de programas publicados en Internet.
GPT-3
OpenAI es un laboratorio de Inteligencia Artificial, con una composición accionaria mixta: una parte comercial y otra sin fines de lucro.
Allí se desarrolló el software GPT-3 (Transformador Generativo Pre-entrenado-3), el cual fue codificado con una extraordinaria masa de texto.
Se creó ese modelo de lenguaje, resultado del aprendizaje de la probabilidad sobre cuál palabra específica se encontraría a continuación de palabras precedentes y, también, para predecir cual sería la próxima letra en un texto.
El acceso a GPT-3 es restringido, ya que se puede correr el riesgo de producir “fake news” en masa o inundar las redes sociales con “trolls” provocadores. El año pasado el laboratorio comenzó a vender su producto a empresas aprobadas para usos específicos.
Múltiples empresas están usando GPT-3 para agregar IA al software que sus programadores usan para escribir código.
OpenAI Codex
OpenAI decidió extender la capacidad de GPT-3 con un nuevo sistema, OpenAI Codex y este es un descendiente directo de GPT-3 perfeccionado para tareas de programación.
Su data de entrenamiento contiene material con lenguaje natural y miles de millones de líneas de código provenientes de fuentes públicas disponibles, incluyendo código en los repositorios públicos de GitHub.
OpenAI Codex es más poderoso en Python, pero también es experto en más de una docena de lenguajes incluyendo:
- JavaScript
- Go
- Perl
- PHP
- Ruby
- Swift and TypeScript
- E, incluso, Shel
OpenAI Codex traduce lenguaje natural a código y es especiamente fuerte generando programas simples como respuesta a descripciones cortas en inglés. Igualmente funciona en el otro sentido: explicando código complejo en inglés simple.
También traduce de un lenguaje de programación a otro.
Puede ayudar a novatos o a “Ciudadanos Desarrolladores” a aprender a codificar y es una herramienta que terminará promoviendo la productividad.
En este punto, se estima que OpenAI Codex ya produce el código correcto el 37% del tiempo.
GitHub Copilot
Github es el principal hospedaje de código fuente con 56 millones de usuarios y tiene más de 28 millones de repositorios públicos (lugares donde se almacenan paquetes de software).
Github, que es propiedad de Microsoft, compró una licencia para el uso de GPT en septiembre y decidió entrenar el software en el código fuente que almacena.
OpenAI Codex es el modelo que empodera a GitHub Copilot, el cual se construyó en sociedad con Github hace sólo un mes.
Copilot que puede proveer buenas soluciones, aun cuando se requiere hacer adaptaciones ocasionalmente.
Los codificadores que lo usen están aprovechando la sabiduría colectiva de programadores profesionales, cuyos programas se encuentran en GitHub.
Iniciativas en marcha
1.- Tabnine
El software puede detectar que un usuario empezó a escribir código para órdenes de compra, comienza a sugerir código para nombres y precios de productos; y código para crear campos para cantidades, pagos y entregas.
2.- Visual Studio
Microsoft liberó una versión con un nueva funcionalidad IA predictiva que completa lo que programador escribe.
3.- Kite
Su funcionalidad Inteligencia Artificial predictiva reduce el número de tecleos en 50%.
4.- SourceAI
El usuario escribe una solicitud de código en lenguaje natural y recibe el programa en varios lenguajes.
5.- Debuild
Personas que no conocen programación escriben en inglés simple el programa que desean crear y lo escribe para ellos.
6.- New York University
Desarrolla un proceso de detección de errores (bugs) en los programas.
El objetivo es entrenar al modelo para que detecte los errores involuntarios y también las vulnerabilidades insertadas a propósito.
Esto es importante, ya que adicionalmente el uso de IA puede generar errores extremadamente sutiles que pueden resultar muy difíciles de identificar.