GPT es una conocida serie de modelos cuyas últimas versiones dominan actualmente en diversas tareas de PNL. La primera versión de GPT fue un hito importante: al entrenarse con enormes parámetros de 120M, este modelo demostró un rendimiento de última generación en los puntos de referencia más altos. A partir de este punto, los investigadores intentaron mejorar la versión base.
En 2019, investigadores de OpenAI lanzaron oficialmente GPT-2. Era 10 veces más grande que GPT-1, lo que le permitió mejorar aún más el rendimiento. Aparte de eso, los autores conjeturaron en su trabajo que Los LLM son estudiantes multitarea lo que significa que pueden aprender a realizar varias tareas al mismo tiempo. Esta importante declaración hizo posible seguir desarrollando los LLM en un marco mucho más eficiente.
En este artículo nos referiremos al oficial. papel GPT-2 analizando sus principales aspectos y mejoras con respecto a GPT-1 y comprendiendo un enfoque novedoso para la creación de LLM.
Nota. Este artículo supone que ya está familiarizado con la primera versión de GPT. Si no, echa un vistazo Este artículo.
La importancia de comprender la evolución de GPT
No es ningún secreto que con la reciente introducción de modelos potentes como ChatGPT o GPT-4, las primeras versiones de GPT ya no llaman tanto la atención y parecen obsoletas.
Sin embargo, las siguientes razones explican la importante motivación detrás del estudio de la evolución de GPT.
- Las primeras versiones de GPT introdujeron conceptos de aprendizaje de idiomas que todavía utilizan los modelos más recientes.. El mejor ejemplo es GPT-2, que innova en la técnica de aprendizaje multitarea. Gracias a este concepto, los modelos GPT modernos pueden resolver con precisión una gran variedad de tareas de PNL.
- Desde la perspectiva algorítmica, la mayoría de los LLM ya utilizan muchas técnicas avanzadas y resulta más difícil innovar nuevos métodos eficientes. Es por eso que los investigadores de PNL se centran más en extraer y alimentar más datos de alta calidad a los modelos. Este detalle explica por qué no hay tanta diferencia entre los mecanismos de funcionamiento internos de los primeros modelos GPT, en comparación con ChatGPT-3.5 o GPT-4. Como resultado, las diferencias más importantes suelen ser la cantidad de datos que se les suministra y la complejidad de una red neuronal. Al comprender cómo funcionan los primeros modelos GPT, podrá reconocer automáticamente los conceptos de funcionamiento de los modelos más avanzados.
GPT-2 está construido sobre GPT-1, lo que significa que tiene la misma arquitectura. Durante el entrenamiento, GPT-1 utiliza el objetivo de modelado de lenguaje de probabilidad logarítmica estándar:
Esta expresión puede considerarse como una optimización de la distribución de probabilidad condicional. p(salida | entrada) para una tarea determinada (en el caso de GPT-1, la tarea consiste en predecir el siguiente token). Si bien este enfoque funciona bien para tareas individuales, el modelo aún no puede aprender a realizar múltiples tareas. Por ejemplo, un modelo entrenado con el objetivo antes mencionado de predecir el siguiente token de la secuencia tendrá un rendimiento deficiente en un problema de análisis de sentimiento sin el ajuste adecuado.
Los autores de GPT-2 propusieron un enfoque novedoso para reemplazar el común preentrenamiento + ajuste fino marco que permitiría que un modelo entrenado funcione bien en diferentes tareas. La idea consiste en no modelar la probabilidad estándar p(salida | entrada) pero incluyendo el condicionamiento de tareas p(salida | entrada, tarea) en cambio. Existen varios enfoques para incorporar el tipo de tarea en el modelo. La mayoría de los métodos anteriores consideraban esta información realizando cambios a nivel de arquitectura. Aunque este enfoque funcionó bien en el pasado, resultó que no habría necesidad de modificar la arquitectura del modelo para la incorporación del tipo de tarea.
La idea última es que tarea La información se puede incorporar fácilmente a la secuencia de entrada.. Por ejemplo:
- Si es necesario traducir una oración en el idioma A al idioma B, entonces la secuencia de entrada en el conjunto de datos se escribirá como:
- Si se debe dar una respuesta a una pregunta en un contexto proporcionado, entonces la secuencia de entrada tomará la siguiente forma:
¡Sorprendentemente, el enfoque descrito ya demostró ser competitivo en trabajos anteriores (por ejemplo, el modelo MQAN)! La única desventaja importante es su lenta velocidad de aprendizaje.
Aprendizaje de tiro cero es un término popular y designa la capacidad de un modelo para realizar una determinada tarea sin haber recibido explícitamente ningún ejemplo de entrenamiento para ello. GPT-2 es un ejemplo de un modelo que tiene esta capacidad.
Para utilizar la idea de aprendizaje multitarea de la sección anterior, para el entrenamiento normalmente necesitaríamos un conjunto de datos cuyos objetos contengan descripciones de tareas, entradas de texto y etiquetas. Sin embargo, en realidad, los autores desarrollaron un marco robusto que convierte este problema supervisado en uno no supervisado y ¡ni siquiera necesita descripciones de tareas!
Los investigadores conjeturaron que Si un modelo se entrenó en un conjunto de datos grande y diverso, entonces probablemente habría muchas tareas de demostración del lenguaje en diferentes dominios que definitivamente ayudarían al modelo a comprenderlas completamente.. Para validar esta hipótesis, los autores diseñaron un algoritmo de web scraping que recopiló respuestas humanas en Reddit que recibieron al menos 3 me gusta. Recopilar todas las respuestas posibles de Reddit probablemente habría generado problemas de calidad de los datos y también habría sido demasiado grande para un modelo. Como resultado, la versión final del conjunto de datos incluye 8 millones de documentos que contienen 40 GB de datos de texto en total.
Dado que el conjunto de datos recopilado es muy diverso, para tener en cuenta mejor las palabras y caracteres raros, los autores incorporaron una versión ligeramente modificada de Byte-Pair Encoding (BPE) para las representaciones de entrada.
Según el artículo, GPT-2 tiene la misma arquitectura que GPT-1 excepto por varios cambios:
- La normalización de capas se movió a la entrada de cada bloque Transformer y se agregó al bloque final de autoatención.
- Los pesos de las capas residuales se dividen por √N en la inicialización donde (norte es el número de capas residuales).
- El tamaño del contexto aumenta de 512 a 1024.
- El tamaño del lote aumenta de 64 a 512.
- El tamaño del vocabulario se amplía de 40.000 tokens a 50.257.
Al convertir un problema supervisado en un formato no supervisado, el aprendizaje multitarea ayuda a GPT-2 a mejorar el rendimiento en varias tareas posteriores (excepto el resumen de texto) sin un ajuste fino explícito. De hecho, después de varios años, este marco de aprendizaje sigue ganando popularidad en el aprendizaje automático.
Cuando un conjunto de datos de entrenamiento es lo suficientemente grande y diverso, permite que modelos gigantescos enriquezcan el conocimiento lingüístico simplemente optimizando el objetivo del lenguaje de probabilidad logarítmica. Finalmente, GPT-2 se ha convertido en un ejemplo perfecto de este modelo.
Todas las imágenes son del autor a menos que se indique lo contrario.