OpenAI GPT: una inmersión profunda en los modelos GPT: sus principios y capacidades

Operai GPT: una inmersión profunda en los modelos GPT: sus principios y capacidades

Los modelos de transformador preentrenado generativo (GPT) de OpenAI son una serie de modelos de lenguaje basados en la arquitectura de Transformer, entrenados en un gran corpus de datos textuales para generar texto similar al humano, desarrollados por OpenAI. Desde la llegada del modelo Transformer, OpenAI ha continuado optimizando los modelos GPT con conjuntos de datos mejores y más grandes, módulos de redes neuronales mejorados, supervisión y asistencia humana, y otras innovaciones.

A partir de 2023, el último modelo de GPT, Chat GPT, se ha convertido en la aplicación más popular del mundo que ayuda a los usuarios a resolver problemas en varios dominios especializados. En este artículo, me gustaría discutir la evolución de los modelos OpenAI GPT y sus detalles técnicos.

Hay varios requisitos previos para comprender la evolución de GPT, incluido el modelo Transformer, el modelado del lenguaje y el ajuste para tareas específicas de procesamiento del lenguaje natural.

Modelado de lenguaje

Un modelo de lenguaje es una distribución de probabilidad sobre secuencias de tokens variables:

W = , es decir, P (W) = P (W1, W2, W3, ⋯, Wn)

Para optimizar dicho modelo de lenguaje de modo que el idioma seleccionado de la distribución de probabilidad sea natural para los humanos, generalmente entrenamos el modelo en datos textuales generados por humanos.

Modelado de idiomas

La optimización para la mayoría de los modelos de lenguaje es la estimación de máxima verosimilitud con respecto a los parámetros del modelo dados los datos de entrenamiento textuales. Específicamente,

donde θ son los parámetros del modelo de lenguaje, n es el número de secuencias del conjunto de datos, wies la i-ésima secuencia del conjunto de datos.

Suponga que W = , según la regla del encadenamiento,

θ Parámetros del modelo de idioma, N número de secuencias del conjunto de datos

En la práctica, los modelos de lenguaje, como las redes neuronales recurrentes y los modelos de transformadores, se optimizan mediante la siguiente fórmula.

Las redes neuronales y los modelos de transformadores se optimizan utilizando la siguiente fórmula

donde mi– es el número de tokens en la secuencia wi, y Wi,j– es la ficha j-ésima en la secuencia wi.

Ajuste fino para tareas específicas de procesamiento del lenguaje natural

Existen modelos y conjuntos de datos especializados diseñados específicamente para determinadas tareas de procesamiento del lenguaje natural, como el reconocimiento de entidades nombradas (NER), la traducción automática (MT) y la pregunta-respuesta (QA). Cada información de un conjunto de datos consta de un par de entradas X y salidas Y.

La optimización del modelo es un proceso de aprendizaje supervisado que minimiza la expectativa de pérdida de predicción. Específicamente,

La optimización del modelo es un proceso de aprendizaje supervisado

donde n es el número de datos del conjunto de datos, y (xi,yi) – I-th Datos anotados del conjunto de datos.

Operai GPT-1.

GPT-1 es la primera generación de modelos GPT que se desarrolló OpenAI para tareas de procesamiento del lenguaje natural en 2018. La conclusión principal de este modelo y el documento «Mejora de la comprensión del lenguaje mediante la pretruación previa generativa» fue que ya no es necesario desarrollar específicoLas arquitecturas de redes neuronales para tareas específicas de procesamiento del lenguaje natural, y la transferencia del aprendizaje basado en un modelo de lenguaje de decodificador transformador autorregresivo previamente entrenado en un gran corpus de datos textuales es suficiente para tareas específicas de procesamiento del lenguaje natural.

Similar a las redes neuronales recurrentes autorregresivas, que anteriormente eran los modelos dorados para el modelado de idiomas, es muy fácil entrenar un transformador autorregresivo del transformador autorregresivo utilizando un gran corpus de datos de lenguaje natural de manera auto-supervisada.

La ventaja del transformador para el modelado de idiomas es que el número de tokens utilizados para el entrenamiento e inferencia en el modelo del transformador puede ser mucho mayor.

Salida de una red neuronal recurrente, debido a demasiados tokens para entrenar o salir (decodificar).

Esto hace que el transformador sea una arquitectura mucho mejor para el modelado de idiomas y otras tareas de procesamiento del lenguaje natural que requieren comprender el contexto del texto.

GPT-1 fue entrenado por primera vez como modelo de idioma autorregresivo

GPT-1 fue entrenado por primera vez como un modelo de lenguaje autorregresivo. Aunque es un modelo de lenguaje autorregresivo en el momento de la inferencia para la producción del lenguaje natural, su capacitación no es autorregresiva y su producción tampoco debe ser autorregresivo. Debido a esto, el modelo de lenguaje autorregresivo GPT-1 se puede refinar para tareas especializadas de procesamiento del lenguaje natural utilizando los conjuntos de datos y métodos de datos especializados que se muestran en la figura anterior.

GPT-1 es un modelo autorregresivo del decodificador del transformador, mientras que al mismo tiempo también había un modelo no autorregoso del codificador del transformador de Google llamado Bert, que también se entrenó por primera vez usando modelado de lenguaje (aunque el modelado de idiomas fue «enmascarado»») y luego refinado para tareas específicas de procesamiento del lenguaje natural utilizando conjuntos de datos especializados.

El modelo de decodificador de transformadores autorregresivo utiliza un mecanismo de atención enmascarado en el que cada token solo puede prestar atención a los tokens anteriores, mientras que el modelo de codificador de transformador no autorgresivo utiliza un mecanismo de atención no mascar donde cada token puede prestar atención a los tokens antes y después de sí mismo bidireccionalmente.

Por lo tanto, parece que para las tareas especializadas de procesamiento del lenguaje natural cuyas entradas X siempre se dan de antemano, Bert tiene más sentido que GPT-1. De hecho, si no recuerdo mal, Bert era más popular que GPT-1, y era de vanguardia para varias tareas de procesamiento del lenguaje natural en ese momento.

También se debe tener en cuenta que en ese momento, para las tareas de procesamiento del lenguaje natural como el control de calidad, la formulación del problema de modelado muy incómoda, aunque el rendimiento de modelos como Bert era muy bueno en ese momento. Por ejemplo, aunque QA significa «pregunta y respuesta», la formulación del problema en el modelado fue en realidad la detección de respuestas, es decir, detectar respuestas del contexto prediciendo el índice de los tokens inicial y final en el contexto, en lugar de la respuesta inteligente. Los problemas de esta naturaleza se han abordado en modelos GPT posteriores.

OPERAI GPT-2

GPT-2 es la segunda generación de modelos GPT que OpenAI se desarrolló para tareas de procesamiento del lenguaje natural en 2019. Es el modelo que por primera vez tiene más de mil millones de parámetros. Gracias a los tremendos esfuerzos de ingeniería de OpenAI (y NVIDIA GPU), GPT-2 ha demostrado el poder de grandes conjuntos de datos de texto de alta calidad sin etiqueta y el potencial del modelo para resolver varias tareas especializadas de procesamiento de lenguaje natural, como QA y traducción, con cero.-Engente de modelado de lenguaje de entrada. Esto también se resume en un documento titulado «Los modelos de lenguaje son alumnos multitarea no solos».

En este trabajo, Operai ha creado un conjunto de datos extremadamente grande con advertencias con respecto a su calidad. Debido a que el conjunto de datos es tan grande, ya contiene muchos ejemplos «anotados» para varias tareas especializadas de procesamiento del lenguaje natural.

Por ejemplo, el conjunto de datos puede contener el fragmento de texto «traducir la palabra» hola «al chino -» 你 好 «, que es un ejemplo ideal para la traducción automática del inglés al chino. Uso de este conjunto de datos para entrenar un modelo de idioma, si el modeloTiene suficiente capacidad y es capaz de generalización, funcionará muy bien en tareas especializadas de procesamiento del lenguaje natural.

Por ejemplo, para la tarea de control de calidad, cuando el contexto y las preguntas se han cargado en GPT-2, el modelo ya no tiene que responder preguntas mediante la detección, simplemente responde generando nuevos tokens, que es más similar al comportamiento humano. Más importante aún, cuanto más grande sea el modelo, mejor será su rendimiento para diferentes tareas.

Para la tarea de control de calidad, cuando el contexto y las preguntas se cargaron en GPT-2, el modelo ya no necesita responder preguntas por detección

En el trabajo en GPT-2, los desarrolladores en realidad comenzaron a usar instrucciones, más tarde llamadas sugerencias, para guiar el modelo de idioma para generar el texto deseado. Por ejemplo, una pregunta en una tarea de control de calidad es una pista natural; La sugerencia «TL; DR:» se desarrolla en un conjunto de datos para tareas de resumen de texto de entrenamiento.

Los ejemplos también comenzaron a usarse para guiar el modelo de idioma para realizar las tareas deseadas, como agregar un ejemplo de traducción al inglés al francés antes de que se traduzca la oración en inglés para pedirle al modelo de idioma que traduzca del inglés al francés, que se está convirtiendo en un muyEnfoque común en el modelo GPT-3 posterior.

OPERAI GPT-3

GPT-3 es la segunda generación de modelos GPT que OpenAI se desarrolló para tareas de procesamiento del lenguaje natural en 2020, y ha sido fenomenal. El número de parámetros GPT-3 superó los 175 mil millones, 175 veces más que GPT-2.

El estudio GPT-3 extendió naturalmente GPT-2. Su documento «Los modelos de idiomas son los alumnos de múltiples múltiples snapshot» enfatiza el «aprendizaje en el contexto», que es la idea de que simplemente mostrando múltiples demostraciones (múltiples instantáneas) dadas como entrada, un modelo de lenguaje puede funcionar mucho mejor en tareas especializadas de procesamiento de lenguaje natural enTiempo de inferencia, sin la necesidad de actualizar los parámetros del modelo.

Por ejemplo, para pedirle a GPT-3 que realice la traducción automática, primero podemos describir la tarea, luego mostrar algunas demostraciones y finalmente dar una pista, es decir, una oración para traducir por GPT-3, y GPT-3 puede generar la oración traducida.

De hecho, ya hemos visto algunos de estos ejemplos en el trabajo GPT-2 mencionado anteriormente.

El estudio GPT-3 extendió naturalmente GPT-2

Además, GPT-3 utilizó el mecanismo de atención escaso, reduciendo la complejidad asintótica de las matrices de atención informática de O (n2) a o (n√n). Esto redujo en cierta medida la presión de inferir un modelo con 175 mil millones de parámetros.

Operai instructtgpt

Aunque los modelos de lenguaje GPT, incluido GPT-3, han tenido un buen desempeño en tareas especializadas de procesamiento de lenguaje natural. No están capacitados para ejecutar instrucciones humanas porque el conjunto de datos utilizado para entrenar modelos GPT previamente contiene menos texto.

Una instrucción no siempre es una pregunta, y es posible que no tenga un contexto rico para facilitar que el modelo siga la instrucción.

En el pasado, para lograr una tarea de control de calidad en GPT-3, primero teníamos que proporcionar un documento, luego una pregunta y algunas fichas especiales como «A:» o «Respuesta:». Esta no es una forma natural de hacerle a la gente que responda preguntas. Especialmente para algunas preguntas, no necesitamos proporcionar el documento primero.

Por ejemplo, si un usuario solo le pidió al modelo de lenguaje GPT-3 «, explique el aterrizaje de la luna a un niño de 6 años en unas pocas oraciones» sin dar más contexto o demostración. Es poco probable que GPT-3 se dé cuenta de que esta es una instrucción de un humano. Por lo tanto, GPT-3 puede generar oraciones como «explicar la teoría de la gravedad a un niño de seis años» o «explicar la teoría del Big Bang a un niño de seis años». Desde una perspectiva del lenguaje natural, estas terminaciones tienen sentido. Pero desde una perspectiva humana, el modelo lingüístico no ha logrado realizar la tarea que esperábamos.

Además del problema de seguir las instrucciones humanas, el lenguaje puede generar textos dañinos o falsos. Por ejemplo, desde una perspectiva del lenguaje natural, está perfectamente bien que un modelo de idioma genere «Quiero destruir a las personas», especialmente cuando los desarrolladores de OpenAI nunca pueden explorar completamente y seriamente el conjunto de datos grande utilizado para la capacitación. Pero esta sugerencia es muy tóxica para los lectores humanos.

InstructGPT fue diseñado específicamente para resolver este problema en 2022. En el proceso de aprendizaje de InstructGPT, una persona participa en un ciclo. El procedimiento de aprendizaje se puede representar de la siguiente manera:

  1. Se recopilan datos de demostración, que es un conjunto de datos que consta de un mensaje y la respuesta deseada correspondiente demostrada por el ser humano. Luego, el modelo GPT-3 preentrenado se refina en este conjunto de datos mediante el aprendizaje supervisado. Este modelo se conoce como modelo de ajuste fino supervisado (SFT).
  2. Recopilación de datos de comparación. Cada pieza de información del conjunto de datos de comparación consta de una pista, varios ejemplos de finalizaciones del modelo de ajuste fino, una clasificación humana de finalizaciones según sus preferencias. Se entrenó un modelo de recompensa (RM) en este conjunto de datos para predecir la puntuación de recompensa a partir de la sugerencia y la finalización.
  3. El modelo SFT se optimizó aún más en un entorno de aprendizaje por refuerzo utilizando la recompensa generada por RM y el algoritmo de optimización de política proximal (PPO). Los modelos STF que se han optimizado aún más utilizando el algoritmo PPO se denominan modelos PPO.

Tenga en cuenta que los pasos 2 y 3 se pueden repetir en el ciclo de aprendizaje.

InstructGPT se desarrolló específicamente para abordar este problema en 2022

El paso 1 parece muy simple para alguien familiarizado con el entrenamiento de modelos de lenguaje. Los pasos 2 y 3 son un poco vagos por la breve descripción. Detengámonos en ellos con más detalle.

En el paso 2, RM es esencialmente otro modelo de la arquitectura GPT-3, que consta de un poco menos de parámetros. Se entrena previamente en un conjunto de datos de texto y tareas especializadas de procesamiento de lenguaje natural, y luego se refina en función de los datos comparativos recopilados.

Se adjuntó un motor de regresión a la arquitectura GPT-3 para que pudiera producir una estimación de recompensa escalar dados los datos de entrada de solicitud y finalización, al igual que OpenAI sintonizó GPT-1 para tareas específicas de lenguaje natural.

La pérdida de clasificación se diseñó para que el modelo RM pudiera aprender a predecir estimaciones de recompensas escalares utilizando un conjunto de datos de clasificación en el que no hay una recompensa real. Específicamente,

Se diseñaron pérdidas de clasificación para que el modelo RM pudiera aprender a predecir los puntajes de recompensa escalar

donde KXes el número de compleciones que una persona clasificó para la pista X,( X , Y ) es la salida escalar de RM para la indicación X y la terminación Y, σ es una función sigmoidea, Yw e Yl son un par de terminaciones para X y se prefiere Yw.

Tenga en cuenta que la expresión de optimización anterior es ligeramente diferente de lo que se describe en el artículo de InstructionGPT «Modelos de lenguaje de capacitación para seguir las instrucciones con la retroalimentación humana», porque creo que su expresión no es del todo correcta y puede confundir a los lectores.

Además, no compro su explicación del sobreajuste de RM si mezclan las comparaciones en un conjunto de datos en lugar de agrupar todas las comparaciones para un mensaje en un paquete en el artículo Instructive. Es probable que sin saberlo hicieran la siguiente optimización que arruinó el proceso de aprendizaje.

Todas las comparaciones para una sola pista en un solo lote en el papel instructivo

Al arreglar la función de pérdida, pueden optimizar el modelo de la misma manera sin sobreajustar, incluso si barajan las comparaciones en el mismo conjunto de datos.

En el paso 3, dada una pista x, el modelo PPO π rl /ϕ, donde ϕ es un parámetro modelo, puede seleccionar aleatoriamente la finalización y con probabilidad π rl /ϕ(Y | x). También se puede calcular la probabilidad de que el mismo par de sugerencias y finalización se seleccione del modelo SFT del paso 1, π sft (y | x). RM puede generar una recompensa por el par de la señal y la finalización(X, y). Dado que PPO también es un modelo de lenguaje, para cualquier entrada de texto de lenguaje natural dada puede calcular su probabilidad π rl /ϕ(W).

Optimizar el modelo PPO con PPO es maximizar el siguiente objetivo, que consta de tres partes.

Optimización del modelo PPO

Optimizar el modelo PPO con PPO es maximizar el siguiente objetivo, que consta de tres partes

Donde β y γ son los factores de ponderación para los diferentes componentes.

El primer componente en el objetivo de maximización, e(X, y) ∼pprompt (x) π rl /ϕ(Y | x)[rθ(X, y)], es sencillo de entender.

Nos gustaría que el modelo PPO genere una finalización y dada cualquier x tal que la recompensa rθ(X, y) se maximiza. Esto también se llama optimización de «política», que es un término en el aprendizaje de refuerzo. Este componente es el componente principal en el objetivo de optimización.

El segundo componente en el objetivo de maximización, e(X, y) ∼Pprompt (x) π rl /ϕ (y | x)π rl /ϕ [logπ rl /ϕ(Y | x)/π sft (y | x)] es un término de regularización que garantiza que la política del modelo PPO no se desvíe de la política del modelo SFT. De hecho, este componente es solo una divergencia KL y se llama la «penalización de KL por token» mencionada en el documento.

Penalización de KL por token

De hecho, creo que sería más apropiado llamarlo la penalización de KL en la pista en lugar de la penalización del token en el artículo.

Recuerde que la divergencia KL es estrictamente no negativa, y su valor es 0 si y solo si las dos distribuciones son exactamente las mismas. Esta es la razón por

término de regularización

es un término de regularización que garantiza que la política del modelo PPO no se desvíe de la política del modelo SFT. Después de todo, SFT ya debe seguir bien las instrucciones humanas, lo que también se demuestra en la siguiente figura.

Después de todo, el SFT ya debe seguir bien las instrucciones humanas

El tercer componente es un término típico utilizado para el modelado de idiomas.

El tercer componente es un término típico utilizado para el modelado de idiomas

Recuerde que el modelo PPO también es un modelo de idioma. Esto asegura que la política de generación de modelos PPO no se desvíe mucho del modelo de lenguaje para simplemente maximizar el valor de recompensa, especialmente porque RM nunca puede ser impecable.

Operai Chatgpt

ChatGPT fue una evolución de InstructGPT, que se desarrolló OpenAi en 2022. Su proceso de entrenamiento fue esencialmente el mismo que InstructgPT detallado anteriormente, excepto que los datos de demostración utilizados para entrenar el modelo CHATGPT SFT eran diferentes de los utilizados para entrenar el modelo SFT SFT de InstructGPT.

Como puede entender por el nombre, ChatGPT es una aplicación que permite al usuario comunicarse con inteligencia artificial. Pero la «inteligencia» que ChatGPT demostró en varios campos fue tan asombrosa que muchas personas comenzaron a temer perder sus trabajos debido a Chatgpt. Debido a esto, inmediatamente se convirtió en la aplicación más popular y de más rápido crecimiento en la historia.

ChatGPT se ha convertido en la aplicación más popular y de más rápido crecimiento en la historia

La diferencia entre ChatGPT e InstructGPT es que InstructTPPT es más una «única» donde el usuario da una instrucción e instructGPT hace el trabajo, mientras que ChatGPT permite que el proceso sea iterativo en forma de una conversación sin olvidar el contexto anterior. Permite al usuario hacer preguntas o dar instrucciones, y aclarar preguntas o instrucciones.

El rendimiento de ChatGPT también es muy agradable. Dado que ChatGPT puede ayudar al usuario a hacer algo y solicitar directamente la respuesta, la dependencia de la persona en el motor de búsqueda puede reducirse considerablemente. En este sentido, Google incluso ha emitido una «alerta roja», que nunca ha emitido desde su inicio.

Finalmente, veamos qué diferencia a ChatGPT e instructive: los datos. Los datos utilizados para entrenar el modelo SFT en ChatGPT son diálogos generados por humanos en un formato de diálogo especial. Las respuestas en el diálogo pueden ser sugeridas por los modelos GPT existentes y refinadas por humanos. Por lo tanto, cuando el chatGPT está capacitado, sigue siendo tan inteligente como instructGPT y tiene una mejor experiencia del usuario a medida que el proceso se convierte en un diálogo iterativo.

Conclusiones

Las ideas detrás de los modelos Operai GPT son simples, pero extremadamente costosas. Afortunadamente, como lo han demostrado los resultados, también son eficientes. La historia de los modelos GPT ha mostrado la determinación y ejecución de OpenAI en el avance de la inteligencia general artificial (AGI) utilizando el lenguaje natural, algo que probablemente nadie más haya tenido.

En el futuro, al menos en el futuro cercano, puedo imaginar que el camino de los humanos a la inteligencia artificial se basará (aún) en grandes redes neuronales artificiales impulsadas por grandes conjuntos de datos anotados y con la ayuda de los humanos.

Como han demostrado InstructGPT y ChatGPT, los modelos de idiomas solo comenzaron a ser realmente útiles y universales cuando las bases de datos anotadas y el control humano entraron en juego.

Fuentes:

  • GPT-1
  • GPT-2
  • GPT-3
  • Instructa
  • Chatgpt
  • Estimación de máxima probabilidad de los parámetros del modelo N-Gram
  • Estimación de máxima probabilidad vs máxima estimación posteriori
Chat GPT: red neuronal en español. servicio online en españa