Inteligencia artificial

GPT-3: Aprendizaje de pocos disparos para modelos de lenguaje

mm

En los últimos años, la industria de la IA y el ML ha presenciado un aumento meteórico en el desarrollo y la aplicación de los sistemas de NLP, ya que los investigadores han podido implementar prácticas de NLP de manera flexible y agnóstica de tareas para tareas de transferencia descendente.

Inicialmente, se utilizaban representaciones de una sola capa que utilizaban vectores de palabras y se alimentaban a la arquitectura específica de la tarea. Luego, se utilizó la arquitectura RNN que utilizaba representaciones de múltiples capas y un estado contextual para formar mejores representaciones. Y más recientemente, tenemos los modelos de lenguaje de transferencia preentrenados o los modelos recurrentes preentrenados que han eliminado por completo la necesidad de arquitecturas específicas de tareas al ajustar estos modelos.

Los modelos de lenguaje de transferencia han demostrado ser un punto de inflexión importante en la industria de la NLP, ya que han logrado un progreso tremendo en tareas desafiantes como responder preguntas, comprender textos o bloques de texto, inferencia textual y mucho más.

Sin embargo, a pesar de sus ventajas, los modelos de lenguaje de transferencia tienen una limitación importante, ya que requieren un ajuste específico de la tarea o un conjunto de datos específico de la tarea para lograr el rendimiento deseado en una tarea. Además, los modelos de lenguaje de transferencia también requieren que los desarrolladores ajusten los conjuntos de datos a cientos de miles de ejemplos específicos de una tarea particular.

No necesita decirse que eliminar la necesidad de un conjunto de datos específico de la tarea y un ajuste específico de la tarea sería muy deseable y beneficioso para la industria de la NLP por numerosas razones.

Problemas con los modelos de lenguaje de transferencia preentrenados o recurrentes existentes

  • Limitar la practicidad y la aplicabilidad

En primer lugar, la necesidad de un gran conjunto de datos con datos etiquetados para cada tarea limita la aplicabilidad y la practicidad de los modelos de lenguaje. Los modelos de lenguaje encuentran sus aplicaciones en una amplia variedad de tareas que van desde generar una historia corta hasta corregir errores gramaticales o generar ejemplos sobre un concepto. A veces, es un desafío coleccionar un gran conjunto de datos supervisado con datos etiquetados, especialmente cuando el proceso necesita repetirse para cada tarea individual.

  • Explotar correlaciones espurias en los datos de entrenamiento

Las limitaciones y la estrechez de la distribución de entrenamiento, junto con la expresividad del modelo, pueden resultar en un crecimiento fundamental en el potencial de explotar correlaciones espurias en los datos de entrenamiento. El potencial de explotar los datos de entrenamiento puede resultar en problemas durante el ajuste y el preentrenamiento, ya que los modelos de lenguaje de transferencia están diseñados para absorber una gran cantidad de información durante el preentrenamiento.

Además, el trabajo en modelos anteriores ha indicado que los modelos grandes no siempre resultan en un mejor rendimiento fuera de la distribución cada vez. Además, también se ha indicado que la generalización lograda bajo dicho paradigma puede resultar en un rendimiento pobre, principalmente porque el modelo es muy específico de los datos de entrenamiento y no puede realizar bien en situaciones más allá del alcance de los datos de entrenamiento.

  • Comparación con el aprendizaje humano

Finalmente, en comparación con los modelos de lenguaje de transferencia, los humanos no requieren un gran conjunto de datos de entrenamiento cuando se trata de aprender la mayoría de las tareas del lenguaje. Con frecuencia, una breve directiva en el lenguaje natural de una persona o una pequeña demostración de la tarea del lenguaje es suficiente para que un humano comprenda y realice una tarea del lenguaje con un cierto nivel de competitividad.

La capacidad de los humanos para adaptarse tiene numerosas ventajas prácticas, ya que les permite cambiar entre diferentes habilidades o combinarlas para realizar mejor durante un dialecto, algo que está más allá de las capacidades de los sistemas de NLP actuales.

Abordar los problemas con el aprendizaje meta y GPT-3

Una posible solución a los desafíos anteriores es el uso del aprendizaje meta, un concepto en la ML moderna que permite a un modelo desarrollar un conjunto más amplio y general de habilidades y capacidad para reconocer patrones mientras se entrena, y luego utiliza estas habilidades aprendidas durante la interferencia para adaptarse rápidamente o reconocer la tarea requerida.

El aprendizaje meta se está implementando en la arquitectura del modelo de lenguaje a través de una técnica llamada “aprendizaje en contexto” que utiliza la entrada de texto de un modelo de lenguaje preentrenado como una especificación de la tarea. En el proceso, el modelo se condiciona a una instrucción en lenguaje natural y puede utilizar algunas demostraciones, y el modelo se espera que complete el resto de la tarea prediciendo los siguientes pasos.

El único problema importante con el aprendizaje meta es que, aunque ha demostrado un potencial positivo, todavía es inferior al enfoque de ajuste en la arquitectura del lenguaje natural, y necesita más mejoras para convertirse en un método práctico para superar las tareas del lenguaje.

Además del aprendizaje meta, otro método que está ganando popularidad es aumentar la capacidad de los modelos de lenguaje de transformadores. En los últimos años, los modelos de transferencia han presenciado un aumento sustancial en su capacidad, con el modelo RNSS18 con 100 millones de parámetros, el modelo DCLT18 con 300 millones de parámetros, el modelo RWC19 con 1.500 millones de parámetros, el modelo SSP19 con 8.000 millones de parámetros, el modelo RSR19 con 11.000 millones de parámetros y el modelo TUR20 con 17.000 millones de parámetros.

Aumentar la capacidad del modelo o aumentar los parámetros ha resultado históricamente en mejoras en la síntesis de texto, y ha habido una indicación de que la pérdida logarítmica, que se correlaciona con las tareas descendentes, también sigue una tendencia suave de mejora con la escala.

Eso nos lleva al modelo GPT-3, que tiene más de 175.000 millones de parámetros, y cuando se lanzó, era el modelo de lenguaje de transferencia con la mayor capacidad. Ahora, hablemos sobre el modelo GPT-3.

Introducción al modelo GPT-3

El GPT-3 es un modelo de lenguaje autoagresivo con más de 175.000 millones de parámetros que fue lanzado por OpenAI en 2020. El GPT-3 también se clasifica como un modelo de lenguaje grande que, al igual que su predecesor el modelo GPT-2, es un modelo de transformador de aprendizaje profundo que utiliza una arquitectura basada en convoluciones para generar datos textuales.

El modelo GPT-3 mide sus propias capacidades de aprendizaje de contexto y el modelo GPT-3 se evalúa en más de dos docenas de conjuntos de datos de NLP y múltiples tareas novedosas. Para cada tarea individual, el modelo GPT-3 se evalúa bajo tres condiciones,

  • Aprendizaje de pocos disparos o aprendizaje en contexto: En el aprendizaje de pocos disparos, el modelo GPT-3 permite tantas distribuciones como caben en la ventana de contexto del modelo.
  • Aprendizaje de un disparo: En el aprendizaje de un disparo, el modelo solo permite una demostración.
  • Aprendizaje de cero disparos: En el aprendizaje de cero disparos, no hay demostraciones y solo hay una instrucción en lenguaje natural que se alimenta al modelo.

En general, el modelo GPT-3 logra un rendimiento deseado en configuraciones de cero disparos y de un disparo, y en la configuración de pocos disparos, supera a los modelos de transferencia estatales de la técnica la mayoría de las veces. Además, el modelo GPT-3 se desempeña bien en configuraciones de un disparo y de cero disparos en tareas de lenguaje natural diseñadas para probar la razón en el acto o requieren una atención rápida como usar palabras nuevas después de una oración, desenredar palabras o realizar operaciones aritméticas. Por otro lado, cuando se opera en una configuración de pocos disparos, el modelo GPT-3 genera artículos de noticias sintéticos que se asemejan a la escritura humana cuando se pasa por evaluadores humanos.

Modelo GPT-3: enfoque

El modelo GPT-3 utiliza un enfoque de preentrenamiento convencional que comprende modelo, datos y entrenamiento, y se asemeja al proceso de preentrenamiento seguido por el modelo de lenguaje de transferencia RWC-19. El modelo GPT-3 amplía el tamaño del modelo, el tamaño del conjunto de datos, la diversidad del conjunto de datos y aumenta la longitud del período de entrenamiento.

El modelo también utiliza un enfoque de aprendizaje en contexto que, una vez más, se asemeja al enfoque del modelo RWC-19, pero ajusta las cosas un poco explorando sistemáticamente diferentes configuraciones para el aprendizaje de patrones dentro del contexto del conjunto de datos.

Así que, comencemos explorando estas configuraciones y evaluemos cómo se desempeña el modelo GPT-3 en diferentes configuraciones.

Ajuste fino

Ajustar el modelo ha sido el enfoque convencional en los modelos de lenguaje de transferencia, y este enfoque implica actualizar los pesos de un modelo preentrenado entrenando el modelo en un conjunto de datos supervisado específico de la tarea deseada, y se utilizan cientos de miles de ejemplos etiquetados durante el proceso.

El enfoque de ajuste es beneficioso porque devuelve un rendimiento sólido en numerosos benchmarks. Por otro lado, la principal limitación del uso del enfoque de ajuste es que requiere un nuevo y gran conjunto de datos para cada tarea individual, tiene el potencial de explotar características espurias del conjunto de datos de entrenamiento, puede resultar en una comparación injusta con el rendimiento humano y una generalización pobre para fuera de la distribución.

El alcance actual del modelo GPT-3 no implementa el enfoque de ajuste debido a su rendimiento agnóstico de tareas, aunque el ajuste se puede aplicar al modelo GPT-3 en el futuro.

Pocos disparos

Pocos disparos es un término que se refiere a la configuración en la que el modelo GPT-3 se le dan algunas demostraciones de la tarea durante la interferencia como acondicionamiento, pero los pesos del modelo no se actualizan. En la configuración de pocos disparos, el conjunto de datos generalmente tiene un ejemplo con un contexto y una finalización deseada (por ejemplo, una oración en francés y su traducción al inglés). La configuración de pocos disparos le da al modelo K ejemplos de contexto y finalización, y luego proporciona al modelo un contexto final y espera que el modelo proporcione la finalización.

La principal ventaja de utilizar la configuración de pocos disparos es que reduce significativamente la necesidad de datos específicos de la tarea y también reduce el potencial de aprender una distribución estrecha de un gran conjunto de datos que se ajusta de manera estrecha. Por otro lado, la principal desventaja de utilizar el aprendizaje de pocos disparos es que los resultados entregados en la configuración de pocos disparos no están a la altura y son significativamente pobres en comparación con otros modelos estatales de la técnica que se ajustan.

Un disparo

En la configuración de un disparo, el modelo solo se le da una demostración y el resto es similar a la configuración de pocos disparos. La razón por la que la configuración de un disparo es relevante en los modelos de lenguaje de transferencia es que, de las tres configuraciones, un disparo es la que se asemeja a la forma en que las tareas se comunican a los humanos de la mejor manera. Es porque en la mayoría de las tareas, es común dar una demostración de la tarea, de lo contrario puede ser difícil entender el contexto de la tarea.

Cero disparos

En la configuración de cero disparos, no hay demostraciones y el modelo se le da una instrucción en lenguaje natural que describe la tarea. El método de cero disparos es el que ofrece la máxima conveniencia, es robusto y también evita correlaciones espurias, pero es el más desafiante de las tres configuraciones. Es porque, en algunos casos, es difícil incluso para los humanos averiguar el contexto de una tarea sin ver una demostración primero.

Sin embargo, para algunas tareas, la configuración de cero disparos es la que se asemeja a cómo los humanos realizan tareas de lenguaje natural de la manera más cercana.

La figura anterior compara la configuración de pocos disparos, la configuración de un disparo y la configuración de cero disparos al realizar una tarea de lenguaje natural de traducir una oración en inglés al francés.

GPT-3: arquitectura del modelo

El modelo GPT-3 utiliza la misma arquitectura que la utilizada en el modelo GPT-2, e incluye prenormalización, inicialización modificada y técnicas de tokenización reversibles como se utilizaron en el modelo GPT con la excepción de utilizar una estrategia alternativa para patrones de atención locales y bandas esparsas, y capas densas alternas en las capas de transformadores, similares a Sparse Transformer.

Para estudiar la dependencia del rendimiento del modelo con respecto al tamaño del modelo, los desarrolladores han entrenado 8 tamaños de modelo diferentes que abarcan tres órdenes de magnitud desde 125 millones hasta más de 175.000 millones de parámetros, el último de los cuales se llama modelo GPT-3. El trabajo previo relacionado con los modelos LLM ha indicado que la escalabilidad de la pérdida de validación con una cantidad suficiente de datos de entrenamiento debe ser una ley de potencia suave aproximada como una función del tamaño. Entrenar modelos de diferentes tamaños permite a los desarrolladores probar la hipótesis tanto para tareas de lenguaje descendente como para la pérdida de validación.

La figura anterior compara el tamaño y la arquitectura de los 8 modelos diferentes utilizados para el desarrollo de GPT-3. Aquí, n(params) define el número total de patrones entrenables, n(layers) define el número total de capas en el modelo, d(model) define el número de unidades en cada capa del cuello de botella, y d(head) define las dimensiones de cada cabeza de atención. La ventana de contexto para cada modelo es la misma con 2048 tokens.

Además, para minimizar la transferencia de datos entre los nodos, el modelo se divide a lo largo de la profundidad y el ancho de las dimensiones en las GPU. Los parámetros arquitectónicos para cada modelo se han elegido en función de la eficiencia computacional y el equilibrio de carga para maximizar la precisión en el diseño de los modelos en las GPU.

Conjuntos de datos de entrenamiento

Normalmente, los modelos de lenguaje grandes utilizan conjuntos de datos que han crecido significativamente con los desarrollos recientes y culminan en el conjunto de datos Common Crawl que consiste en más de un billón de palabras diferentes. El tamaño del conjunto de datos es adecuado para entrenar el modelo GPT-3 sin actualizar en la misma secuencia múltiples veces. Sin embargo, los estudios y el análisis de rendimiento indican que las versiones ligeramente filtradas o no filtradas del conjunto de datos Common Crawl tienen una calidad baja en comparación con los conjuntos de datos más curados.

Para abordar el problema de la calidad promedio del conjunto de datos, los desarrolladores tomaron 3 pasos para mejorar la calidad del conjunto de datos.

  1. Los desarrolladores descargaron y filtraron una versión del conjunto de datos Common Crawl basada en un rango similar a corpus de referencia de alta calidad.
  2. Los desarrolladores realizaron una duplicación difusa a nivel de documento en todo el conjunto de datos en un intento por preservar la integridad de su conjunto de validación retenido como una medición efectiva de sobreajuste y también para evitar la redundancia.
  3. Los desarrolladores también agregaron corpus de referencia de alta calidad a los datos de entrenamiento para aumentar la diversidad del conjunto de datos y mejorar aún más la calidad del conjunto de datos.

La siguiente figura muestra la proporción final o mezcla de los conjuntos de datos utilizados para entrenar el modelo GPT-3. Los datos de Common Crawl consistían en más de 45 TB de texto plano antes de filtrar que se redujeron a 570 GB de datos después de filtrar, un equivalente aproximado a más de 400 mil millones de tokens de pares de bytes. Es digno de destacar que los conjuntos de datos en el entrenamiento que se consideran de mayor calidad se muestran con más frecuencia en lugar de muestrear el conjunto de datos en proporción a su tamaño. Como resultado, los conjuntos de datos como Books2 y Common Crawl se muestran menos de una vez durante el entrenamiento, mientras que los otros conjuntos de datos se muestran múltiples veces. Esto permite que el modelo acepte una pequeña cantidad de sobreajuste a cambio de entrenar en datos de entrenamiento de mayor calidad.

Una preocupación importante con los modelos de lenguaje grandes preentrenados en una gran cantidad de datos de Internet con la capacidad de memorizar y aprender una gran cantidad de contenido es la posible contaminación de las tareas descendentes al tener sus conjuntos de datos de desarrollo o prueba vistos durante el proceso de preentrenamiento. Para reducir dicha contaminación potencial, los desarrolladores buscaron cualquier superposición con los conjuntos de datos de prueba y desarrollo de los benchmarks estudiados para GPT-3 y intentaron eliminar estas superposiciones.

La imagen anterior muestra el cómputo total utilizado durante el entrenamiento del modelo GPT-3. El modelo utiliza las leyes de escalabilidad para modelos de lenguaje neuronales para entrenar modelos mucho más grandes en menos tokens que los típicos. Como resultado, tanto el modelo GPT-3 como el modelo RoBERTa-Large, que es 10 veces más pequeño que el modelo GPT-3, utilizaron casi 50 petaflops/día de cómputo durante el proceso de preentrenamiento.

Evaluación

Para el aprendizaje de pocos disparos, el modelo evalúa cada ejemplo en el conjunto de datos de evaluación dibujando K ejemplos al azar del conjunto de datos de entrenamiento de la tarea como acondicionamiento y delimitándolo con 1 o 2 nuevas líneas dependiendo de la tarea. Para Storycloze y LAMBADA, el modelo dibuja ejemplos de acondicionamiento del conjunto de desarrollo y los evalúa en el conjunto de prueba debido a la falta de un conjunto de datos de entrenamiento supervisado. Para Winograd, solo existe un conjunto de datos y, por lo tanto, las muestras de acondicionamiento se dibujan directamente de él.

K puede ser cualquier valor que oscile entre 0 y la cantidad máxima permitida por la ventana de contexto del modelo, que es next = 2048 para todos los modelos, y generalmente cabe entre 10 y 100 ejemplos. Los valores más grandes de K a menudo resultan en mejores resultados, pero no siempre, por lo que cuando el modelo tiene un conjunto de prueba y un conjunto de desarrollo separado disponible, el modelo experimenta con algunos valores de K en el conjunto de desarrollo y, según los resultados, ejecuta el mejor valor en el conjunto de prueba.

Además, en las tareas que requieren seleccionar una finalización correcta entre múltiples opciones, los desarrolladores proporcionan K ejemplos de corrección más contexto y finalización, y luego proporcionan un ejemplo de contexto solo, y las tareas se comparan en función de la probabilidad de verosimilitud de cada finalización. Para las tareas que requieren una clasificación binaria, los modelos a menudo dan opciones más semánticas y con nombres más significativos y tratan la tarea como una opción múltiple y, a veces, también enmarcan la tarea de manera similar a como lo hace el modelo RSR y la arquitectura.

Para las tareas que requieren una finalización de forma libre, el modelo utiliza una búsqueda de haz con parámetros idénticos a los utilizados en el marco RSR, con un haz de longitud 4 y una penalización de 0,6. El modelo se puntuación utilizando la puntuación de similitud F1, la coincidencia exacta o BLEU, dependiendo del estándar para el conjunto de datos.

Resultados

La figura anterior muestra las curvas de entrenamiento para los 8 modelos utilizados en la arquitectura del modelo GPT-3, como se describió en las secciones anteriores. Similar a los resultados del modelo de lenguaje KMH, el rendimiento del modelo GPT-3 sigue una ley adecuada cuando se utiliza el cómputo de entrenamiento de manera efectiva. Hay una ligera diferencia de la ley solo cuando la tendencia se extiende por dos órdenes de magnitud más. Puede parecer que las mejoras en la pérdida de entropía cruzada son el resultado de modelar detalles espurios del corpus de entrenamiento. Sin embargo, las mejoras en la pérdida de entropía cruzada conducen a ganancias consistentes en el rendimiento general en una amplia gama de tareas de NLP.

Antes de evaluar los 8 modelos diferentes en una amplia gama de datos de entrenamiento, los conjuntos de datos se agrupan en 8 categorías diferentes que representan tareas similares. Estas categorías son

  1. Evaluación en tareas de modelado de lenguaje tradicionales y tareas que se asemejan al modelado de lenguaje como tareas de Cloze o finalización de oraciones/párrafos.
  2. Evaluación en tareas de respuesta a preguntas de “libro cerrado”.
  3. Evaluación de la capacidad del modelo para traducir entre lenguajes (especialmente de un disparo y pocos disparos).
  4. Evaluación del rendimiento del modelo en tareas similares a Winograd Schema.
  5. Evaluación en conjuntos de datos que involucran razonamiento de sentido común o respuesta a preguntas.
  6. Evaluación en tareas de comprensión lectora.
  7. Evaluación en la suite de benchmarks SuperGLUE.
  8. Exploración de NLI.

Modelado de lenguaje, finalización y tareas de Cloze

En esta sección, se evalúa el rendimiento del modelo GPT-3 en las tareas de modelado de lenguaje tradicionales, así como en tareas que requieren la predicción de una sola palabra de interés o la finalización de un párrafo o una oración, o la finalización de un fragmento de texto. Analicémoslos en detalle.

Modelado de lenguaje

El modelo GPT-3 calcula la perplejidad de cero disparos en el conjunto de datos PTB o el Banco de datos de árboles de Penn. El modelo omite las tareas relacionadas con Wikipedia porque ya están incluidas en los datos de entrenamiento del modelo, y el benchmark de un billón de palabras también se omite porque causa una cantidad significativa de fricción del conjunto de datos que se encuentra dentro de los datos de entrenamiento. Sin embargo, el conjunto de datos PTB aborda estos problemas porque puede preceder a Internet moderno. El modelo más grande en la arquitectura del modelo GPT-3 establece un nuevo estado de la técnica en el conjunto de datos PTB con una diferencia notable de 15 puntos y logra una perplejidad de 20,50.

LAMBADA

El conjunto de datos LAMBADA se utiliza para probar el modelado del modelo en dependencias de largo alcance en párrafos o textos. Esto significa que el modelo se le pide que prediga la última palabra de una oración después de leer el párrafo para el contexto. Además, la escalabilidad continua de los modelos de lenguaje produce rendimientos decrecientes en el benchmark.

El modelo GPT-3 logra una precisión del 76% en LAMBADA y tiene una ganancia de más del 8% sobre los modelos anteriores. Además, el modelo LAMBADA demuestra la flexibilidad del aprendizaje de pocos disparos, ya que abordó el problema de una manera que ocurre clásicamente con el conjunto de datos. La finalización de una oración en LAMBADA generalmente es la última palabra de la oración, pero como un modelo de lenguaje no puede saber eso, asigna una probabilidad no solo a la finalización correcta, sino también a otras continuaciones en el párrafo.

Además, cuando los ejemplos que se alimentan al modelo GPT-3 se modifican de una manera determinada, el modelo devuelve una precisión de más del 86%, un aumento de más del 18% sobre los modelos anteriores. Además, los resultados también indicaron que el rendimiento del modelo en una configuración de pocos disparos aumenta proporcionalmente con el aumento del tamaño del modelo. Aunque esta estrategia reduce el modelo más pequeño en la arquitectura del GPT-3 en un 20%, mejora la precisión del modelo GPT-3 principal con 175.000 millones de parámetros en un 10%.

Respuesta a preguntas de libro cerrado

La respuesta a preguntas de libro cerrado es un intento de medir la capacidad del modelo GPT-3 para responder preguntas basadas en conocimientos factuales amplios. Debido a que dichas preguntas a menudo tienen una gran cantidad de consultas posibles, la tarea se realiza normalmente utilizando un sistema de recuperación de información que permite al modelo encontrar texto relevante en combinación con el modelo que aprende a generar una respuesta a una pregunta dada el texto recuperado y la pregunta.

La imagen anterior compara el resultado para el modelo GPT-3 en comparación con diferentes modelos y ejecutándose en diferentes conjuntos de datos. En el conjunto de datos TriviaQA, el modelo logra una puntuación de precisión del 64,3% en la configuración de cero disparos, mientras que logra una puntuación de precisión del 68% y del 71,2% en las configuraciones de un disparo y pocos disparos, respectivamente.

Es evidente que el modelo GPT-3 en la configuración de cero disparos supera al modelo T5-11B ajustado en más del 14%.

La figura anterior muestra que el rendimiento del modelo GPT-3 crece suavemente con el aumento del tamaño del modelo. El rendimiento sugiere que los modelos de lenguaje continúan aprendiendo del conjunto de datos a medida que aumenta su capacidad.

Pensamientos finales

Sería seguro decir que GPT-3 fue una fase revolucionaria en la industria de LLM, ya que GPT-3 ayudó a empujar los límites de lo que un modelo de lenguaje podría hacer. Fue el desarrollo realizado y los obstáculos superados por GPT-3 lo que allanó el camino para el modelo de lenguaje grande más avanzado y preciso hasta la fecha, el GPT-4.

Un ingeniero por profesión, un escritor por corazón. Kunal es un escritor técnico con un profundo amor y comprensión de la IA y el ML, dedicado a simplificar conceptos complejos en estos campos a través de su documentación atractiva e informativa.