¿El modelo grande de código abierto más poderoso? Interpretación del papel Llama 2


   El modelo Llama siempre se ha considerado el modelo de código abierto más poderoso en la comunidad de IA. Muchos modelos de código abierto en el país y en el extranjero se entrenan/desarrollan sobre esta base, como el modelo Alpaca, el modelo BELLEE, el modelo Guanaco y Vicuna. modelo. Sin embargo, debido a problemas con el acuerdo de código abierto, el modelo Llama no se ha podido utilizar comercialmente de forma gratuita. La semana pasada, el equipo de Meta AI abrió el código abierto del último modelo grande Llama2. Sus capacidades son comparables a ChatGPT y es gratuito para uso comercial. La dirección del código abierto está aquí y el código de muestra está aquí, lo que una vez más impulsa el código abierto de modelos grandes. Vale la pena mencionar que el equipo de Meta AI no solo abrió el modelo de preentrenamiento de Llama 2, sino que también publicó un documento sobre Llama 2 que detalla el proceso de entrenamiento y el proceso de ajuste del modelo Llama 2. Este artículo interpretará el artículo de Llama 2 y aprenda de él. Métodos básicos en el ajuste del modelo de Llama 2.

Introducción

  Antes de presentar el trabajo detallado, el equipo de Meta AI primero comparó las capacidades del modelo Llama 2 con otros modelos de código abierto y el modelo Bytom, como se muestra en la Figura 1. Se puede ver que en las pruebas del equipo Meta AI, el modelo Llama 2 es comparable a ChatGPT en términos de capacidades del modelo; en términos de capacidades del modelo y capacidades de seguridad integral, Llama 2 es incluso mejor.

Insertar descripción de la imagen aquí
  El documento presenta que después de que Meta AI probó y comparó la practicidad y seguridad de modelos grandes, Llama 2 lanzado esta vez es el mejor modelo entre los modelos de código abierto actualmente y se puede comercializar de forma gratuita. Esta vez se lanzaron dos series de modelos de código abierto:

  • Modelos de la serie Llama 2, como versión actualizada del modelo Llama 1, esta serie de modelos utiliza más y más nuevos datos de fuente abierta para el entrenamiento del modelo. El corpus ha aumentado en un 40% y la longitud del texto del modelo se ha ampliado al doble. el de Llama 1, y Se utiliza el método de atención de consultas agrupadas [xxx]. Esta serie de modelos de código abierto incluye versiones de parámetros 13B y 70B; al mismo tiempo, el equipo de Meta AI también entrenó una versión de parámetros 34B, pero no ha sido de código abierto.
  • Serie de modelos Llama 2-Chat, esta serie de modelos se basa en la serie de modelos Llama 2 y afina el modelo para tareas de diálogo. Los modelos de código abierto de esta serie incluyen versiones de parámetros 7B, parámetros 13B y parámetros 70B.

  El trabajo de capacitación del modelo Llama 2 se divide principalmente en tres partes: preentrenamiento, ajuste fino y retroalimentación humana. Todo el proceso de capacitación se muestra en la Figura 2. Entre ellos, el módulo de preentrenamiento realiza principalmente el preentrenamiento del modelo; el módulo de ajuste fino se centra en el proceso de aprendizaje por refuerzo basado en la retroalimentación humana (RLHF, Reinforcement Learning from Human Feedback), que involucra dos algoritmos/estrategias, una de las cuales En GPT se utilizó el algoritmo de optimización de políticas próximas (PPO) utilizado en la serie de artículos, y el otro es la estrategia de ajuste fino de muestreo de rechazo; el módulo de retroalimentación humana entrena principalmente el modelo de recompensa (modelo de recompensa), que se centra en el modelo. Se entrenaron por separado dos modelos de recompensa: el modelo de recompensa por seguridad y el modelo de recompensa por ser útil.
Insertar descripción de la imagen aquí

Entrenamiento previo del modelo

Configuraciones previas al entrenamiento

  En términos de estructura del modelo y configuración previa al entrenamiento, el modelo Llama 2 es mayoritariamente consistente con el modelo Llama 1. El modelo Llama 2 utiliza una estructura de transformador estándar, en la que se utiliza RMSNorm, así como la función de activación SwiGLU y la incrustación de RoPE. método. . En comparación con el entrenamiento de Llama 1, las características principales del entrenamiento de Llama 2 son:
   1) Completar más trabajo de limpieza de datos
   2) Actualizar la estrategia de combinación de datos
   3) Agregar más datos de entrenamiento
   4) Lograr la traducción de la longitud del texto 5
   ) Atención de consultas agrupadas (GQA) se utiliza el método.
  La comparación de las configuraciones de pre-entrenamiento del modelo Llama 2 y el modelo Llama 1 se muestra en la siguiente tabla. El Apéndice A.2.1 del artículo también proporciona experimentos comparativos relacionados:
Insertar descripción de la imagen aquí
  En el pre-entrenamiento Configuración del modelo Llama 2 Durante el entrenamiento, Meta AI utilizó datos públicos completamente nuevos (que no involucraban datos de usuario de ningún metaproducto) y filtró y eliminó información personal y datos de privacidad en los datos, por un total de 2 billones de tokens. El tokenizador utilizado es el mismo que el de Llama 1, el tamaño del diccionario es 32K y la configuración de hiperparámetros principal del proceso de preentrenamiento es la siguiente:

hiperparámetros valor
Optimizador AdamW β_1=0,9, β_2=0,95, pasos= 10^(-5)
Horario de tasa de aprendizaje coseno
calentamiento 2000
Caída de peso 0.1
Recorte de degradado 1.0

  El documento también proporciona las estadísticas de pérdidas del proceso de preentrenamiento del modelo Llama 2, como se muestra en la siguiente figura. Se puede ver que a medida que aumentan los parámetros del modelo, el efecto de entrenamiento del modelo se vuelve más significativo. Esta tendencia también se introduce en la serie de artículos GPT. Al mismo tiempo, también se puede ver que a medida que aumenta la cantidad de pre- A medida que aumentan los datos de entrenamiento, el efecto de entrenamiento del modelo se vuelve más significativo y la pérdida de entrenamiento también muestra una tendencia a la baja, lo que significa que si se utilizan más datos previos al entrenamiento, el efecto previo al entrenamiento del modelo puede ser mejor.
Insertar descripción de la imagen aquí

Recursos de hardware y emisiones de carbono.

  Meta AI utiliza el grupo de supercomputadoras de Meta cuando entrena a Llama 2, todos los cuales están equipados con tarjetas gráficas NVIDIA A100. En respuesta al plan de bajas emisiones de carbono, el documento también enumera el tiempo de cálculo de la GPU, la potencia y las emisiones de carbono necesarias para el entrenamiento previo de diferentes modelos, como se muestra en la siguiente figura. De acuerdo con esta tabla estadística, también puede estimar la cantidad de GPU utilizadas para el entrenamiento previo del modelo Llama 2 en función del tiempo de entrenamiento previo.

Insertar descripción de la imagen aquí

Evaluación del modelo

  Una vez completado el entrenamiento previo de Llama 2, el documento realizó una prueba comparativa de la capacidad de codificación, capacidad de razonamiento, capacidad de comprensión lectora, capacidad matemática, etc. del modelo en los datos de evaluación interna de Llama 1, Llama 2 (versión previa al entrenamiento). ), MPT y Falcon, como sigue Como se muestra en la figura. Se puede ver en el cuadro comparativo que, bajo la misma magnitud de parámetro, las diversas capacidades del modelo Llama 2 después de completar el entrenamiento previo son mejores que las de Llama 1, MPT y Falcon.
Insertar descripción de la imagen aquí
  Además de la comparación con los modelos de código abierto mencionados anteriormente, el documento también proporciona comparaciones de prueba con algunos modelos de código cerrado, como se muestra en la siguiente figura. Se puede ver que, aunque las puntuaciones múltiples del modelo Llama 2 preentrenado son más bajas que las de estos modelos de código cerrado, la brecha es relativamente pequeña. Por supuesto, este es solo el rendimiento del modelo Llama 2 previamente entrenado (es decir, la serie Llama 2 de código abierto), y el trabajo de ajuste posterior aún no se ha realizado.

Insertar descripción de la imagen aquí

Ajuste del modelo

  Para el ajuste de Llama 2, Meta AI nombró Llama 2-Chat al modelo de Llama 2. El proceso de ajuste incluye el ajuste de instrucciones y el proceso RLHF. Para el ajuste fino del modelo, el documento se divide en tres secciones: la primera sección presenta principalmente el "ajuste fino supervisado", la segunda sección explica principalmente la capacitación del "modelo de recompensa" y el proceso "RLHF", y la La tercera sección se centra en Se presenta el método Ghost Attention (GAtt).

Ajuste supervisado

  El autor primero utilizó el mismo método de ajuste fino y el mismo conjunto de instrucciones de ajuste que Llama 1 para el primer paso del ajuste fino supervisado; luego usó datos de mayor calidad para realizar el ajuste fino nuevamente. Durante el proceso de ajuste, el autor descubrió que los conjuntos de datos de alta calidad pueden mejorar significativamente el rendimiento del modelo, por lo que el equipo de Meta AI trabajó mucho para garantizar la alta calidad de los datos. En el proceso se recopilaron datos de alta calidad (no contiene datos de usuario para ningún producto Meta).
Detalles de ajuste fino: durante el proceso de ajuste fino supervisado, cada dato de muestra incluye un mensaje y una respuesta. Para garantizar que la longitud del texto del modelo sea consistente, el mensaje y la respuesta de cada dato se unen con un símbolo especial y luego pasó al modelo. Todo el proceso solo duró 2 épocas.

Aprendizaje por refuerzo con retroalimentación humana (RLHF)

  RLHF también es un proceso de capacitación, cuyo objetivo es hacer que el modelo ajustado esté más inclinado a dar las respuestas que los humanos/investigadores quieren/prefieren. El autor pidió a algunos anotadores que anotaran las respuestas generadas por el modelo, seleccionaran sus respuestas favoritas y luego usaran las respuestas con las que estos anotadores estuvieran más satisfechos para entrenar un modelo de recompensa.

Recopilación de datos de preferencias humanas.

  Para la recopilación de datos en la etapa RLHF, el autor primero le pidió al anotador que escribiera una sugerencia/pregunta y luego eligiera una de las respuestas generadas por los dos modelos de acuerdo con las reglas de evaluación especificadas. Para garantizar la diversidad de respuestas generadas, las dos respuestas se generan a partir de modelos diferentes (se cambian los parámetros de temperatura). Además, los autores pidieron a los anotadores que indicaran su preferencia por la respuesta elegida: significativamente mejor, mejor, ligeramente mejor o insignificantemente mejor/inseguro.
  Además, el autor también consideró la usabilidad y seguridad del conjunto de datos y llevó a cabo un procesamiento específico. Entre ellos, los datos etiquetados manualmente se recopilarán una vez por semana. Después de entrenar cada modelo de recompensa con los datos recopilados, el modelo llama 2-Chat también se actualizará una vez y luego se utilizará la nueva versión de llama 2-Chat. Los datos se anotan manualmente y luego el modelo de recompensa continúa actualizándose. Esta iteración garantiza que el nuevo modelo de recompensa se pueda actualizar sincrónicamente con el modelo llama 2-Chat.
  En la siguiente tabla, el autor compara el conjunto de datos recopilados con múltiples conjuntos de datos de preferencias humanas de código abierto. De los resultados de la comparación, se puede ver que el conjunto de datos recopilados por el autor contiene más turnos de conversación y tiene un contenido promedio más largo.

Insertar descripción de la imagen aquí

modelo de recompensa

  Con respecto a RLHF, los autores entrenaron dos modelos de recompensa, uno de los cuales está optimizado para la usabilidad utilizando un conjunto de datos con preferencias de "usabilidad" y el otro está optimizado para la seguridad utilizando un conjunto de datos con preferencias de "seguridad". Para el modelo de recompensa, el autor también utiliza los puntos de control del modelo Llama 2-Chat previamente entrenado para el entrenamiento, a fin de garantizar que el modelo de recompensa también pueda comprender las tareas objetivo del modelo Llama 2-Chat. La ventaja de este enfoque es que puede evitar algunas situaciones de sesgo inesperadas. Por ejemplo, hay una falta de coincidencia de información entre los dos modelos, lo que puede causar que el modelo tenga una ilusión de preferencia (es decir, el modelo cree que está realizando un aprendizaje de recompensa de acuerdo con a las preferencias de datos humanos, pero de hecho (pero no arriba), la diferencia entre el modelo de recompensa y el modelo Llama 2-Chat es que el encabezado de clasificación de la predicción de la etiqueta en la salida del modelo se reemplaza por el encabezado de regresión utilizado para generar el recompensa escalar.
  El objetivo de entrenamiento (función de pérdida) del modelo de recompensa es:
Insertar descripción de la imagen aquí

  Entre ellos, y c representa una respuesta que está más inclinada a las preferencias humanas, y y r representa una respuesta que es relativamente inadecuada para las preferencias humanas; r θ (x, y c ) representa que cuando el conjunto de parámetros del modelo es θ, la salida obtenido al ingresar x es consistente con y c La fracción escalar de r θ (x,y r ) es la misma. Como se mencionó anteriormente, los datos para entrenar el modelo de recompensa deben etiquetarse manualmente (significativamente mejores, mejores, ligeramente mejores o insignificantemente mejores/inseguros). Para permitir que la pérdida refleje las diferencias entre diferentes etiquetas, el autor agregó una función discreta m (r) a la función de pérdida, que puede mejorar mejor la precisión del modelo de recompensa (el documento se encuentra en la tabla 28 y en el Apéndice A.3.3). (Explicado en)
Insertar descripción de la imagen aquí
  Los parámetros de entrenamiento del modelo de recompensa se presentan brevemente en el artículo: también utilizando el optimizador AdamW, la tasa de aprendizaje máxima del modelo 70B Llama 2-Chat es 5 × 10 -6, y la tasa de aprendizaje máxima de otros Los modelos son 1 × 10 -5 , el programa de tasa de aprendizaje es coseno, el calentamiento se establece en el 3% del número total de pasos de entrenamiento, el valor mínimo es 5 y el tamaño del lote es 512.
  Una vez completado el entrenamiento del modelo de recompensa, el autor probó y comparó el modelo de recompensa entrenado con otros modelos de recompensa públicos, como se muestra en la siguiente tabla. Se puede observar que el modelo de recompensa de Llama 2-Chat funciona muy bien en términos de usabilidad y seguridad; en general, supera por completo a otros modelos.
Insertar descripción de la imagen aquí
  Además de comparar con otros modelos de recompensa, el autor también realizó estadísticas sobre los datos del proceso de capacitación del modelo de recompensa, como se muestra en la siguiente figura. El autor descubrió que a medida que aumentan los parámetros del modelo, la capacidad del modelo de recompensa muestra una tendencia ascendente (esto es consistente con la tendencia mostrada por los datos en el proceso de preentrenamiento); al mismo tiempo, a medida que aumentan los datos de entrenamiento, La capacidad del modelo de recompensa también muestra una tendencia ascendente. El autor cree que RLHF es uno de los pasos más importantes en la capacidad final de los modelos grandes. Mejorar el efecto del modelo de recompensa traerá directamente mejoras significativas a la capacidad final de los modelos grandes (en la próxima versión, el autor puede optimizar aún más el modelo de recompensa).
Insertar descripción de la imagen aquí

proceso iterativo de ajuste fino

  Como mencionamos anteriormente, el entrenamiento del modelo de recompensa y el entrenamiento del modelo Llama 2-Chat son iterativos y simultáneos. El autor entrenó múltiples versiones de modelos grandes en RLHF, llamados RLHF-V1, RLHF-V2,…, RLHF - V5, todo el proceso utiliza dos algoritmos para actualizar el modelo grande:

  • El algoritmo de optimización de políticas próximas (PPO), uno de los algoritmos RLHF más comunes actualmente, fue propuesto por el equipo de OpenAI y se aplicó en la serie de trabajos GPT y ha mostrado muy buenos resultados.
  • Método de ajuste fino de muestreo de rechazo (muestreo de rechazo), cuando se ingresa el mensaje, se muestrean las mejores K salidas del modelo anterior (el modelo antes del entrenamiento en esta iteración), y luego se usa el último modelo de recompensa para comparar estas salidas. se realiza, donde se selecciona la salida con la puntuación más alta para la actualización de los parámetros del modelo.

  Cabe señalar que el autor ha estado utilizando muestreo de rechazo en RLHF antes de RLHF (V4); después de eso, se utilizó muestreo de rechazo y PPO para completar el proceso de RLHF. Además, el autor solo usó muestreo de rechazo en el proceso de ajuste fino de llama-chat, el modelo más grande de 70B. Los otros modelos pequeños usaron datos de muestreo de rechazo del modelo grande para el ajuste fino, es decir, usando el modelo grande. con buenas capacidades para destilar el modelo pequeño.

Control de diálogo multiturno

  En las tareas de diálogo, es posible que sea necesario utilizar algunas instrucciones en múltiples rondas de diálogo, pero el autor descubrió en el RLHF original que el modelo olvidaría las instrucciones al comienzo del diálogo después de múltiples rondas de diálogo. Para resolver este problema, el autor propuso el método Ghost Attention (GAtt), un truco de entrenamiento del modelo, que puede ayudar al modelo a centrarse en el conocimiento en múltiples rondas de diálogo. El efecto se muestra en la figura.

Insertar descripción de la imagen aquí
  El método Ghost Attention ( GAtt ) consiste en agregar una instrucción al diálogo original de múltiples rondas y cambiar el diálogo original a [u 1 ,a 1 ,…,u n ,an ] (u 1 representa la primera ronda de entrada del usuario, a 1 representa la respuesta correspondiente de la primera ronda, u 2 representa la entrada del usuario de la segunda ronda, y así sucesivamente) se convierte en [inst+u 1 ,a 1 ' ,…,inst+u n ,a n ' ]. La idea de este método es generar un conjunto de datos más enfocado para ajustar el modelo, por ejemplo, el conjunto de datos original es [u 1 , a 1 ,…, u n , a n ], y el autor obtiene un nuevo conjunto de datos agregando instrucciones [inst+u 1 ,a 1 ',…,inst+u n ,a n '], y luego use los datos mixtos de los dos [inst+u 1 ,a 1',u 2 ,a 2 ' ,...,u n ,a n ' ] para ajustar el modelo, de modo que el modelo siempre pueda mantener el enfoque en la instrucción en múltiples rondas de diálogo. Para evitar el problema de la falta de coincidencia de oraciones, durante el proceso de capacitación, solo se retiene la primera ronda de indicaciones y la pérdida de las rondas intermedias se establece en 0. Cabe señalar que el autor no utilizó el método GAtt al comienzo de la etapa RLHF, sino que solo utilizó el método GAtt después de RLHF V3 para permitir que el modelo aumente el control de múltiples rondas de diálogo.

Resultados RLHF

  Para evaluar el efecto del modelo después de RLHF, el autor comparó los efectos del modelo Llama 2-Chat, algunos modelos de código abierto y modelos de código cerrado. Se utilizó una evaluación manual para calificar las respuestas de cada modelo. Se muestran los resultados generales de la comparación. en la figura siguiente. Se puede ver que los resultados generales de las pruebas del modelo Llama 2-Chat son mejores que otros modelos de código abierto y son básicamente equivalentes a ChatGPT.

Insertar descripción de la imagen aquí

Seguridad de las respuestas modelo.

  Para garantizar la seguridad de las respuestas del modelo, el autor también ha trabajado mucho, que incluye principalmente: (1)
   El autor recopiló datos de acuerdo con las preferencias de seguridad humana al recopilar datos, lo que permitió que el modelo se generara antes de RLHF. Respuestas que tienden a seguir la conciencia de la seguridad humana.
  (2) En la etapa RLHF, un modelo de recompensa de seguridad se entrena por separado para que el modelo pueda estar sesgado hacia la generación de respuestas más seguras al seguir ajustando el modelo.
  (3) Utilice el método de destilación de contexto en la etapa RLHF. Esto incluye generar respuestas a preguntas preferidas en materia de seguridad agregando mensajes adicionales "Usted es un asistente seguro y responsable" y luego usar estas preguntas sin mensajes adicionales y las correspondientes respuestas seguras generadas para ajustar el modelo.
  Además, los autores llevaron a cabo una serie de pruebas de seguridad proactivas, denominadas "equipo rojo". Estas pruebas de seguridad involucran a evaluadores y modelos que realizan preguntas y respuestas de seguridad en diferentes campos, y los resultados de las preguntas y respuestas se retroalimentan para optimizar aún más la seguridad de las respuestas del modelo. Entre ellos, hay más de 350 evaluadores de seguridad, incluidos expertos en diversos campos, como seguridad de redes, opinión pública, derecho, políticas, derechos humanos, ética y otros campos; las cuestiones involucradas también son ricas, como las socioeconómicas, de género y carrera.
  El artículo evalúa la seguridad de preguntas y respuestas del modelo Llama 2-Chat y lo compara con algunos modelos de código abierto y cerrado, como se muestra en la siguiente figura. Se puede ver que en términos de seguridad de las respuestas del modelo, Llama 2-Chat es mucho mejor que otros modelos de código abierto, y algunas versiones del modelo son mejores que ChatGPT.

Insertar descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_39561364/article/details/131939857
Recomendado
Clasificación