OpenAI Codex muestra los límites de los grandes modelos de lenguaje


Todas las sesiones de Transform 2021 están disponibles bajo demanda ahora. Ver ahora.


En un nuevo artículo, los investigadores de OpenAI ha revelado detalles sobre el Codex, un modelo de aprendizaje profundo que genera código fuente de software. Codex impulsa Copilot, una herramienta de “programador de pares de IA” desarrollada conjuntamente por OpenAI y GitHub. Copilot está disponible actualmente en modo de prueba beta para un número limitado de usuarios.

La papel es una lectura fascinante que explica el proceso a través del cual los científicos de OpenAI lograron reutilizar su modelo de lenguaje insignia GPT-3 para crear Codex. Pero lo que es más importante, el documento también arroja una luz muy necesaria sobre hasta qué punto se puede confiar en el aprendizaje profundo en la programación.

El teorema de ‘no almuerzo gratis’

Codex es un descendiente de GPT-3, un modelo de lenguaje de aprendizaje profundo masivo lanzado el año pasado. La complejidad de los modelos de aprendizaje profundo a menudo se mide por la cantidad de parámetros que tienen. En general, la capacidad de aprendizaje de un modelo aumenta con el número de parámetros. GPT-3 vino con 175 mil millones de parámetros, más de dos órdenes de magnitud más grande que su predecesor, GPT-2 (1,5 mil millones de parámetros). GPT-3 se entrenó en más de 600 gigabytes, más de 50 veces más grande que el conjunto de datos de entrenamiento de GPT-2.

Aparte del enorme aumento de tamaño, la principal innovación de GPT-3 fue el “aprendizaje de pocas oportunidades”, la capacidad de realizar tareas para las que no estaba capacitado. La papel que introdujo GPT-3 se tituló “Los modelos de lenguaje son aprendices de pocas oportunidades” y decía: “Aquí mostramos que la ampliación de los modelos de lenguaje mejora en gran medida el rendimiento de pocas tomas y agnóstico de tareas [emphasis mine], a veces incluso alcanzando la competitividad con enfoques de ajuste fino de última generación “.

Básicamente, la premisa era un modelo lo suficientemente grande entrenado en un gran corpus de texto que puede igualar o superar a varios modelos que están especializados para tareas específicas.

Pero según el nuevo documento de OpenAI, ninguna de las diversas versiones de GPT-3 pudo resolver ninguno de los problemas de codificación utilizados para evaluar el Codex. Para ser justos, no había muestras de codificación en el conjunto de datos de entrenamiento de GPT-3, por lo que no podemos esperar que pueda codificar. Pero los científicos de OpenAI también probaron GPT-J, un modelo de 6 mil millones de parámetros entrenado en La pila, un conjunto de datos de 800 gigabytes que incluye 95 gigabytes de GitHub y 32 gigabytes de datos StackExchange. GPT-J resolvió el 11,4 por ciento de los problemas de codificación. Codex, una versión del parámetro de 12 mil millones de GPT-3 ajustado en 159 gigabytes de ejemplos de código de GitHub, resolvió el 28,8 por ciento de los problemas. Una versión separada del Codex, llamada Codex-S, que se perfeccionó mediante el aprendizaje supervisado, aumentó el rendimiento al 37,7 por ciento (otros modelos de GPT y Codex se capacitan mediante el aprendizaje no supervisado).

El Codex demuestra que el aprendizaje automático todavía se rige por el “no hay almuerzo gratis”Teorema (NFL), lo que significa que la generalización se produce a costa del rendimiento. En otras palabras, los modelos de aprendizaje automático son más precisos cuando están diseñados para resolver un problema específico. Por otro lado, cuando se amplía su dominio de problemas, su desempeño disminuye.

El Codex puede realizar una tarea especializada (transformar descripciones de funciones y firmas en código fuente) con alta precisión a costa de una pobre capacidad de procesamiento del lenguaje natural. Por otro lado, GPT-3 es un modelo de lenguaje general que puede generar texto decente sobre muchos temas (incluidos conceptos de programación complicados) pero no puede escribir una sola línea de código.

Tamaño frente a costo

Los experimentos de los investigadores de OpenAI muestran que el rendimiento del Codex mejoró a medida que aumentaron el tamaño del modelo de aprendizaje automático. Con 300 millones de parámetros, el Codex resolvió el 13,2 por ciento de los problemas de evaluación frente al rendimiento del 28,8 por ciento del modelo de 12 mil millones de parámetros.

Pero la versión completa de GPT-3 tiene 175 mil millones de parámetros, un orden de magnitud más grande que el que se usó para crear el Codex. ¿No produciría mejores resultados entrenar el modelo más grande con los datos de entrenamiento del Codex?

Una razón probable para detenerse en 12 mil millones podría ser el tamaño del conjunto de datos. Un modelo del Codex más grande necesitaría un conjunto de datos más grande. Entrenarlo en el corpus de 159 gigabytes probablemente causaría un sobreajuste, donde el modelo se vuelve muy bueno para memorizar y ensayar sus ejemplos de entrenamiento y muy malo para lidiar con situaciones nuevas. La recopilación y el mantenimiento de conjuntos de datos más grandes es un proceso costoso y que requiere mucho tiempo.

Un problema igualmente molesto sería el costo del Codex. Aparte de un experimento científico, se suponía que el Codex se convertiría en la columna vertebral de un producto futuro que puede generar ganancias para un laboratorio de investigación que es cuasi-propiedad de una entidad comercial. Como ya mencioné antes, los costos de capacitación y ejecución del modelo GPT-3 de 175 mil millones harían muy difícil desarrollar un modelo comercial rentable a su alrededor.

Sin embargo, una versión más pequeña pero ajustada de GPT-3 sería mucho más manejable en términos de ganancias y pérdidas.

Finalmente, como muestran los experimentos de OpenAI, la relación tamaño / rendimiento del Codex sigue una escala logarítmica. Esto significa que las ganancias de rendimiento se reducen gradualmente a medida que aumenta el tamaño del modelo. Por lo tanto, los costos adicionales de recopilar datos y capacitar y ejecutar el modelo más grande pueden no valer la pena el pequeño aumento de rendimiento.

Y tenga en cuenta que la generación de código es un mercado muy lucrativo. Dados los altos salarios por hora de los programadores, incluso ahorrar unas pocas horas de tiempo de codificación al mes sería suficiente para cubrir las tarifas de suscripción del Codex. En otros dominios donde la mano de obra es menos costosa, la automatización de tareas con modelos de lenguaje grandes será más desafiante desde una perspectiva de pérdidas y ganancias.

Generar vs entender código

Una cosa que debe recordarse es que, sin importar cuán fascinante sea el resultado del Codex, el modelo de aprendizaje profundo no comprende la programación. Como todos los demás modelos de lenguaje basados ​​en el aprendizaje profundo, Codex está capturando correlaciones estadísticas entre fragmentos de código.

En su artículo, los científicos de OpenAI reconocen que Codex “no es una muestra eficiente para entrenar” y que “incluso los desarrolladores experimentados no encuentran en ninguna parte cerca de esta cantidad de código a lo largo de sus carreras”.

Añaden además que “se espera que un estudiante fuerte que complete un curso de introducción a la informática pueda resolver una fracción mayor de problemas que el Codex-12B”.

Aquí hay un extracto interesante del artículo: “Tomamos muestras de tokens del Codex hasta que encontramos una de las siguientes secuencias de parada: ‘ nclass’, ‘ ndef’, ‘ n #’, ‘ nif’ o ‘ nprint’ , ya que el modelo continuará generando funciones o declaraciones adicionales de lo contrario “.

Esto significa que Codex continuará generando código sin pensarlo, incluso si ya ha finalizado el bloque que aborda el problema indicado en la solicitud.

Este es un esquema que funciona bien cuando desea resolver problemas simples que se repiten una y otra vez. Pero cuando se aleja e intenta escribir un programa grande que aborde un problema que debe resolverse en varios pasos, los límites del Codex se hacen evidentes.

Los científicos de OpenAI descubrieron que a medida que aumentaba el número de componentes en la descripción de la función, el rendimiento del modelo disminuía exponencialmente.

“Este comportamiento no es característico de un programador humano, que debería poder implementar correctamente un programa para una cadena de longitud arbitraria si puede hacerlo para una cadena de longitud dos”, escriben los investigadores en su artículo.

Exponiendo aún más la falta de comprensión del Codex sobre la estructura y el código del programa es el hecho de que “puede recomendar código sintácticamente incorrecto o indefinido, y puede invocar funciones, variables y atributos que no están definidos o están fuera del alcance del código base”, según el documento. . En la práctica, esto significa que, en algunos casos, el modelo de aprendizaje automático unirá diferentes piezas de código que ha visto anteriormente, incluso si no encajan.

En su artículo, los investigadores también discuten Problemas de “desalineación” en el Codex, donde el modelo puede resolver un problema específico pero no lo hace debido a varios errores. Codex usa el contenido del archivo en el que está trabajando como contexto para generar su salida. Si su código contiene errores sutiles (lo cual es bastante normal si usted es un programador humano), Codex puede sugerir “deliberadamente” código que aparentemente parece bueno pero es incorrecto, advierten los investigadores.

La desalineación es un fenómeno interesante que necesita más estudio. Pero los experimentos de OpenAI muestran además que “la desalineación probablemente persistiría e incluso empeoraría si se ampliaran los datos, los parámetros y el tiempo de entrenamiento”, lo que podría ser otra razón para mantener el tamaño del modelo equilibrado en 12 mil millones de parámetros.

El documento también habla extensamente sobre la posibilidad de que el Codex produzca código obsoleto y vulnerable (que es digno de un artículo separado, por lo que no lo discutí aquí).

Uso responsable e informes de la IA

Como dije después del lanzamiento de Copilot, “Programador de pares de IA”, el término utilizado en la página web de GitHub para Copilot, es inexacto.

Codex no es un programador. Y tampoco te quitará el trabajo (si eres programador). La codificación es solo una parte de lo que hacen los programadores. Los científicos de OpenAI observan que en su estado actual, el Codex “puede reducir un poco el costo de producción de software al aumentar la productividad del programador”, pero no reemplazará las otras tareas que los desarrolladores de software realizan regularmente, como “consultar con colegas, escribir especificaciones de diseño, y actualizar las pilas de software existentes “.

Confundir Codex con un programador también puede conducir a una “dependencia excesiva”, donde un programador aprueba ciegamente cualquier código generado por el modelo sin revisarlo. Dados los errores obvios y sutiles que puede cometer el Codex, pasar por alto esta amenaza puede entrañar riesgos para la calidad y la seguridad. “Se requiere supervisión y vigilancia humanas para el uso seguro de sistemas de generación de código como Codex”, advierten los investigadores de OpenAI en su artículo.

En general, la reacción de la comunidad de programadores muestra que Codex es una herramienta muy útil con un impacto posiblemente enorme en el futuro de la industria del software. Al mismo tiempo, dada la exageración que rodea al lanzamiento de Copilot, es importante comprender sus implicaciones no deseadas. En este sentido, vale la pena felicitar a la gente de OpenAI por estudiar, documentar e informar de manera responsable los límites y amenazas del Codex.

Ben Dickson es ingeniero de software y fundador de TechTalks. Escribe sobre tecnología, negocios y política.

Esta historia apareció originalmente en Bdtechtalks.com. Copyright 2021

VentureBeat

La misión de VentureBeat es ser una plaza urbana digital para que los responsables de la toma de decisiones técnicas obtengan conocimientos sobre tecnología transformadora y realicen transacciones. Nuestro sitio ofrece información esencial sobre tecnologías y estrategias de datos para guiarlo a medida que dirige sus organizaciones. Te invitamos a convertirte en miembro de nuestra comunidad, para acceder a:

  • información actualizada sobre los temas de su interés
  • nuestros boletines
  • contenido exclusivo de líderes de opinión y acceso con descuento a nuestros preciados eventos, como Transformar 2021: Aprende más
  • funciones de red y más

Hágase miembro

Latest articles

Los Verdes alemanes deben sentarse a votar en un estado durante las elecciones nacionales – POLITICO

El Partido Verde de Alemania será excluido de las urnas en el estado de Saarland durante las elecciones nacionales de septiembre, el comité...

Florida lidera la nación en nuevas admisiones hospitalarias para adultos y niños Covid-19

El gobierno del Reino Unido actualizará su lista de viajes "verde" el jueves para agregar a la lista a Alemania, Austria, Eslovenia, Eslovaquia,...

R. Kelly dice que se ha adelantado a la selección del jurado

Sus abogados dicen que no puede pagar las transcripciones diarias de la corte.

Sam Waterston, Kurtwood Smith y Anne Archer en la serie limitada de Hulu – Fecha límite

EXCLUSIVO: Sam Waterston (Ley y Orden), Kurtwood Smith (Patriota) y Anne Archer (Imperio de papel) están configurados para roles clave recurrentes junto a...
49.6k Followers
Follow

Related articles

Leave a reply

Please enter your comment!
Please enter your name here

Translate »