Serie de desarrollo OpenAI (2): Historia del desarrollo de modelos de lenguaje grandes y explicación detallada de la arquitectura de transformadores

El texto completo tiene un total de 1,8w palabras y el tiempo estimado de lectura es de unos 60 minutos | Lleno de información útil, ¡se recomienda recopilarla!

1

1. Introducción

En el otoño de 2020, GPT-3 atrajo una gran atención debido a su difusión viral en las redes sociales. Este modelo de lenguaje grande (LLM), que tiene más de 175 millones de parámetros y un costo de funcionamiento de 1 millón de dólares por segundo, ha abierto una nueva era en el campo del procesamiento del lenguaje natural (PLN).

En esta etapa, la aparición de modelos preentrenados a gran escala ha cambiado por completo el panorama de investigación y aplicación de la PNL.

Los modelos de lenguaje a gran escala aprovechan al máximo el potencial de grandes cantidades de datos sin etiquetar, lo que brinda al modelo capacidades de generalización y comprensión del lenguaje más sólidas. Los modelos grandes que utilizan estrategias de preentrenamiento y ajuste han logrado logros sin precedentes en múltiples tareas de PNL, demostrando un rendimiento excelente en términos de precisión del modelo, capacidad de generalización y procesamiento de tareas complejas. Esto no sólo atrajo una gran cantidad de inversiones, sino que también dio origen a nuevas direcciones de desarrollo e investigación en el campo de la PNL.

Al mismo tiempo, a medida que el umbral de aplicación y el umbral de uso de los modelos grandes se reducen gradualmente, continúan surgiendo una gran cantidad de productos de modelos grandes: ChatGPT, la herramienta de compilación de código en varios idiomas Cursor, la herramienta oficial de escritura de código de Github CopilotX, Gamma AI que genera contenido PPT con un clic, Office Copilot configurado en FamilyMart, funciones de relleno configuradas en Photoshop, MidJourney y Stable Diffusion que generan imágenes ampliamente... Estas aplicaciones no solo han cambiado la forma en que operan los negocios, sino que también han afectado enormemente la vida y el trabajo de las personas.

2. Desarrollo de grandes modelos de lenguaje.

Hablando de modelos grandes, una de las cosas más interesantes sucedió en 2021. Un desarrollador utilizó GPT-3 para crear un juego de chat de texto llamado "Proyecto Diciembre". El juego utiliza datos de texto recopilados de Facebook y mensajes de texto personales de una mujer fallecida llamada Samantha (Samantha murió en 2012). Sorprendentemente, su novio utilizó este juego para chatear por mensajes de texto con la IA que imitaba a Samantha, y la conversación se prolongó durante varios meses sin notar nada inusual. El incidente planteó una serie de cuestiones éticas y morales.

imagen

Este incidente no sólo reveló el poderoso potencial de los modelos grandes, sino que también presagió su posible dirección de desarrollo futuro. En el pasado, teníamos la impresión de que los robots eran una forma de interacción simple y mecánica. Incluso con el apoyo de la tecnología de procesamiento del lenguaje natural continuamente optimizada, la mayoría de las respuestas de estos robots todavía estaban preestablecidas y fijas, obviamente carentes de profundidad y realismo. Sin embargo, la tecnología moderna ha superado estas limitaciones.

Los robots del futuro, como el llamativo 550w de la película "The Wandering Earth 2", demostrarán emociones y capacidades de pensamiento casi humanas.

ChatGPT es el pionero de este cambio. No solo puede comprender y generar texto complejo con precisión, sino que también puede funcionar sin problemas con tecnología avanzada de audio y video para construir una forma de vida digital asombrosa, casi consciente de sí misma, como Yaya en la película.

Durante este cambio, la capa de aplicación subyacente también implementa constantemente iteraciones tecnológicas, como se muestra a continuación:

imagen

A partir de los primeros asistentes inteligentes basados ​​en tareas (como los parlantes inteligentes Siri y Baidu), la inteligencia artificial ha experimentado una serie de cambios significativos. Aunque estos primeros productos se construyen en base a diferentes datos y modelos y funcionan bien en términos de escalabilidad funcional, son más bien una "pseudo" inteligencia artificial cuyas capacidades se limitan a tareas y escenarios específicos.

Posteriormente, la aparición del modelo Bert marcó un importante punto de inflexión. A diferencia de los modelos anteriores basados ​​en tareas, Bert puede comprender el lenguaje humano más profundamente a través del proceso de preentrenamiento y ajuste. Adopta un enfoque de capacitación previa no orientado a tareas que luego se puede aplicar a varias tareas posteriores mediante ajustes. Aún así, la complejidad del ajuste del modelo sigue siendo un obstáculo insuperable.

La innovación del modelo GPT actual radica en su idea de diseño "basado en indicaciones". No sólo la escala de preformación es más de 500 veces mayor que la de Bert,

GPT también puede generar lenguaje de forma autónoma para adaptarse a una variedad de tareas desconocidas, simplemente cambiando las indicaciones de entrada sin ninguna modificación en el modelo en sí . Este progreso está en línea con nuestras expectativas y aspiraciones iniciales para la inteligencia artificial y presagia la llegada de una nueva era de IA más inteligente y flexible.

Entonces nuestras expectativas para la inteligencia artificial deberían ser así:

imagen

imagen

Este es el ChatGPT con el que estamos familiarizados y, si profundizamos, el proceso de razonamiento detrás de él es el siguiente:

imagen

Debe saberlo claramente: el modelo GPT (transformador generativo preentrenado) es un modelo autorregresivo y su idea central es generar la siguiente palabra más probable en función de la secuencia de texto existente. Todo esto se basa en el aprendizaje y el razonamiento estadístico en lugar del razonamiento o pensamiento lógico como lo hacen los humanos.

GPT (Transformador generativo preentrenado) se basa en la arquitectura Transformer, que desempeña un papel clave en todo el proceso de razonamiento. Aunque OpenAI no divulga completamente todos los detalles y datos de entrenamiento del modelo GPT, su mecanismo central todavía se basa en Transformer, que se describe en múltiples artículos académicos y documentos técnicos. Por lo tanto, comprender los principios básicos de Transformer no solo ayuda a comprender cómo el modelo GPT genera texto, sino que también es de gran valor para otras tareas de procesamiento y desarrollo del lenguaje natural.

En otras palabras, conocer los conceptos básicos revela cambios, lo cual es crucial para el desarrollo.

3. Explicación detallada de la arquitectura del modelo de la serie GPT.

La historia del desarrollo de la tecnología de procesamiento del lenguaje natural (NLP) es un proceso de iteración y optimización gradual. Antes de que surgiera la arquitectura Transformer, el campo había experimentado un cambio de depender de reglas manuales y bases de conocimiento al uso de estadísticas y modelos de aprendizaje profundo. Desde entonces, la aparición de Transformer ha marcado una nueva era, especialmente con el lanzamiento de modelos como BERT y GPT, que han mejorado drásticamente la comprensión del lenguaje natural y las capacidades de generación. Ahora se puede decir que hemos entrado en la era de los modelos grandes y las aplicaciones basadas en la arquitectura Transformer están atravesando un período explosivo sin precedentes.

Es posible que nos hayamos acostumbrado a modelos de chat como ChatGPT, y parece normal responder preguntas tan pronto como se hacen. Sin embargo, si piensas profundamente en cómo funciona detrás de escena, descubrirás que en realidad es algo sorprendente. Entonces, quiero aclarar una pregunta para todos: qué es exactamente un Transformer y cómo logró tal influencia revolucionaria.

imagen

3.1 Explicación detallada de la arquitectura Transformer

El backend de ChatGPT se basa en el modelo GPT (Transformador generativo preentrenado), que aprende las características estadísticas y la representación semántica del lenguaje a través de un entrenamiento previo no supervisado en datos de texto a gran escala . Utiliza un enfoque autorregresivo , que consiste en predecir la siguiente palabra basándose en palabras generadas previamente, para aprender las relaciones semánticas y gramaticales entre palabras, así como la información contextual general de oraciones y textos.

El modelo GPT en sí se basa en la estructura Transformer, por lo que para comprender completamente por qué los modelos generativos grandes son tan poderosos, la arquitectura Transformer es un punto clave indispensable.

Entonces, ¿cómo logra esta arquitectura funciones avanzadas como la generación de texto y la comprensión semántica?

El artículo más clásico de Transformer [Attention Is All You Need], uno de los mejores, dirección: https://arxiv.org/abs/1706.03762

**El transformador consta de un codificador (Codificador) y un decodificador (Decodificador), donde el codificador se usa para aprender la representación de la secuencia de entrada y el decodificador se usa para generar la secuencia de salida. GPT utiliza principalmente la parte decodificadora del transformador para construir un modelo de lenguaje. **La estructura es la siguiente:

imagen

Si no tiene la base del algoritmo de PNL, puede parecer un poco confuso, pero no importa, no es necesario que domine completamente todos los detalles. Sólo es necesario aclarar dos conceptos básicos:

  1. Cómo funciona el mecanismo de atención en Transformer
  2. ¿ Qué significa exactamente la salida generativa de la parte del decodificador ?

Permítame desglosarle cómo fluye y se procesa una parte de los datos de entrada en esta arquitectura compleja.

3.1.1 Desmontar la arquitectura del transformador

  • representación textual

En el modelo Transformer, el texto de entrada se procesa primero para obtener una representación adecuada.

¿Por qué tal conversión?

Considere este escenario: cuando ingresa la oración "La programación AI + zarpa", ¿puede la computadora entenderla directamente? O, cuando interactúas con ChatGPT, ¿realmente "escucha" cada palabra o palabra que dices? Este no es el caso.

ChatGPT no maneja el lenguaje natural directamente. Necesita convertir nuestra entrada en un formato de datos que pueda comprender. En resumen, codifica cada palabra o carácter en una forma vectorial específica.

Los pasos específicos de este proceso de codificación son los siguientes:

  1. Incrustación de palabras: cada palabra del texto se convierte en un vector de alta dimensión. Esta conversión generalmente se realiza mediante modelos de incrustación de palabras previamente entrenados (como Word2Vec, GloVe, etc.).
  2. Incrustación posicional: el modelo Transformer estándar no tiene conocimiento de orden de secuencia incorporado, por lo que es necesario agregar información posicional. Esto se hace mediante incrustaciones de posición, que tienen las mismas dimensiones que las incrustaciones de palabras y se suman a las incrustaciones de palabras.

Por ejemplo, considere la frase "La programación AI+ zarpa".

Sin incrustación posicional, la oración puede analizarse incorrectamente como "Programando AI+, izando velas", etc., lo que destruirá el orden y la semántica originales de la oración.

El propósito de la incrustación posicional es garantizar que el vector de palabras codificadas refleje con precisión el orden de las palabras en la oración, conservando así el significado original de toda la oración.

  1. Adición: se agregan incrustación de palabras e incrustación de posición para obtener una nueva representación de incrustación que contiene información de texto e información de posición.

La representación final del Transformador de la entrada es x, de modo que el modelo sabe no solo qué es cada palabra, sino también su posición en la secuencia.

imagen

Por ejemplo:

imagen

A través de dicho proceso de procesamiento, el modelo puede reconocer una entrada como "navegar".

En cuanto a la parte de procesamiento de entrada de Transformer, según el diagrama de arquitectura, tanto la parte del codificador como la del decodificador tienen entradas, ¿cómo entiendes esto?

imagen

Esto se debe a que: en el modelo Transformer, el codificador (Encoder) y el decodificador (Decoder) tienen entradas independientes . Normalmente, en el contexto del aprendizaje supervisado, el codificador es responsable de procesar las muestras de entrada y el decodificador procesa las etiquetas correspondientes. Estas etiquetas también deben ser

requieren un preprocesamiento adecuado. Esta configuración permite entrenar el modelo específicamente en tareas específicas.

Este concepto se ilustra mediante una sencilla tarea de traducción automática. Supongamos que tenemos los siguientes pares de traducción del inglés al francés:

  • Inglés (muestra de entrada): “Hola, mundo”
  • Francés (etiqueta): “Bonjour, monde”

En este ejemplo, el codificador recibe la frase "Hola, mundo" como entrada. Esta oración primero se convertirá en un conjunto de vectores de palabras o vectores de caracteres y luego se ingresará en el codificador para su procesamiento.

Al mismo tiempo, el Decodificador recibirá como entrada la etiqueta correspondiente a "Bonjour, monde". Nuevamente, estas etiquetas se convierten primero en una representación comprensible por máquina (como vectores de palabras o vectores de caracteres) y luego se introducen en el decodificador.

Una vez que el codificador ha procesado las muestras de entrada, su salida se combina de alguna forma con la entrada del decodificador para producir la salida de traducción final. A través de este mecanismo, los modelos se pueden entrenar en un entorno de aprendizaje supervisado para completar tareas específicas, como la traducción automática.

  • Codificador (parte del codificador)

La parte del codificador en Transformer se utiliza para aprender la representación de la secuencia de entrada. La posición se muestra en la siguiente figura:

imagen

En la parte del codificador (cuadro de puntos rojos) del modelo Transformer, el flujo de procesamiento de datos es el siguiente:

Primero, los datos de entrada (como un fragmento de texto) se enviarán al mecanismo de atención para su procesamiento. **A cada elemento de los datos (como cada palabra o palabra) se le asignará una puntuación para determinar cuáles son más importantes. ., **Después del paso "Mecanismo de atención", se generarán algunos datos nuevos.

Luego, se ejecutará una operación "Agregar" y los nuevos datos generados en el mecanismo de atención se combinarán con los datos originales ingresados ​​​​al principio. Esta fusión es en realidad una simple adición. "Agregar" significa conexión residual, que El principal El propósito de esta operación es garantizar que el efecto de los datos procesados ​​con atención sea al menos tan bueno como la entrada directa de los datos originales.

Posteriormente, los datos se someterán a un proceso matemático simple llamado "normalización de capas" (Norma), principalmente para hacer los datos más estables y facilitar el procesamiento posterior.

Luego, los datos ingresan a una red neuronal de alimentación directa de dos capas. El objetivo aquí es mapear los datos procesados ​​con atención a sus dimensiones originales para su posterior procesamiento. Esto se debe a que los codificadores se apilarán varias veces, por lo que debe asegurarse de que las dimensiones de los datos sean consistentes antes de ingresar el siguiente codificador.

En pocas palabras: se trata de cambiar los datos que se han procesado antes a su forma y tamaño originales.

Preste atención al logotipo de Nx en el lado izquierdo del codificador en la imagen, lo que significa que habrá varios codificadores apilados.

Finalmente, para preparar los datos para ingresar al siguiente codificador (si lo hay), los datos pasarán por las operaciones "Agregar" y "Norma" nuevamente, generando una representación vectorial de palabras cuidadosamente calculada y reconstruida.

Este diseño garantiza que el modelo pueda transferir y procesar información de manera efectiva entre múltiples capas de codificador, al mismo tiempo que se prepara para etapas de cálculo y decodificación más complejas.

En pocas palabras, el codificador de Transformer utiliza estos pasos para comprender y procesar los datos de entrada, y luego genera un formulario de datos nuevo y más fácil de entender. Como se muestra en la imagen:

imagen

  • Decodificador (parte del decodificador)

La parte del decodificador en Transformer se utiliza para generar la secuencia de salida. La posición se muestra en la siguiente figura:

imagen

En la parte del decodificador (cuadro de puntos morados) del modelo Transformer, el flujo de procesamiento de datos es el siguiente:

En la parte del Decodificador, los datos ingresan primero a un mecanismo de atención enmascarado, cuya función es garantizar que el decodificador solo pueda prestar atención a las palabras que ha generado antes, pero no pueda ver las palabras futuras.

La información generada por esta capa se fusiona con la salida de la parte Codificador. Específicamente, estas dos partes de información serán procesadas nuevamente por un mecanismo de atención para considerar de manera integral el contenido de la codificación y decodificación.

Después de este proceso, el funcionamiento del decodificador es aproximadamente el mismo que el del codificador. Los datos pasarán por la normalización de la capa, la red neuronal de avance, la normalización de la capa nuevamente y finalmente generarán una representación vectorial de palabras.

El vector de palabras de salida primero pasará a través de una capa lineal (Lineal). El propósito de este paso es asignar los vectores a un tamaño de diccionario predefinido, preparándolos así para la predicción de palabras.

Finalmente, la función softmax se utiliza para calcular la probabilidad de generación de cada palabra. Finalmente, se selecciona como salida la palabra con mayor probabilidad en ese momento.

Por ejemplo:

Ahora imagina que hay un pequeño diccionario con sólo 3 palabras: "manzana", "plátano" y "cereza". La capa lineal convertirá este vector 3D en otro vector 3D (correspondiente al tamaño del "diccionario").

Supongamos que el vector transformado es [2.5, 1.0, -0.5].

A través de la función softmax, este vector se convertirá en una distribución de probabilidad, por ejemplo [0.8, 0.18, 0.02].

Esto significa que el modelo piensa que la siguiente palabra es "manzana" con un 80% de probabilidad, "plátano" con un 18% de probabilidad y "cereza" con un 2% de probabilidad.

De esta manera, se puede predecir una palabra real a partir de la salida de alta dimensión del decodificador.

De esta manera, el Decodificador no solo considera las palabras generadas por la decodificación anterior, sino que también integra la información contextual del Codificador para predecir la siguiente palabra con mayor precisión.

Lo más importante relacionado con GP es el uso de la arquitectura Decoder para construir modelos de lenguaje .

3.1.2 Mecanismo de atención

Mecanismo de atención, ¿a qué le presta atención exactamente? Los humanos, cuando empiezan a hacer algo, normalmente se centran en cierta información clave e ignoran otra información menos relevante.

Por ejemplo:

Cuando conduce y se acerca a una intersección, puede prestar especial atención a los semáforos, los peatones y los movimientos de otros vehículos, mientras ignora información menos relevante, como el paisaje o los carteles publicitarios a lo largo de la carretera. De esta manera, podrá asegurarse de tomar la decisión correcta sobre sus acciones, como detenerse o continuar conduciendo.

Entonces, para una computadora, ¿cómo analiza la información contextual y comprende la relación entre las diferentes semánticas?

imagen

Este diagrama se utiliza a menudo para mostrar cómo se utiliza la atención para determinar a qué sustantivo se refiere el pronombre "eso" (en este caso, "El animal").

Frase original: “El Animal no cruzó la calle porque estaba muy cansado” Traducido como: Como el animal estaba muy cansado, no cruzó la calle. "it" se refiere a "El Animal". Sin embargo, si cambias una palabra en la oración y reemplazas "cansado" por "estrecho", la nueva oración resultante será "El Animal no cruzó la calle porque era demasiado estrecha". , traducido como: Debido a que la calle era demasiado estrecha, los animales no cruzaron la calle. En esta nueva frase, "it" se refiere a "la calle".

Por lo tanto, el modelo debe poder comprender que cuando la oración de entrada cambia, el significado de las palabras en la oración también puede cambiar. Esta flexibilidad y precisión se demuestra en el modelo Transformer, algo que ningún modelo anterior ha podido lograr.

El principio de funcionamiento del mecanismo de Atención se puede describir visualmente así:

El modelo codifica cada palabra en un vector y luego introduce estos vectores en el modelo. Aquí, cada palabra será como enviar una "consulta" a otras palabras: "¿Es estrecha la relación entre nosotros? ¿Somos cercanos? Si la relación es estrecha, el modelo realizará una acción, y viceversa. Otra acción.

Cada palabra no sólo plantea esa "indagación", sino que también responde a las "indagaciones" de otras palabras. A través de dicha interacción de preguntas y respuestas, el modelo puede identificar la estrecha relación entre cada dos palabras. Una vez que se determina esta relación, el modelo "absorberá" la información de las palabras que estén más estrechamente relacionadas con la palabra y fusionará más información con ella. De esta forma, por ejemplo, en una tarea de traducción, el modelo puede identificar con precisión que "ello" debe traducirse como "animal" porque su vector ha incorporado información muy relacionada con la palabra "animal".

** Entonces, el núcleo del mecanismo de atención es reconstruir el vector de palabras. **Este mecanismo se convierte en un proceso de cálculo informático de la siguiente manera:

De la descripción visual anterior, se pueden extraer tres elementos del mecanismo de atención:

  • P: Consulta, que puede entenderse como una palabra que realiza una consulta como otras palabras.
  • K: Clave, que puede entenderse como una palabra que responde preguntas sobre otras palabras.
  • V: Valor, que puede entenderse como el valor real de una palabra, indicando cuánta información se extrae e integra en sí misma en función de la estrecha relación entre las dos palabras.

imagen

En el modelo Transformer, Q, K y V se obtienen realizando operaciones matriciales en la representación del vector de entrada Transformer(x) y las matrices de peso correspondientes Wq, Wk, Wv.

Si está familiarizado con el aprendizaje profundo, debe saber que los datos dentro del modelo son principalmente multiplicaciones de matrices con diferentes parámetros de peso. Si no existe un fundamento previo, considérelo como un módulo inherente al modelo y una regla de cálculo formulada.

Estas matrices de peso se inicializan matemáticamente inicialmente y luego se actualizan y optimizan gradualmente durante múltiples rondas de entrenamiento del modelo. El objetivo es obtener las matrices Q, K y V optimizadas después de multiplicar los datos entrantes con estas matrices de peso.

Tomando Q como ejemplo, su primer elemento se obtiene realizando operaciones de suma y multiplicación de puntos en la primera fila del vector de entrada x y la primera columna de la matriz de pesos Wq.

imagen

Por lo tanto, la primera fila de la matriz Q en realidad significa esto: contiene la información clave requerida para la primera palabra (correspondiente a la primera fila de la entrada X) al consultar otras palabras. De manera similar, la lógica de cálculo de las matrices K y V es similar a esta.

En la primera fila de la matriz K se almacena la información necesaria para que la primera palabra responda a la consulta de otras palabras. La primera fila de la matriz V contiene la información contenida en la primera palabra. Después de determinar la relación con otras palabras a través de Q y K, la información almacenada en V se utiliza para reconstruir el vector de palabras de la palabra.

Después de obtener Q, K y V, Atención realiza las siguientes operaciones:

imagen

Esta fórmula implica el proceso de preguntar y responder, y el proceso de cálculo que muestra es el siguiente:

imagen

El proceso de cálculo también es la multiplicación y suma de matrices, por lo que el QKT QK^T obtenidoq kLa matriz T expresa la cercanía de la relación entre palabras.

¿Por qué esto mide la cercanía entre palabras?

Al calcular la multiplicación de matrices, el vector corresponde al producto de elementos. Este método de cálculo se denomina producto interno de vectores en matemáticas.

El producto interno de los vectores expresa el significado geométrico de los vectores: cuanto mayor es el producto interno, más paralelos son los dos vectores, lo que significa que los dos vectores son más similares. Cuando el producto interno es 0, los dos vectores serán Habrá una relación vertical, lo que indica que los dos vectores no están relacionados.

En cuanto al formato de preguntas y respuestas de Q y K en el mecanismo de Atención, lo que se pregunta es la cercanía entre las dos palabras, por lo que la similitud entre las dos palabras se puede medir a través del producto interno.

Durante este proceso habrás notado que también se hizo preguntas y dio sus propias respuestas ¿Por qué hizo esto?

Tomemos este ejemplo: "El Animal no cruzó la calle porque estaba demasiado cansado" se traduce como: El Animal no cruzó la calle porque estaba demasiado cansado. Normalmente "ello" como pronombre se refiere a "ello", pero en esta oración queremos que se refiera a "El Animal", por lo que no muestra su importancia en esta oración. Si no reconstruye su propia información, Es posible que no pueda cambiar su significado original, y no podrá cambiar del significado original de "eso" a referirse a "El Animal".

Debido a esta operación, el mecanismo de atención en Transformer se llama Self-Attention (mecanismo de autoatención).

Una vez que salgan los resultados de medir la estrecha relación entre oraciones, ¿cómo reconstruir V? El proceso de conversión a cálculo es el siguiente:

imagen

Después de calcular QKT QK^Tq kDespués de la matriz T, suponiendo que los datos en la primera fila son: 100, 80, 20, 12, la siguiente pregunta es cómo determinar cuantitativamente qué palabras deberían contribuir con cuánta información .

Para resolver este problema, se aplica la función softmax para normalizar cada fila, lo que garantiza que la suma de todos los elementos de la fila sea 1.

Si después del procesamiento de Softmax, la primera línea se convierte en una determinada fracción, como por ejemplo: 0,4, 0,2, 0,2, 0,1, entonces esto significa que se utilizará el 40% de la información de la primera palabra y el 20% de la segunda palabra. .para construir una nueva representación de la palabra objetivo. De esta manera, la operación Softmax es esencialmente una medida cuantitativa de la contribución de información de cada palabra.

Dividir por dk \sqrt{d_k} en la fórmuladk Esto es para evitar el problema de que al calcular el producto interno del vector, el valor calculado sea relativamente grande porque la matriz del vector es demasiado grande, no simplemente por la cercanía entre las palabras.

Después de obtener la probabilidad de contribución de información entre cada palabra, el proceso de reconstrucción de V se convierte en un proceso de cálculo de la siguiente manera:

imagen

El desmantelamiento adicional de este proceso es el siguiente:

imagen

Es decir: saca el 40% de la información de la primera palabra, saca el 20% de la información de la segunda palabra… y así sucesivamente, y finalmente obtienes Z. La matriz Z obtenida a través de esta forma de cálculo, cada una Una ubicación contiene toda la información relacionada con ella.

Este es el proceso de cálculo en el mecanismo de autoatención en Transformer.

3.1.3 Cómo Decoder genera salida

La parte Decoder de Transformer tiene muchas similitudes con la parte Encoder, pero también existen algunas diferencias clave. Decoder agrega una capa adicional de atención. Además, además de su propia información de entrada, Decoder también integrará la información de salida de Encoder. (Si es una tarea de entrenamiento supervisada)

imagen

La tarea principal del decodificador (Decodificador) en el modelo Transformer es predecir la siguiente palabra de salida, por lo que se denomina modelo generativo.

Para comprender mejor este proceso, se puede utilizar como ejemplo una tarea de traducción automática:

Supongamos que hay una muestra de formación bilingüe chino-inglés: "我是一名学生" (X) --> "I am a student" (Y) .

Cuando el decodificador comienza a funcionar, requiere una entrada inicial para iniciar el proceso de predicción. Sin embargo, para predecir la primera palabra "I", el decodificador no tiene contexto previo. Por lo tanto, es necesario introducir un carácter inicial <s>como entrada inicial. Por lo tanto, la secuencia objetivo de la muestra de entrenamiento se ajusta a: <s>, I, am, a, student.

El proceso de decodificación es el siguiente:

  1. Ingrese el carácter de inicio <s>en el decodificador.
  2. A través del mecanismo de Atención, el decodificador presta atención a la salida del codificador (es decir, la representación de "Soy un estudiante") y la fusiona.
  3. Según la salida de fusión del símbolo de inicio <s>y el codificador, el decodificador predice la primera palabra, que es "I".
  4. A continuación, tanto "I" como "I" <s>se utilizan como información conocida y se introducen nuevamente en el decodificador.
  5. El decodificador continúa prestando atención a la salida del codificador a través del mecanismo de Atención y luego predice la siguiente palabra "am".
  6. Este proceso se repite hasta que se predice la frase completa "Soy un estudiante".

Echa un vistazo a esta animación e intenta comprender:

http://jalammar.github.io/images/t/transformer_decoding_2.gif

Punto clave 1: ¿Cuál es la diferencia entre Atención en Decodificador y Atención en Codificador?

En primer lugar, por el nombre, puedes descubrir que son diferentes. En Decoder, lo primero que encuentra es "Atención enmascarada". ¿Por qué se necesita este diseño? En la etapa de decodificación del modelo Transformer, cada palabra se genera una por una.

Por ejemplo, al predecir "soy", el modelo no debe "saber" ni "ver" al siguiente "estudiante" de antemano.

Piense en este proceso como una línea de tiempo: al predecir una palabra en particular, no puede "predecir" las palabras que la seguirán, porque en la situación real, esa parte aún no ha sucedido. Para garantizar que el modelo no se vea perturbado por palabras futuras en este momento, el decodificador utiliza una operación de enmascaramiento. De esta manera, cuando el modelo procesa una determinada palabra, todas las palabras posteriores se bloquearán, asegurando que el modelo solo haga predicciones basadas en el contexto conocido.

imagen

Desmontado en el proceso de cálculo dentro del Decodificador, es el siguiente:

Primero: prepare la matriz de datos de entrada (compuesta por la etiqueta más el símbolo inicial) y la matriz de oclusión (matriz de máscara). Como se muestra en la imagen:

imagen

El diseño de la matriz de oclusión es para garantizar que durante el cálculo, la parte ocluida (mitad superior) obtenga un valor más pequeño para que tenga el menor impacto en el resultado.

Específicamente:

Considere la primera fila de la matriz de oclusión, que representa la predicción de la primera palabra. En este momento, el modelo solo conoce el símbolo inicial , pero no conoce la palabra predicha actual ni las palabras posteriores. Esto significa que el modelo sólo puede confiar en el carácter inicial al predecir la primera palabra .

De manera similar, cuando el modelo predice la segunda palabra, la segunda fila de la matriz de oclusión, solo conoce el símbolo inicial y la primera palabra. El modelo desconoce la segunda palabra y todas las siguientes.

Este diseño garantiza que cuando el modelo predice una palabra, solo se base en las palabras anteriores sin ser interferido por las siguientes palabras.

Luego sigue pasando por el mismo proceso de cálculo de Q, K, V que el proceso del codificador:

imagen

imagen

El QKT QK^T resultanteq kDespués de la matriz T (una matriz que indica la cercanía de la relación entre palabras), realice una multiplicación bit a bit con la matriz de Máscara previamente preparada, como se muestra en la figura:

imagen

Para QKT QK^Tq kEl proceso de multiplicar el momento T y la matriz de máscara, esta "multiplicación" es una multiplicación bit a bit, es decir, se multiplica cada elemento correspondiente.

Para comprenderlo intuitivamente, puede imaginar que las partes bloqueadas de la matriz de máscara son todas 0 y las partes no ocluidas son todas 1. Luego, después de esta multiplicación bit a bit, las posiciones correspondientes de las partes ocluidas en el resultado son todas 0. Por ejemplo, para la primera posición, sólo el símbolo inicial es "claro" (es decir, 1), mientras que las otras partes son "oscuras" (es decir, 0).

Por ejemplo, supongamos que el QKT QK^T obtenidoq kLas dos primeras filas de Puntuación en la matriz T son las siguientes:

imagen

El propósito de este diseño es garantizar que al predecir la palabra actual, el modelo solo pueda obtener información sobre las palabras anteriores, pero no sepa nada sobre la palabra actual en sí ni sobre todas las palabras que le siguen.

Después de calcular QKT QK^Tq kDespués de la matriz T , en Máscara QKT QK^Tq kRealice la operación Softmax en T. En este momento, la suma de los elementos de cada fila será igual a 1. Sin embargo, para la palabra 0, su puntuación de atención en las palabras 1, 2, 3 y 4 es 0.

imagen

Finalmente: QKT QK^T enmascarado que pasará por Softmaxq kT se multiplica por la matriz de valores V para obtener la salida ponderada por atención. Esta salida Z es el resultado de la parte de autoatención enmascarada del decodificador, de la siguiente manera:

imagen

Punto clave 2: entender qué es la Atención Cruzada

Cuando la entrada pasa por la Atención de Máscara, ingresa a la segunda Atención, pero esta Atención ya no es un simple mecanismo de autoatención, sino Atención Cruzada, de la siguiente manera:

imagen

¿Por qué es necesaria la Atención Cruzada? **Porque el codificador contiene información sobre la secuencia de entrada (por ejemplo: "Soy un estudiante") y el objetivo del decodificador es producir la secuencia de salida correcta dada esa entrada. **Para lograr esto, el decodificador necesita tener cierto conocimiento de toda la información generada por el codificador para saber cuál debe ser la siguiente palabra de salida.

La atención cruzada funciona de manera muy similar al mecanismo de atención ordinario, pero Q proviene de la salida del decodificador y K y V provienen de la salida del codificador. Esto garantiza que el decodificador pueda "pedir" al codificador información sobre la secuencia de entrada. Esta descripción de "preguntas y respuestas" es vívida e ilustra cómo el decodificador utiliza la información del codificador para determinar la salida más adecuada.

Por ejemplo, al traducir "Soy un estudiante" por "Soy un estudiante", el decodificador puede preguntar al codificador: "Según su comprensión de 'Yo', ¿qué debo generar a continuación?" De esta manera, el decodificador puede predecir la siguiente palabra de la secuencia objetivo con mayor precisión.

Puedes entenderlo simplemente así:

El primer paso es similar a "hablar consigo mismo", lo que se llama Autoatención enmascarada. Esto garantiza que el decodificador sólo haga referencia a palabras anteriores al "adivinar" una palabra.

Luego viene el segundo paso, llamado Atención Cruzada o “diafonía cruzada”. Aquí, el decodificador "pide" al codificador información sobre la oración original (por ejemplo: "Soy un estudiante"). Es como si el decodificador le preguntara al codificador: "¿Qué crees que debería decir a continuación?" y el codificador le diera sugerencias, por ejemplo: "Lo siguiente debería ser 'yo'". De esta forma, el decodificador puede realizar mejor la tarea de traducción.

Entonces, en pocas palabras, el primer paso es que el decodificador "hable" consigo mismo y determine qué preguntas debe formular. El segundo paso es "preguntarle" al codificador, obtener la respuesta y continuar traduciendo. Así funciona el mecanismo de atención en dos pasos de Decoder.

Después de esta atención cruzada del decodificador, el modelo continuará realizando un flujo de procesamiento parcialmente similar al del codificador, incluidos múltiples cálculos de atención y operaciones de red neuronal de avance. Cuando se completen todos estos pasos del Decodificador, la salida ingresará a una capa lineal para mapear. La función de esta capa de mapeo es convertir la salida del Decodificador en un vector del mismo tamaño que el diccionario. Luego, este vector pasará a través de la capa Softmax y se convertirá en una distribución de probabilidad. Finalmente, la palabra con mayor probabilidad se selecciona como salida de acuerdo con esta distribución de probabilidad.

imagen

De esta forma se completa todo el flujo de trabajo de Transformer.

3.2 Modelos de la serie GPT

Por lo general, se propone un modelo o arquitectura para resolver ciertos problemas en el campo. Antes de que se propusiera GPT-1, el método principal de aprendizaje profundo en el campo del procesamiento del lenguaje natural tenía las siguientes dos limitaciones principales.

  1. En las primeras aplicaciones de aprendizaje profundo, muchos métodos se basaban en el aprendizaje supervisado, lo que significaba que se requería una gran cantidad de datos etiquetados . Pero este enfoque tiene un inconveniente obvio: limita la adaptabilidad y flexibilidad del modelo.

Tomemos como ejemplo la traducción automática y el reconocimiento de entidades:

Si utiliza datos de traducción automática específicos para entrenar un modelo, este modelo principalmente solo puede realizar tareas de traducción automática. De manera similar, los modelos basados ​​en datos de reconocimiento de entidades solo pueden realizar reconocimiento de entidades. Cada tarea requiere una gran cantidad de datos anotados dedicados, pero el ámbito de aplicación de cada modelo es bastante limitado.

Por lo tanto, a pesar de invertir una gran cantidad de datos, el modelo resultante solo funciona bien en una tarea específica y no se puede aplicar de manera flexible en todas las tareas. Esta limitación hace que la duplicación de esfuerzos entre diferentes tareas sea ineficiente y costosa.

  1. Incluso con una gran cantidad de datos anotados, todavía existe un problema central: la falta de un objetivo de optimización general para aprender representaciones de texto útiles.

Por ejemplo, el campo de la PNL cubre muchas tareas, incluida la traducción automática, la clasificación de emociones, etc. Cada tarea suele tener su propia función objetivo, lo que significa que el modelo debe diseñarse y ajustarse por separado para cada tarea. Por lo tanto, aunque se ha invertido una gran cantidad de recursos y datos, la falta de un objetivo unificado de optimización entre tareas nos lleva a liberar completamente el potencial de los datos y hace que el proceso de entrenamiento del modelo sea complejo e ineficiente.

Este status quo revela fuertemente un desafío central en el aprendizaje profundo: cómo descubrir o diseñar un objetivo de optimización que no solo pueda capturar la información intrínseca del texto, sino que también tenga una amplia adaptabilidad. Por lo tanto, OpenAI propuso GPT1. ¿Cómo surgió la primera generación de ¿GPT 1 lo hace? ¿Qué pasa?

3.2.1 GPT 1 está surgiendo

GPT **1 Artículo de referencia: **https://www.cs.ubc.ca/~amuham01/LING530/papers/radford2018improving.pdf

GPT 1 introduce un método de preentrenamiento no supervisado que utiliza la arquitectura Transformer para extraer de manera efectiva representaciones significativas de texto masivo sin etiquetar. Este enfoque no sólo mejora el rendimiento en una variedad de tareas de lenguaje natural, sino que también reduce significativamente la dependencia de datos anotados.

Punto clave 1: entrenamiento previo no supervisado

GPT-1 utiliza entrenamiento no supervisado y utiliza datos sin etiquetar para entrenar el modelo. El propósito es permitir que el modelo aprenda un conjunto de parámetros iniciales (este parámetro inicial es Wq, Wk, Wv en Transformer), para dominar la capacidad de continuar escribiendo texto después de un contexto determinado.

Es decir: dejar que el modelo tenga la capacidad de seguir escribiendo lo siguiente dado lo anterior.

Ejemplo de texto de continuación:

En primer lugar, el modelo se sometió a un extenso entrenamiento no supervisado, lo que le permitió leer decenas de millones de artículos para dominar los patrones básicos del lenguaje. Déle a GPT-1 un breve mensaje, como por ejemplo: "En un frío día de invierno".

Continuación 1: "Mary decidió quedarse en casa, hornear algunas galletas y sentarse alrededor de la chimenea con su familia, compartiendo historias y momentos cálidos. Afuera caían copos de nieve y todos estaban inmersos en este hermoso momento familiar, sintiendo la paz y la calidez. del invierno”.

Continúa 2: "Los niños salieron corriendo emocionados y empezaron a hacer un gran muñeco de nieve. Hicieron bolas de nieve, encontraron piedras para los ojos y la boca del muñeco de nieve y le pusieron un sombrero viejo. Durante toda la tarde, juegan en la nieve y se olvidan del frío. del invierno”.

Piense por qué este modelo puede resolver problemas anteriores en el campo del procesamiento del lenguaje natural.

Tome la traducción automática como ejemplo: si ingresa "Soy un estudiante, tradúzcalo al inglés para mí", un modelo GPT previamente entrenado, especialmente después de un ajuste fino, puede generar resultados como "Soy un estudiante". Aunque no es un modelo diseñado para tareas de traducción automática en el sentido tradicional, puede realizar dichas tareas gracias a sus sólidas capacidades de generación de texto y su profundo conocimiento de la estructura del lenguaje.

Por lo tanto, muchas tareas de procesamiento del lenguaje natural pueden considerarse como el problema de "generar un determinado resultado", y los modelos de preentrenamiento como GPT proporcionan soluciones eficientes y flexibles para estas tareas .

Punto clave 2: Cómo guiar a GPT para generar contenido objetivo

Si GPT tiene excelentes capacidades de generación de texto, ¿cómo puede generar el contenido exacto que necesita?

Por ejemplo, al escribir "Soy estudiante", GPT podría generar "Tengo que ir a la escuela a tiempo todos los días...". Aunque esta oración es fluida, si el objetivo de la tarea es obtener la traducción al inglés de esta oración, ¿cómo guiar efectivamente el modelo?

** La solución proporcionada por GPT es utilizar los datos etiquetados correspondientes para realizar ajustes finos, de modo que el modelo pueda cumplir con los requisitos de diferentes tareas. Este proceso requiere muy pocos datos etiquetados. ** Entonces, ¿cuál es la estructura específica de GPT?

En el diseño de GPT, utiliza específicamente la parte Decoder de Transformer para realizar tareas de generación de texto. Si bien llamarlo modelo generativo puede ser una ligera simplificación, este posicionamiento es consistente con su funcionalidad principal.

A diferencia de la estructura original de Transformer, **GPT no utiliza un mecanismo de atención dual y ya no requiere el proceso de codificación. La clave está en un proceso de predicción palabra por palabra. **Para lograr este objetivo, GPT adopta internamente el mecanismo de autoatención de múltiples cabezales enmascarados y lo combina con una red de alimentación directa. En algunas configuraciones comunes, este mecanismo tiene un vector de 768 dimensiones y 12 cabezales de atención, y el modelo general apila 12 capas de decodificador.

imagen

Esta etapa consiste esencialmente en aprender información lingüística a partir de una gran cantidad de corpus de texto. El principio matemático se puede desglosar aproximadamente de la siguiente manera:

Primero defina dicha secuencia de lenguaje no supervisada:

U = { tu 1 , . . . , un } (1) U = \{u_1, . . . , u_n\} \tag{1}Ud.={ 1,... ,tunorte}( 1 )

La U aquí puede entenderse como una colección de párrafos y los elementos contenidos son palabras una por una.

Utiliza una función objetivo de modelado de lenguaje estándar para maximizar la probabilidad de una palabra dado su contexto.

Modelo de lenguaje estándar: se utiliza para predecir la distribución de probabilidad de palabras en secuencias de lenguaje natural. El objetivo es predecir la probabilidad de la siguiente palabra dado el contexto.

La función objetivo se define en el artículo de la siguiente manera:

imagen

En pocas palabras, esta fórmula significa: para cada palabra en una secuencia de texto, miramos las k palabras anteriores y luego usamos el modelo (determinado por el parámetro θ \thetaθ determina) para predecir la probabilidad de esta palabra. El objetivo es hacer que esta probabilidad sea lo más alta posible.

Tomemos un ejemplo sencillo:

Supongamos que el texto es "Me gusta comer manzanas". Si ahora deseamos predecir la palabra "comer" y considerar las dos primeras palabras como contexto, entonces nos preguntaremos: "Dadas las dos palabras 'me gusta', ¿cuál es la palabra "me gusta"? siguiente palabra?" ¿Cuál es la probabilidad de 'comer'?" La fórmula ayuda a encontrar esta probabilidad y maximizarla.

θ \thetaθ se entiende simplemente como un modelo, que se refiere específicamente al Transformer Decoder multicapa.Suproceso de cálculo es el siguiente:

imagen

Entiende esta fórmula:

U es la matriz de entrada, We es la codificación de palabras, Wp es la codificación de posición, y luego pasa por el decodificador Decoder y finalmente obtiene la salida a través de Softmax. Este proceso es exactamente el mismo que el proceso en la sección "Cómo funciona Decoder " . producción generativa "

A través de este proceso, el modelo ha ganado la capacidad de generar texto posterior. Pero es posible que el contenido producido no siempre sea el que esperan los usuarios.

Entonces, ¿cómo garantiza GPT que se genere contenido relevante? El esquema de ajuste del modelo supervisado proporcionado por GPT es el siguiente:

Primero prepare los datos supervisados: x 1, x 2 . . . . . . xmx^1,x^2 ...... x^mX1 ,X2 ......xLa columna de entrada representada por m , yyy representa la etiqueta y luego ingresa los datos en el modelo previamente entrenado para predecir la probabilidad de y, como se muestra a continuación:

imagen

Entiende esta fórmula:

  1. x1, x2. . . . . . xmx^1,x^2 ...... x^mX1 ,X2 ......xm es la secuencia de entrada, que es la parte de entrada de datos etiquetados preparados para una tarea específica.
  2. y y y es la etiqueta o salida correspondiente.
  3. hlm {h_l}^mhyom representa la representación o característica obtenida después del procesamiento por el modelo previamente entrenado.
  4. W y W_yW.yes una matriz de peso, que es el parámetro clave que debe ajustarse durante el ajuste fino.

Durante el proceso de ajuste fino, la mayor parte de la estructura y los parámetros del modelo (conocimiento obtenido del pre-entrenamiento) permanecen sin cambios, pero algunas capas o pesos específicos, como W y W_y aquí.W.y, se ajustará en función de los datos etiquetados de la nueva tarea.

En pocas palabras, ya tiene un modelo que comprende aproximadamente el lenguaje, pero para mejorarlo en una tarea específica (por ejemplo, traducción automática, análisis de sentimientos, etc.) necesita ajustar ciertos parámetros. En esta fórmula, estás ajustando la matriz de peso W y W_yW.ypara hacer que el modelo prediga mejor la salida yyy

De manera similar, los datos supervisados ​​para el ajuste fino deben ser más de una muestra, y habrá muchas muestras, por lo que la tarea del ajuste fino es maximizar esta función objetivo:

imagen

El proceso de ajuste es el siguiente:

imagen

Para comprender este proceso, primero debemos aclarar que el ajuste fino ajusta principalmente la capa lineal del modelo, que es la parte "Lineal" de la figura. En comparación con los parámetros de todo el Decodificador, esta parte tiene menos parámetros, lo que hace que el ajuste sea más eficiente.

Entonces, ¿cómo le haces saber al modelo qué tarea realizar?

De hecho, GPT adopta una estrategia de etiquetado. Cuando se ingresa texto, indica el tipo de tarea a través de un símbolo o marca específica. Por ejemplo, para una tarea de clasificación, podría envolver el texto con etiquetas como "Inicio" y "Extraer". Para las tareas de vinculación, puede utilizar etiquetas como "Inicio", "Premisa", "Delim", "Hipótesis" y "Extracto" para segmentar y etiquetar información.

Para ser precisos, el modelo pasó por dos etapas: primero, una etapa de preentrenamiento no supervisado, que le permitió al modelo dominar las estructuras y los conocimientos básicos del lenguaje, dándole la capacidad de generar lenguaje. Pero este "lenguaje" inicial puede no ser lo suficientemente preciso o específico para la tarea. Por lo tanto, lo que sigue es una fase de ajuste supervisado para garantizar que el modelo pueda producir contenido más preciso como se espera en una tarea específica.

Con esta estrategia, GPT 1 se evaluó en 12 conjuntos de datos y 9 de ellos lograron nuevos efectos SOTA:

imagen

imagen

3.2.2 Innovación de disparo cero de GPT 2

Documento de referencia 1 de GPT 2: https://insightcivic.s3.us-east-1.amazonaws.com/language-models.pdf

Documento de referencia 2 de GPT 2: https://arxiv.org/pdf/2005.14165.pdf

Después de GPT-1, los investigadores observaron que a medida que aumenta el tamaño del modelo, su precisión y capacidades de generalización aún tienen un potencial significativo de mejora. Por lo tanto, se han presentado claramente las principales direcciones de mejora de GPT-2:

  1. Aproveche conjuntos de datos más grandes y ricos para crear modelos más grandes.
  2. Realice ajustes y optimizaciones detalladas en la estructura del modelo.

Según el estado actual de la investigación en ese momento, si una tarea específica requiere un conjunto de datos especializados para esa tarea, el preentrenamiento no supervisado + ajuste fino supervisado utilizado por GPT 1 no pudo evitar este problema, por lo que GPT 2 se introdujo en el comienzo del diseño La idea del aprendizaje Zero-Shot significa que una vez que se completa el entrenamiento del modelo, puede manejar directamente varias tareas y lograr un rendimiento excelente sin ajustar más sus parámetros o estructura.

El objetivo de Zero-Shot es: al procesar tareas posteriores, ya no depende de caracteres de inicio, delimitadores y extractores para indicarle al modelo tareas específicas como GPT-1, sino que utiliza un método de lenguaje natural más intuitivo para especificar tareas. Por ejemplo, cuando queremos realizar una tarea de traducción, podemos decirle directamente al modelo: "Por favor, traduzca 'Soy un estudiante' al inglés". De esta manera, a través de este mensaje de lenguaje natural (Prompt), el modelo conoce el tarea que se debe realizar.

imagen

Para lograr este efecto, OpenAI se centró en mejorar la calidad de los datos y rastrearon alrededor de 40 GB de contenido de la plataforma social Reddit, similar al siguiente:

imagen

Estos textos pueden contener información clave como "consejos", "descripciones" y "respuestas". OpenAI cree firmemente que siempre que la cantidad de datos sea lo suficientemente grande y de alta calidad, el modelo naturalmente logrará resultados poderosos. Al absorber dichos textos, GPT puede desarrollar gradualmente la capacidad de aprender por sí solo mientras aprende patrones de conversación humana. Esta estrategia de formación basada en Zero-Shot demuestra con éxito que es totalmente posible construir un modelo de lenguaje general eficiente.

Pero el resultado es el siguiente: aunque GPT 2 propuso esta innovación, los resultados mostrados en el artículo no fueron sorprendentes.

3.3.3 Aprendizaje en contexto GPT 3

Documento de referencia de GPT 3: https://arxiv.org/pdf/2005.14165.pdf

Después de ingresar a GPT 3, realizó más investigaciones basadas en Zero-Shot de GPT 2. Propuso que: ingrese la descripción del escenario en el modelo, y el modelo generará respuestas basadas en los requisitos del escenario propuestos por el usuario. Este proceso se llama aprendizaje en contexto.

Este proceso presenta One-Shot y Few-Shot, como se muestra en la figura:

imagen

imagen

Además, el transformador disperso también se introduce en la estructura del modelo de GPT 3 y tiene 175 mil millones de parámetros más grandes. A juzgar por las conclusiones experimentales, GPT 3 ha logrado un rendimiento muy sobresaliente.

imagen

3.3.4 Capacidad emergente de GPT 4

Documento de referencia de GPT 4: https://arxiv.org/pdf/2303.08774v2.pdf

El último modelo GPT-4 se ha convertido en un sistema multimodal avanzado capaz de aceptar entrada y salida de texto e imágenes. Demuestra niveles de desempeño comparables o incluso superiores a los humanos en varios puntos de referencia académicos y profesionales.

OpenAI evaluó GPT-4 en puntos de referencia tradicionales diseñados para modelos de aprendizaje automático. A juzgar por los resultados experimentales, GPT-4 supera con creces los modelos de lenguaje a gran escala existentes, así como la mayoría de los modelos SOTA.

imagen

De hecho, de GPT 1 a GPT 4, puede encontrar que el contenido de la serie GPT se vuelve cada vez más corto, lo que es directamente proporcional al tamaño creciente de GPT. Esto también confirma que la idea central del desarrollo de GPT es simple y cruda: grandes esfuerzos pueden producir milagros.

Entonces, ¿por qué el modelo de lenguaje grande puede tener un rendimiento tan excelente y cuáles son sus ventajas?

Dos puntos clave: la capacidad de emergencia y la cadena de pensamiento, las cuales son características clave para que los grandes modelos de lenguaje continúen acercándose a los humanos.

Las habilidades emergentes se refieren a la capacidad del modelo para aprender y descubrir automáticamente nuevas características y patrones de nivel superior a partir de datos de entrenamiento originales. En lo que respecta a la definición china, las capacidades emergentes también se refieren a nuevas capacidades que surgen de grandes modelos lingüísticos.

Otra manifestación importante de la capacidad emergente es la capacidad de generalización de los modelos multimodales. Sin una formación especial, GPT 4 también puede generalizar a muestras de datos multimodales nuevas y desconocidas. Esta capacidad de generalización depende principalmente de la estructura y proceso de entrenamiento del modelo, así como de la cantidad y diversidad de datos. Si el modelo tiene suficiente complejidad y capacidades de generalización, se pueden descubrir características y patrones nuevos y desconocidos a partir de los datos sin procesar.

El modelo de lenguaje grande multimodal (MLLM) puede lograr un mejor rendimiento del razonamiento de sentido común. La transferencia intermodal es más propicia para la adquisición de conocimientos, genera más capacidades nuevas y acelera la aparición de capacidades. Estas nuevas características, capacidades o patrones independientes o intermodales generalmente no se adquieren mediante programación o capacitación intencionada, sino que el modelo las aprende naturalmente a partir de una gran cantidad de datos multimodales.

La cadena de pensamiento puede considerarse como una de las capacidades centrales que surgen del modelo de lenguaje grande. El encadenamiento de pensamientos es una característica clave de ChatGPT y GPT 4 que permite al público sentir que los modelos de lenguaje son "humanos".

A través de la tecnología de cadena de pensamiento multimodal, GPT 4 descompone un problema de varios pasos (como el razonamiento gráfico) en pasos intermedios que se pueden resolver de forma independiente. Al resolver problemas de razonamiento de varios pasos, las cadenas de pensamiento generadas por el modelo imitan el proceso de pensamiento humano.

Aunque estos modelos de GPT 4 no tienen conciencia o capacidad de pensamiento real, utilizan una cadena de pensamiento similar al razonamiento humano para impulsar el modelo de lenguaje, lo que mejora en gran medida el desempeño de GPT 4 en tareas de razonamiento y rompe el ajuste fino (Fine) -tune) curva plana. El modelo GPT 4, que tiene capacidades de cadena de pensamiento multimodal, tiene ciertas capacidades de análisis lógico y ya no es un modelo de aproximación de probabilidad léxica en el sentido tradicional.

3.3 Fase de entrenamiento de ChatGPT

La ampliación continua de la escala del modelo le ha permitido mostrar un rendimiento excelente en diversas tareas, pero en esencia no permite que el modelo siga muy bien las intenciones del usuario. Por ejemplo, los modelos de lenguaje grandes pueden generar respuestas falsas, inconsistentes con los estándares morales humanos y las normas sociales (tóxicas) e inútiles para los usuarios. En general, no pueden comunicarse con los humanos.

¿Por qué sucede que la respuesta resultante no es la respuesta que los humanos quieren?

Una explicación es el problema de establecer la función objetivo durante el entrenamiento del modelo. Cuando se entrenan modelos de lenguaje grandes, el objetivo es que el modelo genere la siguiente palabra en el texto, lo cual es diferente de nuestro objetivo de generar respuestas excelentes y de alta calidad basadas en según instrucciones. de. Entonces, ¿cómo se vinculan los modelos con los humanos?

Una tecnología de este tipo se utiliza detrás de ChatGPT: aprendizaje por refuerzo con biorretroalimentación (aprendizaje por refuerzo a partir de retroalimentación humana, RLHF) . El método específico consiste en ajustar primero el modelo enviando datos de anotaciones de preguntas en la API de OpenAI y escribiendo las respuestas, y luego recopilar un conjunto de datos de la clasificación del modelo de diferentes respuestas a una pregunta y clasificar manualmente la calidad de las respuestas. y luego Aprendalo usando un modelo de aprendizaje por refuerzo.

El proceso de formación de ChatGPT se divide en las siguientes tres etapas:

La primera etapa: entrenar el modelo de política supervisada

El propio GPT 3 es difícil de entender las diferentes intenciones contenidas en los diferentes tipos de instrucciones humanas, y también es difícil juzgar si el contenido generado es un resultado de alta calidad. Para que GPT 3 tenga inicialmente la intención de comprender instrucciones, las preguntas primero se seleccionarán aleatoriamente del conjunto de datos y los anotadores humanos darán respuestas de alta calidad. Luego, estos datos anotados manualmente se utilizarán para ajustar el GPT 3. modelo (para obtener el modelo SFT, Supervised Fine-Tuning).

El modelo SFT en este momento ya es mejor que GPT 3 en el seguimiento de instrucciones/conversaciones, pero no necesariamente coincide con las preferencias humanas.

La segunda etapa: modelo de recompensa de entrenamiento (modo de recompensa, RM)

Esta etapa entrena principalmente el modelo de recompensa mediante la anotación manual de datos de entrenamiento (alrededor de 33K datos). Muestre aleatoriamente preguntas del conjunto de datos y utilice el modelo generado en la primera etapa para generar múltiples respuestas diferentes para cada pregunta. Los anotadores humanos toman en consideración estos resultados y dan un orden de clasificación. Este proceso es similar al coaching o mentoring.

A continuación, utilice los datos de estos resultados de clasificación para entrenar el modelo de recompensa. Se combinan varios resultados de clasificación en pares para formar varios pares de datos de entrenamiento. El modelo RM toma una entrada y otorga una puntuación que evalúa la calidad de la respuesta. De esta manera, para un par de datos de entrenamiento, los parámetros se ajustan de modo que las respuestas de alta calidad obtengan una puntuación más alta que las de baja calidad.

La tercera etapa: utilice el aprendizaje por refuerzo PPO (optimización de políticas próximas, optimización de políticas próximas) para optimizar la estrategia.

La idea central de PPO es convertir el proceso de capacitación dentro de la política en Policy Gradient en fuera de la política, es decir, convertir el aprendizaje en línea en aprendizaje fuera de línea, este proceso de conversión se denomina muestreo de importancia. Esta etapa utiliza el modelo de recompensa entrenado en la segunda etapa y se basa en puntuaciones de recompensa para actualizar los parámetros del modelo previamente entrenado. Seleccione preguntas al azar del conjunto de datos, use el modelo PPO para generar respuestas y use el modelo RM entrenado en la etapa anterior para otorgar puntajes de calidad.

Las puntuaciones de recompensa se pasan en secuencia, lo que da como resultado un gradiente de políticas, y los parámetros del modelo PPO se actualizan mediante el aprendizaje por refuerzo.

Si la segunda y tercera etapa se repiten continuamente, mediante iteración, se entrenará un modelo ChatGPT de mayor calidad.

4. Dirección de desarrollo de modelos grandes.

Actualmente, los modelos grandes están provocando un auge tecnológico y sus aplicaciones están floreciendo como flores primaverales. Todos los ámbitos de la vida están explorando y aprovechando activamente esta oportunidad. Aunque todavía estamos en las primeras etapas de implementación de modelos a gran escala, es este período exploratorio el que brinda una ventaja significativa a quienes ahora están ingresando a la industria. De hecho, los modelos grandes y sus posiciones relacionadas ahora escasean, lo que demuestra el enorme potencial y las perspectivas en este campo. Para el desarrollo, creo que podemos considerar los siguientes tres aspectos:

  1. ¿Cómo convertir la tecnología en productos y realizar la aplicación comercial de grandes modelos lingüísticos?

Personas aplicables: excelentes habilidades de programación y habilidades de ingeniería rápida.

Los modelos de lenguajes grandes, especialmente productos como los modelos grandes en línea de OpenAI, no solo tienen un rendimiento técnico excelente, sino que también demuestran ventajas significativas en la monetización comercial. Su principal ventaja radica en sus potentes capacidades de PNL, que pueden admitir ampliamente una variedad de tareas clásicas como traducción automática, asistentes inteligentes, análisis de texto y sentimientos, etc. Además, estos modelos interactúan perfectamente con los usuarios a través del lenguaje natural, lo que reduce en gran medida la barrera de entrada de nuevos productos.

Es importante destacar que el uso de los grandes modelos en línea de OpenAI ni siquiera requiere una comprensión profunda de los principios subyacentes del aprendizaje automático o la PNL . Puede utilizarse como una "caja negra" para desarrollar diversas aplicaciones de forma rápida y ágil. Siempre que tenga habilidades básicas de programación, sepa cómo configurar las palabras de aviso adecuadas y comprenda el proceso de generación de avisos a nivel industrial, podrá crear fácilmente varias aplicaciones de PNL potentes y fáciles de usar. Sobre esta base, han surgido una serie de aplicaciones creativas, como adivinos de IA, asesoramiento psicológico de IA, etc., que enriquecen aún más los escenarios de aplicación de grandes modelos en la vida diaria y el trabajo.

  1. ¿Cómo desarrollar y entrenar grandes modelos en campos verticales privatizados?

Personas aplicables: tener conocimientos básicos sólidos en IA, como aprendizaje automático, aprendizaje profundo y procesamiento del lenguaje natural (PNL).

Aunque los detalles completos de la serie de modelos GPT aún no son completamente de código abierto, su éxito ha señalado un camino para mejorar el rendimiento del modelo de lenguaje. Inspirándose en GPT, las principales empresas de tecnología de todo el mundo están desarrollando activamente modelos grandes basados ​​en BERT, GPT u otras combinaciones de Transformer. Tomemos como ejemplo la serie ChatGLM nacional de primera clase, un gran modelo chino desarrollado sobre la base de los conceptos de BERT y GPT. Al mismo tiempo, también se están utilizando tecnologías relacionadas con el desarrollo y la capacitación de modelos a gran escala, como el aprendizaje por refuerzo con biorretroalimentación (RLFH), la optimización de políticas próximas (PPO), la ponderación basada en recompensas (ponderación basada en recompensas) y los motores de entrenamiento DeepSpeed. desarrollándose rápidamente y mostró un impulso imparable. Aunque puede que ya no sea la cima de la teoría de la PNL, no hay duda de que el desarrollo de algoritmos y el entrenamiento de modelos grandes sigue siendo una de las direcciones de investigación más innovadoras en el campo de la PNL.

  1. ¿Cómo reducir el umbral de aplicación y el costo de aplicación de modelos grandes?

Personas aplicables: tener conocimientos básicos sólidos en aprendizaje automático, aprendizaje profundo y procesamiento del lenguaje natural (NLP), o tener excelentes capacidades de ingeniería rápida.

Los modelos grandes consumen grandes cantidades de datos y recursos informáticos, lo que a menudo significa altos costos en aplicaciones comerciales. Para reducir estas barreras y costos, se están desarrollando rápidamente una variedad de tecnologías avanzadas de capacitación previa, ajuste y construcción de corpus a gran escala. Desde 2020, han surgido muchos métodos innovadores de ajuste fino y generación automática de corpus, incluido el ajuste fino supervisado (SFT), el método de ajuste fino adaptativo de orden bajo (LoRA), el ajuste fino de prefijo de palabra (Prefix Tuning), el aviso ligero word Fine-tuning (Prompt Tuning), así como el método de ajuste fino P-Tuning V2 con una mejora de eficiencia cien veces mayor y el método de ajuste fino de asignación de presupuesto adaptativo (AdaLoRA), etc. Estas tecnologías no sólo han promovido el desarrollo de modelos avanzados como GPT-4.0, sino que también han tenido un profundo impacto en la investigación y aplicación de la PNL, cambiando significativamente el status quo del campo.

Finalmente, ¡gracias por leer este artículo! Si sientes que has ganado algo no olvides darle me gusta, coleccionar y seguirme, esta es mi motivación para seguir creando. Si tiene alguna pregunta o sugerencia, puede dejar un mensaje en el área de comentarios y haré todo lo posible para responder y aceptar sus comentarios. Si hay algún tema en particular que le gustaría conocer, hágamelo saber y estaré encantado de escribir un artículo al respecto. ¡Gracias por su apoyo y esperamos crecer con usted!

Supongo que te gusta

Origin blog.csdn.net/Lvbaby_/article/details/132885157
Recomendado
Clasificación