DeepMind ha creado un sistema de inteligencia artificial llamado AlphaCode que dice "escribe programas de computadora a un nivel competitivo". El sistema se probó contra los desafíos de codificación utilizados en la competencia humana y se encontró entre el 54% superior del programa.
Este es un importante paso adelante para la codificación fuera de línea según DeepMind, aunque las habilidades de AlphaCode no son necesariamente representativas de las tareas de programación que enfrenta el codificador promedio.
Oriol Vinyals, científico jefe de DeepMind, señala que la investigación aún se encuentra en sus primeras etapas, pero sus hallazgos acercaron a la empresa a la construcción de IA flexible para resolver problemas de codificación complejos. "Estamos entusiasmados con el potencial de AlphaCode para ayudar a programadores y no programadores a escribir código, mejorar la productividad o crear nuevas formas de crear software", dijo Vinyals.
En un problema de ejemplo en el que se probó AlphaCode, se pidió a los participantes que encontraran una manera de convertir una sola cadena de letras repetidas al azar s y t usando un conjunto limitado de entradas:
“Se le dan dos cadenas s y t, cada una de las cuales consta de letras latinas minúsculas. Va a imprimir la cadena carácter por carácter, comenzando con el primer carácterminando con el último.
Cuando esté a punto de escribir un carácter, en lugar de presionar el botón que imprime ese carácter, puede presionar el botón "Retroceso". Al pulsar este botón se borra el último carácter escrito que aún no se ha borrado (o no hace nada si se han borrado todos los caracteres ya impresos o aún no se ha escrito ningún carácter). Por ejemplo, si la cadena s es "abcbd" y presiona el botón Retroceso en lugar de imprimir el primer y cuarto carácter, el resultado será la cadena "bd" (la primera pulsación de Retroceso no eliminará ningún carácter y la segunda presionar este botón borrará el carácter "c"). Otro ejemplo: si s es "abcaa" y presiona Retroceso en lugar de las dos últimas letras, es "a".
Debe determinar si puede obtener la cadena t si intenta escribir la cadena s presionando Retroceso en lugar de presionar los botones correspondientes a algunas (posiblemente ninguna) de las letras en la cadena s".
AlphaCode generó más respuestas posibles y las eliminó ejecutando el código y verificando la salida, tal como lo haría un competidor humano.
El sistema se probó en 10 problemas, que fueron resueltos por 5000 usuarios en el sitio web de Codeforces. En promedio, se ubica en el 54,3% superior de las respuestas.
DeepMind señala que el conjunto de habilidades actual de AlphaCode actualmente solo es aplicable al campo de la programación competitiva, pero sus capacidades abren la puerta a la creación de herramientas futuras que harán que la programación sea más accesible.
Muchas otras empresas están trabajando en aplicaciones similares. Por ejemplo, en agosto de 2021, OpenAI lanzó Codex, un nuevo sistema que convierte automáticamente frases sencillas en inglés en código. Codex se basa en GPT-3.
Sin embargo, hasta ahora, los sistemas están lejos de hacerse cargo simplemente del trabajo de los programadores humanos. El código que producen a menudo tiene errores y, dado que los algoritmos generalmente se entrenan en bibliotecas de código públicas, a veces reproducen material protegido por derechos de autor.
Entonces, en junio de 2021, Microsoft y GitHub presentaron el asistente de programación Copilot basado en la red neuronal Codex de Open AI. El sistema está capacitado para trabajar con varios marcos y lenguajes de programación. En agosto, se lanzó una versión mejorada del Codex, que traduce frases en inglés a código de programa.
Los desarrolladores notaron que el asistente de red neuronal genera líneas a partir de proyectos de código abierto, sin obedecer la licencia original. También se quejaron de que Copilot generó docenas de líneas de citas y comentarios de proyectos de código abierto en lugar de solo unas pocas líneas de código. GitHub aclaró que Copilot no suele reproducir fragmentos de código exactos, sino que crea trabajos derivados a partir de entradas recibidas previamente. La compañía afirma que esto sucede solo el 0,1% de las veces.
GitHub luego admitió que al entrenar a Copilot, los desarrolladores usaron todo el código público disponible en los repositorios del servicio, independientemente del tipo de licencia.
También resultó que alrededor del 40% del código producido por Copilot contiene errores y vulnerabilidades.
bbabo.Net