Artículos · arXiv 2302.13971
LLaMA: Modelos de Lenguaje Fundacionales Abiertos y Eficientes
LLaMA: Open and Efficient Foundation Language Models
Resumen en tres líneas
- 🎯 La mayoría de los LLM líderes dependen de recuentos masivos de parámetros o conjuntos de datos propietarios, generando altos costes de servicio y barreras de acceso a la investigación.
- 🔧 Entrena modelos transformer compactos (de 7B a 65B) con 1.0T a 1.4T de tokens usando únicamente datos de código abierto, RMSNorm, SwiGLU y RoPE.
- 📈 LLaMA-13B supera a GPT-3 (175B) en la mayoría de los benchmarks, mientras que LLaMA-65B alcanza el 68.9% en MMLU tras un ajuste por instrucciones básico.
Resumen
Presentamos LLaMA, una colección de modelos de lenguaje fundacionales que abarcan desde 7B hasta 65B de parámetros. Entrenamos nuestros modelos con billones de tokens y demostramos que es posible entrenar modelos en el estado del arte utilizando exclusivamente conjuntos de datos disponibles públicamente, sin recurrir a datos propietarios e inaccesibles. En particular, LLaMA-13B supera a GPT-3 (175B) en la mayoría de los benchmarks, y LLaMA-65B es competitivo frente a los mejores modelos, Chinchilla-70B y PaLM-540B. Ponemos todos nuestros modelos a disposición de la comunidad investigadora.
Resumen original (inglés)
We introduce LLaMA, a collection of foundation language models ranging from 7B to 65B parameters. We train our models on trillions of tokens, and show that it is possible to train state-of-the-art models using publicly available datasets exclusively, without resorting to proprietary and inaccessible datasets. In particular, LLaMA-13B outperforms GPT-3 (175B) on most benchmarks, and LLaMA-65B is competitive with the best models, Chinchilla-70B and PaLM-540B. We release all our models to the research community.
Guía de lectura
Problema y motivación
Las leyes de escala estándar (como Chinchilla) calculan el compromiso óptimo entre el tamaño de los parámetros y el volumen del conjunto de datos para un presupuesto computacional de entrenamiento fijo. Sin embargo, este planteamiento pasa por alto el presupuesto de inferencia, el cual domina el coste operativo a lo largo del ciclo de vida del despliegue de los modelos de lenguaje. Para la eficiencia en inferencia, son preferibles los modelos más pequeños entrenados con una cantidad de datos significativamente superior a la recomendada por las directrices de óptimo computacional, ya que son sustancialmente más económicos de alojar y ejecutar.
Además, los modelos en el estado del arte más destacados (como GPT-3, Chinchilla y PaLM) dependen de conjuntos de datos privados y no reproducibles o de arquitecturas prohibitivamente grandes. LLaMA demuestra que se pueden entrenar modelos fundacionales competitivos utilizando exclusivamente datos disponibles de forma pública, permitiendo su distribución abierta a los investigadores.
Ideas clave
- Entrenamiento centrado en la inferencia: En lugar de detener el entrenamiento en tamaños de datos de óptimo computacional (p. ej., ~200B de tokens para un modelo de 10B), LLaMA entrena modelos de 7B y 13B con 1.0T de tokens, y modelos de 33B y 65B con 1.4T de tokens.
- Solo conjuntos de datos abiertos: Todos los datos de preentrenamiento se extraen de fuentes públicas: CommonCrawl (67%), C4 (15%), GitHub (4.5%), Wikipedia (4.5%), Books (4.5%), ArXiv (2.5%) y Stack Exchange (2%).
- Arquitectura Transformer modernizada: Incorpora pre-normalización con RMSNorm para mayor estabilidad, activaciones SwiGLU y Rotary Positional Embeddings (RoPE) en lugar de posiciones absolutas.
- Eficiencia de ingeniería: Emplea atención con uso eficiente de memoria (vía
xformers), checkpointing de activaciones personalizado y paralelismo de secuencias y modelos.
Método
LLaMA utiliza un decodificador Transformer autorregresivo con modificaciones:
- Pre-normalización: Normalización de la entrada mediante RMSNorm antes de cada subcapa:
- Activación SwiGLU: Reemplaza las activaciones estándar ReLU/GELU con SwiGLU, dimensionando la capa intermedia a en lugar de .
- Rotary Embeddings (RoPE): Se aplica en cada capa para codificar posiciones relativas sin necesidad de incrustaciones posicionales absolutas.
- Optimización: AdamW con , decaimiento de pesos (weight decay) de , recorte de gradientes (gradient clipping) de , pasos de calentamiento (warmup), y un esquema de tasa de aprendizaje por coseno que decae hasta el 10% de la tasa máxima. El tamaño de lote (batch size) es de 4M de tokens en todas las escalas de modelo.
La estimación del consumo energético y de la huella de carbono a lo largo de las sesiones de entrenamiento sigue:
Resultados
- Razonamiento de sentido común: LLaMA-13B supera a GPT-3 (175B) en múltiples benchmarks (p. ej., 78.1% vs 60.5% en BoolQ; 73.0% vs 70.2% en WinoGrande). LLaMA-65B iguala o supera a PaLM-540B en PIQA (82.8% vs 82.3%) y HellaSwag (84.2% vs 83.4%).
- QA de libro cerrado: En TriviaQA (0-shot), LLaMA-65B alcanza el 68.2% y LLaMA-13B alcanza el 56.6% (superando el rendimiento comparable de GPT-3 mientras se ejecuta en una sola GPU V100).
- Generación de código: En HumanEval (pass@1), LLaMA-65B logra un 23.7%, superando a PaLM-62B (15.9%) e igualando a PaLM-cont 62B (23.7%).
- MMLU y ajuste por instrucciones: LLaMA-65B base alcanza una precisión de 63.4% en 5-shot en MMLU (por detrás del 69.3% de PaLM-540B, probablemente debido a corpus de libros de preentrenamiento más reducidos). Sin embargo, el ajuste fino por instrucciones en prompts básicos (LLaMA-I 65B) eleva el rendimiento al 68.9%.
Limitaciones y preguntas abiertas
- Alucinación y veracidad: Las puntuaciones en TruthfulQA continúan siendo modestas (LLaMA-65B obtiene 0.57 en Truthful y 0.53 en Truthful*Informative), mostrando una propensión persistente a alucinar.
- Escalado de toxicidad: En RealToxicityPrompts, la toxicidad aumenta con el tamaño del modelo, especialmente en prompts respetuosos (0.141 para 65B vs 0.081 para 7B).
- Brecha de conocimiento académico: El rendimiento en MMLU quedó rezagado respecto a Chinchilla-70B y PaLM-540B, lo cual los autores atribuyen a haber entrenado con solo ~177GB de libros y artículos académicos frente a los ~2TB de los conjuntos propietarios.
Términos clave
- LLaMA
- Una colección de modelos de lenguaje fundacionales que varían de 7B a 65B de parámetros, entrenados con hasta 1.4 billones de tokens usando únicamente conjuntos de datos públicos.
- Inference Budget
- El coste computacional y la latencia asumidos al servir un modelo entrenado, priorizado al entrenar modelos más pequeños sobre más tokens.
- RMSNorm
- Root Mean Square Layer Normalization, utilizada para normalizar las entradas de las subcapas del transformer para estabilizar el entrenamiento.
- SwiGLU
- Variante de unidad lineal con compuerta (GLU) que utiliza la función de activación Swish, dimensionada con una capa oculta de 2/3 * 4d.
- Rotary Positional Embeddings (RoPE)
- Técnica que inyecta información de posición relativa en las capas de atención del transformer mediante la rotación de las representaciones de query y key.
- xformers
- Biblioteca de código abierto que proporciona una implementación eficiente de atención multicabezal causal evitando almacenar grandes matrices de pesos de atención.
- LLaMA-I
- Versión ajustada por instrucciones de LLaMA-65B entrenada según el protocolo Flan para mejorar el seguimiento de instrucciones y el rendimiento en MMLU.
- TruthfulQA
- Benchmark que mide la propensión de un LLM a imitar falsedades humanas y alucinaciones a través de preguntas factuales adversarias.
Preguntas
¿Qué conjuntos de datos se utilizaron para preentrenar LLaMA?
El preentrenamiento utilizó exclusivamente datos públicos: CommonCrawl en inglés (67%), C4 (15%), GitHub (4.5%), Wikipedia en 20 idiomas (4.5%), Gutenberg y Books3 (4.5%), ArXiv (2.5%) y Stack Exchange (2%).
¿Cómo se compara LLaMA-13B frente a GPT-3 (175B)?
LLaMA-13B supera a GPT-3 en la mayoría de los benchmarks estándar —incluidos BoolQ, PIQA y WinoGrande— a pesar de ser más de 10 veces más pequeño y capaz de realizar inferencia en una única GPU de consumo o centro de datos.
¿Cuánto tiempo tomó entrenar LLaMA-65B?
El entrenamiento de LLaMA-65B sobre 1.4 billones de tokens procesó aproximadamente 380 tokens/seg/GPU a lo largo de 2,048 GPUs A100 de 80GB, completándose en unos 21 días.
¿Qué modificaciones arquitectónicas introduce LLaMA respecto al Transformer original?
LLaMA aplica pre-normalización con RMSNorm a las entradas de las subcapas, reemplaza ReLU por activaciones SwiGLU (dimensión 2/3 * 4d) y sustituye las incrustaciones posicionales absolutas por incrustaciones de posición rotatoria (RoPE).
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.