DeepMind presentó un sistema de aprendizaje automático para generar código a partir de una descripción textual de una tarea

La empresa DeepMind, conocida por sus desarrollos en el campo de la inteligencia artificial y la construcción de redes neuronales capaces de jugar juegos de ordenador y de mesa a nivel humano, presentó el proyecto AlphaCode, que desarrolla un sistema de aprendizaje automático para generar código, capaz de participar en concursos de programación en la plataforma Codeforces y demostrar un resultado promedio. Una característica clave del desarrollo es la capacidad de generar código en Python o C++, tomando como entrada un texto con un planteamiento del problema en inglés.

Para probar el sistema, se seleccionaron 10 nuevos concursos de Codeforces con más de 5000 participantes, que se llevaron a cabo después de completar el entrenamiento del modelo de aprendizaje automático. Los resultados de las tareas permitieron al sistema AlphaCode ingresar aproximadamente a la mitad de la calificación de estas competiciones (54.3%). La calificación general prevista de AlphaСode fue de 1238 puntos, lo que garantiza la entrada al 28% superior entre todos los participantes de Codeforces que han participado en competiciones al menos una vez en los últimos 6 meses. Cabe señalar que el proyecto aún se encuentra en la etapa inicial de desarrollo y en el futuro se planea mejorar la calidad del código generado, así como desarrollar AlphaCode hacia sistemas que ayuden en la escritura de código, o herramientas de desarrollo de aplicaciones que puedan ser utilizado por personas sin conocimientos de programación.

El proyecto utiliza la arquitectura de red neuronal Transformer en combinación con técnicas de muestreo y filtrado para generar varias variantes de código impredecibles que corresponden al texto en lenguaje natural. Después de filtrar, agrupar y clasificar, el código de trabajo más óptimo se elimina del flujo de opciones generado, que luego se verifica para garantizar que se obtenga el resultado correcto (cada tarea de competencia indica un ejemplo de datos de entrada y el resultado correspondiente a este ejemplo , que se debe obtener después de ejecutar el programa).

DeepMind presentó un sistema de aprendizaje automático para generar código a partir de una descripción textual de una tarea

Para entrenar aproximadamente el sistema de aprendizaje automático, utilizamos una base de código disponible en repositorios públicos de GitHub. Tras elaborar el modelo inicial, se llevó a cabo una fase de optimización, a partir de una colección de código con ejemplos de problemas y soluciones propuestas por los participantes en los concursos Codeforces, CodeChef, HackerEarth, AtCoder y Aizu. En total, para la formación se utilizaron 715 GB de código de GitHub y más de un millón de ejemplos de soluciones a problemas típicos de la competición. Antes de pasar a la generación del código, el texto de la tarea pasó por una fase de normalización, durante la cual se eliminó todo lo innecesario y solo quedaron partes significativas.

DeepMind presentó un sistema de aprendizaje automático para generar código a partir de una descripción textual de una tarea


Fuente: opennet.ru

Añadir un comentario