Artículos · arXiv 2307.09288
Llama 2: Modelos base y de chat abiertos y ajustados
Llama 2: Open Foundation and Fine-Tuned Chat Models
Resumen en tres líneas
- 🎯 Los LLM de acceso abierto carecían anteriormente de la alineación extensiva (RLHF) requerida para competir de forma segura y eficaz con modelos de chat propietarios cerrados.
- 🔧 Se preentrenaron modelos de 7B–70B con 2T de tokens usando grouped-query attention, seguidos de SFT de alta calidad, modelado de recompensa dual (seguridad y utilidad), ajuste fino por muestreo de rechazo, PPO y Ghost Attention (GAtt).
- 📈 Llama 2 70B alcanza 68.9 en MMLU y 56.8 en GSM8K; Llama 2-Chat logra una tasa de victorias del 36% y de empate del 31.5% contra ChatGPT en evaluación humana.
Resumen
En este trabajo, desarrollamos y publicamos Llama 2, una colección de modelos de lenguaje grandes (LLM) preentrenados y ajustados que varían en escala desde 7 mil millones hasta 70 mil millones de parámetros. Nuestros LLM ajustados, denominados Llama 2-Chat, están optimizados para casos de uso de diálogo. Nuestros modelos superan a los modelos de chat de código abierto en la mayoría de los benchmarks evaluados y, según nuestras evaluaciones humanas de utilidad y seguridad, pueden ser un sustituto adecuado para los modelos de código cerrado. Proporcionamos una descripción detallada de nuestro enfoque de ajuste fino y mejoras de seguridad de Llama 2-Chat para permitir que la comunidad aproveche nuestro trabajo y contribuya al desarrollo responsable de los LLM.
Resumen original (inglés)
In this work, we develop and release Llama 2, a collection of pretrained and fine-tuned large language models (LLMs) ranging in scale from 7 billion to 70 billion parameters. Our fine-tuned LLMs, called Llama 2-Chat, are optimized for dialogue use cases. Our models outperform open-source chat models on most benchmarks we tested, and based on our human evaluations for helpfulness and safety, may be a suitable substitute for closed-source models. We provide a detailed description of our approach to fine-tuning and safety improvements of Llama 2-Chat in order to enable the community to build on our work and contribute to the responsible development of LLMs.
Guía de lectura
Problema y motivación
Aunque los modelos fundacionales preentrenados de acceso abierto como LLaMA-1, BLOOM y Falcon igualaban el rendimiento base sin procesar de modelos como GPT-3, los asistentes de chat comerciales cerrados (p. ej., ChatGPT, Claude) mantenían una ventaja significativa. Esta ventaja de rendimiento se derivaba de una intensa alineación posterior al preentrenamiento mediante ajuste por instrucciones y aprendizaje por refuerzo con retroalimentación humana (Reinforcement Learning with Human Feedback, RLHF), lo que requiere una enorme capacidad de cómputo, pipelines de anotación propietarios y ejercicios de red-teaming. Meta desarrolló y publicó abiertamente Llama 2 y Llama 2-Chat (parámetros de 7B, 13B y 70B, además de una variante de 34B no publicada) para democratizar los modelos de diálogo alineados y ofrecer metodologías transparentes de alineación y seguridad.
Ideas clave
- Preentrenamiento ampliado: Preentrenado con 2.0 billones de tokens (un incremento del 40% respecto a Llama 1) con un contexto duplicado a 4,096 tokens, e introducción de Grouped-Query Attention (GQA) para los modelos de 34B y 70B con el fin de acelerar la decodificación autorregresiva.
- SFT centrado en la calidad: Demuestra que decenas de miles de anotaciones de proveedores de alta calidad superan a millones de ejemplos ruidosos de terceros, limitando el SFT a 27,540 demostraciones rigurosamente seleccionadas.
- Modelado de recompensa dual: Entrena dos modelos de recompensa distintos (uno para utilidad y otro para seguridad) para evitar tensiones en las que las restricciones de seguridad degraden la utilidad.
- Alineación RLHF en dos etapas: Combina el ajuste fino iterativo por muestreo de rechazo (destilado a partir del modelo de 70B) con una optimización posterior mediante Proximal Policy Optimization (PPO).
- Ghost Attention (GAtt): Una técnica de destilación de contexto aplicada en diálogos de múltiples turnos para preservar instrucciones del sistema persistentes a lo largo de más de 20 turnos de conversación sin desvanecimiento de las instrucciones.
Método
Arquitectura de preentrenamiento
Llama 2 utiliza una arquitectura transformer autorregresiva con prenormalización RMSNorm, activaciones SwiGLU e incrustaciones posicionales rotatorias (RoPE), agregando GQA en las escalas más grandes (34B y 70B). Los modelos se entrenaron con AdamW (), decaimiento de tasa de aprendizaje por coseno hasta el 10%, decaimiento de pesos de 0.1 y recorte de gradientes (gradient clipping) de 1.0.
Modelado de recompensa
Los anotadores humanos proporcionan preferencias comparativas en una escala de 4 puntos entre dos respuestas muestreadas. Los modelos de recompensa se inicializan a partir de checkpoints de chat preentrenados y se optimizan con una pérdida de clasificación binaria aumentada con margen: donde es el contexto del prompt, es la respuesta preferida, es la respuesta rechazada y es un margen discreto que depende de la intensidad de preferencia del anotador.
Objetivos de RLHF
La optimización se realiza mediante muestreo de rechazo (muestreando completados a partir de la política más reciente y seleccionando la salida de mayor recompensa) y PPO. El objetivo de PPO maximiza la recompensa esperada al tiempo que penaliza la deriva de la política mediante la divergencia KL frente a la política inicial : donde es una combinación por tramos blanqueada y transformada por logit de los modelos de recompensa de seguridad () y utilidad ():
Ghost Attention (GAtt)
Para forzar la coherencia en múltiples turnos, la instrucción se añade sintéticamente a cada prompt de usuario en un diálogo existente. Las respuestas se muestrean a partir de la política más reciente, pero la pérdida se calcula exclusivamente sobre los tokens del turno objetivo (anulando la pérdida en turnos anteriores) mientras se conserva únicamente en el primer turno durante la inferencia.
Resultados
- Benchmarks de modelos base: Llama 2 70B supera a todos los modelos base de código abierto, alcanzando 68.9 en MMLU (5-shot), 56.8 en GSM8K (8-shot) y 51.2 en Big-Bench Hard (3-shot), rivalizando con GPT-3.5 y PaLM-540B.
- Evaluaciones humanas de diálogo: En evaluaciones humanas que abarcaron ~4,000 prompts, Llama 2-Chat 70B obtuvo una tasa de victorias del 36% y de empate del 31.5% frente a ChatGPT (gpt-3.5-turbo-0301). Llama 2-Chat 34B ganó más del 75% de las comparaciones directas contra Vicuna-33B y Falcon 40B.
- Seguridad y toxicidad: Llama 2-Chat alineado con seguridad redujo las tasas de generación tóxica en ToxiGen del 24.60% (base 70B) al 0.01%, mostrando porcentajes de infracción de seguridad más bajos que ChatGPT y Falcon en benchmarks de red-teaming humano.
Limitaciones y preguntas abiertas
- Código y razonamiento complejo: Llama 2 70B se sitúa sustancialmente por detrás de GPT-4 y PaLM-2-L en benchmarks de programación (pass@1 en HumanEval del 29.9% frente al 67.0% de GPT-4).
- Cobertura lingüística: Aproximadamente el 89.7% de los datos de preentrenamiento está en inglés, lo que vuelve frágil el rendimiento y la alineación de seguridad del modelo en otros idiomas.
- Falsos rechazos y conservadurismo excesivo: El riguroso ajuste de seguridad introduce falsos rechazos en prompts límite (p. ej., negarse a responder consultas benignas que mencionan palabras como 'bomba' o 'Christmas Crack').
- Retención del lanzamiento de 34B: La variante del modelo de 34B no se publicó de forma abierta debido a la falta de tiempo suficiente para realizar ejercicios de red-teaming antes de la publicación.
Términos clave
- Grouped-Query Attention (GQA)
- Variante de atención que comparte cabezales de clave (key) y valor (value) entre grupos de cabezales de consulta (query) para reducir el ancho de banda de memoria de la caché KV y mejorar la velocidad de inferencia en modelos grandes.
- Reinforcement Learning with Human Feedback (RLHF)
- Procedimiento de alineación que utiliza comparaciones de preferencia humana por pares para entrenar modelos de recompensa que guían la optimización de la política mediante PPO y muestreo de rechazo.
- Rejection Sampling fine-tuning
- Técnica que muestrea múltiples candidatos por prompt, selecciona la salida con la puntuación más alta según el modelo de recompensa y la utiliza como referencia supervisada para actualizaciones de gradiente.
- Ghost Attention (GAtt)
- Método de ajuste fino que preserva sintéticamente las instrucciones a lo largo de diálogos de múltiples turnos ajustando el contexto del prompt y enmascarando la pérdida de tokens intermedios.
- Safety RM and Helpfulness RM
- Dos modelos de recompensa distintos entrenados por separado en comparaciones adversarias de seguridad y de utilidad general para evitar compromisos en la optimización.
- Context Distillation
- Técnica que genera completados del modelo condicionados a un preprompt de seguridad y luego ajusta el modelo base con esas salidas sin incluir el preprompt.
- False Refusal
- Comportamiento erróneo en el que el modelo se niega a responder a un prompt legítimo y seguro del usuario debido a heurísticas de seguridad o palabras clave excesivamente sensibles.
- Inter-Rater Reliability (IRR)
- Medida estadística (evaluada mediante AC1/2 de Gwet) que cuantifica el nivel de acuerdo entre anotadores humanos al juzgar la seguridad y la utilidad.
Preguntas
¿Qué tamaños de parámetros de Llama 2 se publican abiertamente?
Meta lanzó variantes de 7B, 13B y 70B parámetros tanto para Llama 2 base como para Llama 2-Chat optimizado para diálogo; la variante de 34B fue evaluada en el artículo pero retenida y no publicada debido a limitaciones de tiempo en las pruebas de red-teaming.
¿En qué se diferencia Llama 2 de Llama 1 en cuanto a datos de preentrenamiento y arquitectura?
Llama 2 se entrenó con 2.0 billones de tokens (un 40% más que Llama 1), duplicó la ventana de contexto a 4,096 tokens y añadió Grouped-Query Attention (GQA) para las configuraciones de 34B y 70B.
¿Por qué los autores entrenaron modelos de recompensa independientes para seguridad y utilidad?
La utilidad y la seguridad entran en conflicto con frecuencia durante el modelado de preferencias (por ejemplo, cumplir con una solicitud no segura es útil pero infringe las normas). Desacoplarlos permite una optimización dedicada y evita que un objetivo degrade al otro.
¿Cómo previene Ghost Attention (GAtt) el olvido de instrucciones en múltiples turnos?
GAtt añade la instrucción del sistema a los turnos del usuario en chats sintéticos de múltiples turnos, muestrea respuestas y entrena el modelo aplicando la pérdida únicamente al turno objetivo, habiendo eliminado la instrucción de los turnos intermedios; esto enseña a las capas de atención a enfocarse en el mensaje inicial del sistema a lo largo de diálogos extensos.
La explicación de esta página la escribió una IA a partir del artículo y puede contener errores. Consulte el artículo para los detalles.