Principio de ajuste fino del modelo grande de PNL

1. Antecedentes

LLM (Modelo de lenguaje grande) es un modelo de lenguaje grande diseñado para comprender y generar lenguaje humano y necesita ser entrenado en una gran cantidad de datos de texto. Generalmente basado en la estructura del Transformador, tiene parámetros por encima del nivel Billion. Como GPT-3 (175B), PaLM (560B).

Tres grandes cosas sucedieron en el mundo de la PNL:

  1. ChatGPT: programa de robot de chat de IA lanzado por OpenAI en noviembre de 2022, basado en GPT-3.5

  2. LLaMA: El modelo de preentrenamiento lanzado por Meta en febrero de 2023, que redefine el "grande" del modelo grande

  3. Alpaca: un modelo de ajuste fino publicado por Stanford en marzo de 2023, que demuestra la viabilidad del ajuste fino de instrucción

La tecnología detrás de ChatGPT:

  • Modelos GPT: modelo base, GPT-3, GPT-3.5-Turbo y GPT4, modelo de gran capacidad, requiere entrenamiento previo en una gran cantidad de datos.

  • IFT (Instruction Fine-Tuning): Ajuste fino de instrucciones. Las instrucciones se refieren al texto de entrada con un propósito claro transmitido por el usuario. El ajuste fino de instrucciones permite que el modelo aprenda a seguir las instrucciones del usuario. OpenAI se llama SFT (ajuste fino supervisado), que significa lo mismo.

  • CoT (Chain-of-Thought): A nivel de datos, representa un caso especial de forma de instrucción, que incluye un proceso de razonamiento paso a paso (como se muestra en la figura a continuación). A nivel de modelo, significa que el modelo tiene la capacidad de razonamiento paso a paso.

  • RLHF (Refuerzo de aprendizaje a partir de la retroalimentación humana): Optimice el modelo de lenguaje basado en la retroalimentación humana en una forma de aprendizaje por refuerzo.

2. Método de entrenamiento de modelos grandes

2.1 FLAN

El documento "Finetuned Language Models Are Zero-Shot Learners" FLAN propone claramente el ajuste fino de la instrucción. El propósito esencial es convertir las tareas de PNL en instrucciones de lenguaje natural y luego alimentarlas al modelo para el entrenamiento, a fin de mejorar el rendimiento de cero. -tareas de tiro.

papel: https://arxiv.org/abs/2109.01652

2.2 T0

El documento "El entrenamiento impulsado por tareas múltiples permite la generalización de tareas de disparo cero" T0 explora cómo se realiza la capacidad de generalización del disparo cero del modelo grande y demuestra que la capacidad de generalización de disparo cero del modelo de lenguaje se puede realizar a través de tareas múltiples explícitas. formación puntual.

artículo: https://arxiv.org/abs/2110.08207

1. El entrenamiento de múltiples tareas es más capaz que el tiro cero del mismo modelo de parámetro.

2. El documento compara el rendimiento de disparo cero de los modelos T0 y GPT-3:

a. Encontró que T0 excede GPT-3 en 9 de 11 conjuntos de datos;

b. Ni T0 ni GPT-3 están capacitados en NLI, pero T0 supera a GPT-3 en todos los conjuntos de datos de NLI.

2.3 Flan-T5

El artículo Flan-T5 , "Estructura de escalado: modelos de lenguaje ajustados", propone un conjunto de esquemas de ajuste fino multitarea (Flan).Al ajustar tareas de gran escala, el modelo de lenguaje tiene un fuerte rendimiento de generalización, por lo que que un solo modelo puede funcionar bien en más de 1800 tareas de PNL. Esto significa que el modelo se puede usar directamente en casi todas las tareas de PNL, realizando "Un modelo para TODAS las tareas", ¡lo cual es muy tentador!

papel: https://arxiv.org/abs/2210.11416

Flan-T5 muestra las siguientes conclusiones experimentales:

  1. Escalar el número de tareas (cuantas más tareas de Finetune, mejor será el efecto)

  2. escalar el tamaño del modelo (cuantos más parámetros del modelo, mejor)

  3. ajuste fino de los datos de la cadena de pensamiento (CoT) (los datos de la cadena de pensamiento pueden mejorar la capacidad de razonamiento)

2.4 Cadena de pensamiento (CoT)

● CdT de pocas tomas

El artículo "Cadena de pensamientos que invitan a obtener razonamiento en modelos de lenguaje grande" propone el método de cadena de pensamiento de cadena de pensamientos (CoT) para mejorar la capacidad de razonamiento de modelos grandes en tareas como cálculo matemático, sentido común y simbólica. razonamiento.

papel: https://arxiv.org/abs/2201.11903

La inspiración de la cadena de pensamiento COT proviene del proceso de razonamiento humano. El autor se basa en este proceso y estimula el modelo grande para que tenga capacidad de razonamiento mediante el diseño de la cadena de pensamiento. Debido a la existencia de esta cadena de pensamiento lógico, el modelo de varios pasos razonamiento intermedio es puede obtener la respuesta correcta final.

● CdT de disparo cero

El documento "Large Language Models are Zero-Shot Reasoners" exploró la capacidad de razonamiento de los modelos grandes. El autor encontró que para GPT3 con parámetros 175B, simplemente agregar 'Pensemos paso a paso' puede mejorar el razonamiento matemático del modelo (razonamiento aritmético ) Y la capacidad de tiro cero del razonamiento simbólico.

papel: https://arxiv.org/abs/2205.11916

El autor propone que Zero-shot-CoT se divide en dos etapas:

1. Agregue indicaciones de texto a la pregunta original y use LLM para generar el proceso de razonamiento. (lado izquierdo de la imagen de arriba)

2. Agregue el proceso de razonamiento generado por LLM a la pregunta original, agregue una pista para generar la respuesta y use LLM para generar la respuesta final a la pregunta. (lado derecho de la imagen de arriba)

Efecto: ¡la persuasión puede hacer que la tasa de precisión de GPT-3 se dispare en un 61%!

2.5 Retroalimentación humana de aprendizaje por refuerzo (RLHF)

● InstruirGPT

El documento "Entrenamiento de modelos de lenguaje para seguir instrucciones con retroalimentación humana" InstructGPT es el predecesor de ChatGPT, que explora principalmente el uso del método RLHF (Aprendizaje de refuerzo a partir de la retroalimentación humana) para alinear las intenciones humanas en modelos grandes.

papel: https://arxiv.org/abs/2203.02155

Un gran problema con el paradigma de aprendizaje de disparo cero basado en Prompt de GPT y otros modelos de lenguaje grandes es que la tarea completada por el modelo pre-entrenado es la predicción del texto subsiguiente, que se desvía de los requisitos de la tarea específica, y los resultados generados no se ajustan necesariamente a la intención humana. Por lo tanto, se necesita algún tipo de ajuste fino para alinear esto.

El método consta de tres pasos:

1. Utilizar datos ejemplares proporcionados artificialmente para supervisar el modelo de política de formación

2. Entrenamiento de un modelo de recompensa con datos comparativos ordenados manualmente

3. Entrenar el modelo de política a través del aprendizaje por refuerzo (usando un modelo de recompensa)

Los pasos 2 y 3 se pueden repetir alternativamente para involucrar a las personas en el proceso de optimización.

Independientemente de las imágenes de la izquierda y la derecha, los modelos que utilizan el aprendizaje por refuerzo (PPO y PPO-ptx) son mucho mejores que los modelos GPT o de aprendizaje supervisado.

"Bueno" aquí significa que su salida es más del agrado de los anotadores (verdadero, útil, inofensivo). Los datos y criterios de evaluación son consistentes con el tiempo de entrenamiento, todos alineados con las preferencias humanas. Aquí es donde radica la ventaja de RLHF, y naturalmente supera a GPT3.

Además, el modelo PPO-ptx agrega la regularización previa al entrenamiento durante el aprendizaje por refuerzo para evitar perder puntos en las tareas públicas de PNL (para resolver el llamado problema del "impuesto de alineación"), pero aquí hay un ligero impacto negativo.

3. LLAMA

El autor del artículo "LLaMA: Open and Efficient Foundation Language Models" entrenó en tokens de nivel 1T, lo que demuestra que los modelos de nivel SOTA solo se pueden entrenar utilizando conjuntos de datos públicos.

A diferencia de Chinchilla, PaLM o GPT-3, LLaMA solo utiliza datos disponibles públicamente, lo que hace que nuestro trabajo sea compatible con el código abierto, mientras que la mayoría de los modelos existentes se basan en datos no públicos.

artículo: https://research.facebook.com/publications/llama-open-and-ficient-foundation-language-models/

3.1 Rendimiento

● LLaMA-13B > GPT-3 (175B): LLaMA-13B funciona mejor que GPT3(175B) en la mayoría de las pruebas

● LLaMA-65B ≈ PaLM-540B: ​​LLaMA-65B también es competitivo con los mejores modelos Chinchilla-70B y PaLM-540B

LLaMA redefine "grande" para modelos grandes

3.2 Motivación

1. Los modelos de código abierto OPT (Zhang et al., 2022), GPT-NeoX (Black et al., 2022), BLOOM (Scao et al., 2022) y GLM (Zeng et al., 2022), sus efectos no puede Comparado con PaLM-62B o Chinchilla, LLaMA es más fuerte.

2. El documento "Training Compute-Optimal Large Language Models" encontró que el mejor rendimiento no está en el modelo más grande, sino en el modelo que usa más tokens, por lo que el autor cree que un modelo más pequeño toma más tiempo para entrenar, usando más tokens , puede lograr el mismo efecto de modelo y es más barato en la predicción.

papel: https://arxiv.org/abs/2203.15556

3.3 Optimizador

LLaMA también realizó mejoras en la arquitectura del transformador:

●Prenormalización[GPT3]: función de normalización RMSNorm

● Función de activación de SwiGLU [PaLM].

● Incrustaciones rotatorias [GPTNeo].

3.4 Trabajo futuro

1. Continúe escalando modelos más grandes

2. Realice la sintonización de instrucciones y RLHF

4. Método de ajuste fino

4.1 adaptador

En 2019, el documento "Aprendizaje de transferencia eficiente de parámetros para NLP" propuso la solución Adapter, que se convirtió en el trabajo pionero de la solución de tecnología Delta Tuning.

La idea principal de esta solución es fijar los parámetros del modelo preentrenado en un modelo con una gran escala de parámetros sin ajuste fino y agregar algunos parámetros entrenables a la estructura de red original. Estos parámetros entrenables se agregan después de las capas de atención y avance de cada capa. Específicamente, el esquema del Adaptador agregará una nueva red neuronal pequeña llamada Adaptador entre la capa de atención y la capa de avance de cada capa.

Los parámetros del adaptador se pueden entrenar durante el ajuste fino para adaptarse a tareas posteriores específicas. Este enfoque puede reducir en gran medida la cantidad de parámetros que deben ajustarse, mejorando así la eficiencia de los parámetros y la velocidad de entrenamiento del modelo.

Como se muestra en la figura a continuación, el esquema de adaptador agrega un adaptador después de la capa de atención y la capa de avance de cada capa, lo que reduce efectivamente la escala de parámetros del modelo. Este método ha sido ampliamente utilizado en el campo del procesamiento del lenguaje natural y ha obtenido buenos resultados.

4.2 LoRA

En 2021, Microsoft propuso un esquema llamado LORA en el documento "LoRA: Adaptación de bajo rango de modelos de lenguaje grande". Esta solución analiza la estructura de la red de Transformer y encuentra que el cálculo de la matriz de peso consume mucho tiempo de computación, incluida la matriz de conversión Q/K/V de la capa Atención y la matriz MLP de la capa Feed-Forward.

papel: https://arxiv.org/abs/2106.09685

LORA se enfoca principalmente en la matriz de transformación de Atención para mejorar la velocidad y eficiencia del entrenamiento de modelos. La idea central del esquema LORA es agregar una matriz en paralelo a la matriz de transformación. También use una combinación de matrices de bajo rango para reemplazar las matrices agregadas. Este enfoque puede reducir efectivamente el número de parámetros.

Los resultados experimentales muestran que el esquema LORA puede mejorar significativamente la velocidad y la eficiencia del entrenamiento del modelo sin afectar el rendimiento del modelo. Este esquema ha sido ampliamente utilizado en el campo del procesamiento del lenguaje natural y ha logrado excelentes resultados en múltiples tareas.

4.3 Ajuste de prefijo

En 2021, Stanford propuso el método Prefix-Tuning en el documento "Prefix-Tuning: Optimizing Continuous Prompts for Generation". La idea principal no es cambiar la estructura de la capa de red original, sino agregar un prefijo de solicitud a la parte de entrada. El indicador puede ser discreto. Específicamente, por ejemplo, para la tarea ner, se puede agregar como indicador "busque todas las entidades en la oración".

Este tipo de indicador puede diseñarse manualmente o buscarse automáticamente. El problema es que el rendimiento final es particularmente sensible a los cambios en el indicador diseñado manualmente. Agregar una palabra, omitir una palabra, o cambiar la posición causará cambios relativamente grandes. El costo de las indicaciones de búsqueda automatizadas también es relativamente alto.

El método de implementación de este documento es adoptar el segundo esquema, para entrenar un token virtual de ajuste fino continuo separado para cada tarea, que es mejor que los tokens discretos. Al mismo tiempo, para expandir la cantidad de parámetros ajustables, no solo se agrega a la primera capa, sino que se agrega a cada capa del transformador. Para la estructura de red T5, hay partes de codificador y decodificador, por lo que el prefijo de solicitud debe agregarse tanto a la entrada del codificador como a la entrada del decodificador.

En resumen, la idea del ajuste delta es corregir los parámetros del modelo original de preentrenamiento y luego agregar algunos parámetros de red para el ajuste fino de las tareas posteriores. ¿En cuanto a dónde poner los nuevos parámetros de red? Puedes ponerlo en cualquier lugar, siempre y cuando funcione.

5. Puesta a punto de la implementación

5.1 Alpacas

El 15 de marzo de 2023, Stanford lanzó el modelo de Alpaca "Alpaca: un modelo de seguimiento de instrucciones fuerte y replicable", que se ajustó en LLaMA-7B de Meta, utilizando solo 52k de datos, y su rendimiento es aproximadamente igual a GPT-3.5 , y el costo de capacitación es menos de $600.

artículo: Stanford CRFM

Hay dos desafíos principales en el entrenamiento de modelos grandes:

1. Gran modelo base excelente: use LLaMA-7B;

2. Datos de instrucción de alta calidad: basado en el método de generación automática de datos de instrucción en el documento de AUTO-INSTRUCCIÓN, use el texto-davinci-003 de OpenAI para generar datos de instrucción de 52K.

Después del modelo de alpaca Alpaca, apareció una gran cantidad de modelos de ajuste fino basados ​​​​en LLaMA, incluidos ChatLLama, FreedomGPT, Vicuna, Koala, etc. Los nombres de la familia de alpaca casi no son suficientes.

Esencialmente hablando, ChatGPT, un modelo de lenguaje grande, logra el efecto de "fortalecer los milagros" quemando dinero y poder de cómputo. Y esto también trae un problema, y ​​es que el grado en que un modelo de lenguaje tan grande quema dinero desalentará a muchas pequeñas empresas, y solo pueden unirse al círculo de la hegemonía y el monopolio. Y para una empresa como Xiaohongshu/Bilibili, que no puede pagar el costo de entrenar modelos grandes ni está dispuesta a entregar los datos de su propio grupo de contenido a otros, en realidad es una situación bastante embarazosa.

La alpaca y la vicuña muestran otra posibilidad, que es reproducir el 90% o incluso el 99% de la capacidad de los grandes modelos lingüísticos a un precio muy bajo a través de la "destilación del conocimiento". Y eso significa que las pequeñas empresas también pueden entrenar sus propios modelos de IA.

En otras palabras, ChatGPT abrió el preludio del aterrizaje de la IA, y Vicuña nos dice que el mundo de la IA en todas partes puede estar a la vuelta de la esquina.

5.2 Autoinstrucción

En 2022, la Universidad de Washington propuso un marco en el documento "AUTO-INSTRUCCIÓN: Alineación del modelo de lenguaje con instrucciones autogeneradas": auto-instrucción, que puede usar la menor anotación manual para generar una gran cantidad de datos para la instrucción-ajuste; También lanzó un conjunto de datos de 52K para el ajuste de instrucciones obtenido con el método anterior.

papel: https://arxiv.org/abs/2212.10560

Método de construcción de conjuntos de datos de autoinstrucción

Comparación de efectos:

Responda el puntaje de resultado, A es el mejor, D es el peor; verde es el mejor, rojo es el peor

Como puede verse:

  • El GPT3 original apenas puede responder a las instrucciones del usuario, y todos los modelos ajustados con instrucciones han mejorado significativamente

  • Aunque los datos generados por Self-Instruct son ruidosos, el modelo GPT3 de autoinstrucción es significativamente mejor que el modelo GPT3+T0 Training y GPT3 + SuperNI Training

  • El efecto de autoinstrucción del modelo GPT3 es muy similar al efecto del modelo InstructGPT001

  • InstructGPT003 es más efectivo

Método de recopilación de datos de instrucciones:

  • Consulte los datos de autoinstrucción obtenidos por Alpaca en base a GPT3.5;

  • Consulte los datos de autoinstrucción obtenidos por Alpaca en base a GPT4;

  • Datos ShareGPT compartidos por usuarios que usan ChatGPT.

6. Direcciones futuras

1. Ampliar aún más la escala del modelo, mejorar la arquitectura y la formación del modelo.

Mejorar la arquitectura del modelo o el proceso de entrenamiento puede conducir a modelos de alta calidad con capacidades emergentes y computación reducida.

Una dirección es usar arquitecturas escasas de expertos mixtos, que son más eficientes desde el punto de vista computacional mientras mantienen un costo de entrada constante, usar estrategias de aprendizaje más localizadas en lugar de retropropagarse sobre todos los pesos de la red neuronal y usar almacenamiento externo para el modelo mejorado.

2. Ampliar la escala de datos

El entrenamiento durante un tiempo suficientemente largo en un conjunto de datos suficientemente grande ha demostrado ser clave para que los modelos de lenguaje adquieran conocimiento sintáctico, semántico y de otro tipo del mundo. Recientemente, Hoffmann y otros argumentaron que trabajos anteriores subestimaron la cantidad de datos de entrenamiento necesarios para entrenar un modelo óptimo y subestimaron la importancia de los datos de entrenamiento. La recopilación de grandes cantidades de datos sobre los cuales los modelos se pueden entrenar durante períodos de tiempo más largos permite una mayor variedad de capacidades emergentes dentro de las limitaciones de un tamaño de modelo fijo.

3. Mejores indicaciones

Si bien las indicaciones de pocas tomas son simples y efectivas, las mejoras en la generalidad de las indicaciones ampliarán aún más las capacidades de los modelos de lenguaje.

Por ejemplo, aumentar con ejemplos de pocas tomas con pasos intermedios permite que el modelo realice tareas de inferencia de varios pasos que no se pueden lograr con indicaciones estándar. Además, una mejor explicación de por qué funcionan las indicaciones podría ayudar a arrancar capacidades emergentes en modelos más pequeños. Una comprensión completa de por qué un modelo funciona a menudo va a la zaga del desarrollo y la popularidad de la tecnología, y a medida que se desarrollan modelos más potentes, las mejores prácticas pueden cambiar.

4. Comprender las capacidades emergentes

Comprender la emergencia Además de estudiar cómo desbloquear aún más las capacidades emergentes, una dirección de investigación futura es cómo y por qué aparecen las capacidades emergentes en modelos de lenguaje grandes. Comprender la emergencia es una dirección muy importante, que nos ayuda a determinar qué capacidades de emergencia puede tener el modelo y cómo entrenar un modelo semántico más fuerte.

Supongo que te gusta

Origin blog.csdn.net/shibing624/article/details/130540936
Recomendado
Clasificación