XYZNOT

Artigos · arXiv 2302.13971

LLaMA: Modelos de Linguagem Fundamentais Abertos e Eficientes

LLaMA: Open and Efficient Foundation Language Models

Publicado em cs.CL arXivPDF

Ler com tradução e IA

Resumo em três linhas

  1. 🎯 A maioria dos principais LLMs depende de contagens massivas de parâmetros ou datasets proprietários, gerando altos custos de inferência e barreiras de acesso à pesquisa.
  2. 🔧 Treinamento de modelos transformer compactos (7B a 65B) em 1,0T a 1,4T de tokens utilizando apenas dados de código aberto, RMSNorm, SwiGLU e RoPE.
  3. 📈 O LLaMA-13B supera o GPT-3 (175B) na maioria dos benchmarks, enquanto o LLaMA-65B atinge 68,9% no MMLU após um ajuste fino instrucional simples.

Resumo

Apresentamos o LLaMA, uma coleção de modelos de linguagem fundamentais que variam de 7B a 65B parâmetros. Treinamos nossos modelos em trilhões de tokens e mostramos que é possível treinar modelos no estado da arte utilizando exclusivamente conjuntos de dados publicamente disponíveis, sem recorrer a bases de dados proprietárias e inacessíveis. Em particular, o LLaMA-13B supera o GPT-3 (175B) na maioria dos benchmarks, e o LLaMA-65B é competitivo com os melhores modelos, como Chinchilla-70B e PaLM-540B. Disponibilizamos todos os nossos modelos para a comunidade de pesquisa.

Resumo 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.

Guia de leitura

Problema e motivação

As leis de escala padrão (como Chinchilla) calculam o trade-off ideal entre o tamanho dos parâmetros e o tamanho do dataset para um orçamento computacional fixo de treinamento. No entanto, esse enquadramento negligencia o orçamento de inferência, que domina o custo operacional total ao longo da vida útil do serviço de modelos de linguagem. Para a eficiência de atendimento (serving), modelos menores treinados em volumes significativamente maiores de dados do que o recomendado pelas diretrizes de computação ideal são preferíveis, pois são substancialmente mais baratos de hospedar e executar.

Além disso, os principais modelos no estado da arte (como GPT-3, Chinchilla e PaLM) dependem de conjuntos de dados privados e não reprodutíveis ou de arquiteturas proibitivamente grandes. O LLaMA demonstra que modelos fundamentais competitivos podem ser treinados exclusivamente com dados publicamente disponíveis, permitindo a distribuição aberta para pesquisadores.

Ideias-chave

  • Treinamento focado em inferência: Em vez de interromper o treinamento nos tamanhos de dataset ideais para computação (ex.: ~200B tokens para um modelo de 10B), o LLaMA treina modelos de 7B e 13B em 1,0T de tokens, e modelos de 33B e 65B em 1,4T de tokens.
  • Apenas datasets abertos: Todos os dados de pré-treinamento são extraídos de fontes públicas: CommonCrawl (67%), C4 (15%), GitHub (4,5%), Wikipedia (4,5%), Books (4,5%), ArXiv (2,5%) e Stack Exchange (2%).
  • Arquitetura Transformer modernizada: Incorpora pré-normalização com RMSNorm para estabilidade, ativações SwiGLU e Rotary Positional Embeddings (RoPE) em vez de posições absolutas.
  • Eficiência de engenharia: Emprega atenção com uso eficiente de memória (via xformers), checkpointing de ativação customizado e paralelismo de modelo/sequência.

Método

O LLaMA utiliza um decodificador Transformer autorregressivo com as seguintes modificações:

  1. Pré-normalização: Normalização da entrada usando RMSNorm antes de cada subcamada:
  2. Ativação SwiGLU: Substitui as ativações padrão ReLU/GELU por SwiGLU, dimensionando a dimensão intermediária para em vez de .
  3. Rotary Embeddings (RoPE): Aplicados em todas as camadas para codificar posições relativas sem embeddings de posição absolutos.
  4. Otimização: AdamW com , decaimento de peso (weight decay) de , corte de gradiente (gradient clipping) de , passos de warmup e um cronograma de taxa de aprendizado por cosseno decaindo até 10% da taxa máxima. O tamanho do lote (batch size) é de 4M de tokens em todas as escalas de modelo.

A estimativa de energia e pegada de carbono durante as execuções de treinamento segue:

Resultados

  • Raciocínio de Senso Comum: O LLaMA-13B supera o GPT-3 (175B) em múltiplos benchmarks (ex.: 78,1% vs 60,5% no BoolQ; 73,0% vs 70,2% no WinoGrande). O LLaMA-65B iguala ou supera o PaLM-540B no PIQA (82,8% vs 82,3%) e HellaSwag (84,2% vs 83,4%).
  • QA de Livro Fechado (Closed-book QA): No TriviaQA (0-shot), o LLaMA-65B atinge 68,2% e o LLaMA-13B alcança 56,6% (superando o desempenho comparável do GPT-3 mesmo rodando em uma única GPU V100).
  • Geração de Código: No HumanEval (pass@1), o LLaMA-65B atinge 23,7%, superando o PaLM-62B (15,9%) e igualando o PaLM-cont 62B (23,7%).
  • MMLU e Ajuste Instrucional: O LLaMA-65B base atinge 63,4% de acurácia 5-shot no MMLU (ficando atrás dos 69,3% do PaLM-540B, provavelmente devido a corpora menores de livros no pré-treinamento). No entanto, o ajuste fino com instruções em prompts básicos (LLaMA-I 65B) eleva o desempenho para 68,9%.

Limitações e questões em aberto

  • Alucinação e Veracidade: As pontuações no TruthfulQA continuam modestas (o LLaMA-65B atinge 0,57 em Truthful e 0,53 em Truthful*Informative), mostrando uma tendência contínua à alucinação.
  • Escalabilidade de Toxicidade: No RealToxicityPrompts, a toxicidade aumenta com o tamanho do modelo, especialmente em prompts respeitosos (0,141 para 65B vs 0,081 para 7B).
  • Lacuna de Conhecimento Acadêmico: O desempenho no MMLU ficou abaixo de Chinchilla-70B e PaLM-540B, o que os autores hipotetizam ser resultado do treinamento em apenas ~177GB de livros e artigos acadêmicos, em comparação com os ~2TB dos conjuntos proprietários.

Termos-chave

LLaMA
Uma coleção de modelos de linguagem fundamentais que variam de 7B a 65B parâmetros, treinados em até 1,4 trilhão de tokens usando apenas conjuntos de dados públicos.
Inference Budget (Orçamento de Inferência)
O custo computacional e a latência incorridos no atendimento de um modelo treinado, priorizados pelo treinamento de modelos menores em mais tokens.
RMSNorm
Root Mean Square Layer Normalization, técnica usada para normalizar as entradas das subcamadas do transformer para garantir a estabilidade do treinamento.
SwiGLU
Uma variante de unidade linear com gating que utiliza a função de ativação Swish, dimensionada com uma dimensão oculta de 2/3 * 4d.
Rotary Positional Embeddings (RoPE)
Uma técnica que injeta informações de posição relativa nas camadas de atenção do transformer rotacionando as representações de query e key.
xformers
Uma biblioteca de código aberto que fornece uma implementação eficiente de causal multi-head attention, evitando o armazenamento de grandes matrizes de pesos de atenção.
LLaMA-I
A versão com ajuste fino instrucional do LLaMA-65B, treinada seguindo o protocolo Flan para melhorar o acompanhamento de instruções e o desempenho no MMLU.
TruthfulQA
Um benchmark que mede a propensão de um LLM em imitar falsidades humanas e alucinações em perguntas factuais adversariais.

Perguntas

Quais datasets foram usados para pré-treinar o LLaMA?

O pré-treinamento utilizou exclusivamente dados públicos: English CommonCrawl (67%), C4 (15%), GitHub (4,5%), Wikipedia em 20 idiomas (4,5%), Gutenberg e Books3 (4,5%), ArXiv (2,5%) e Stack Exchange (2%).

Como o LLaMA-13B se compara ao GPT-3 (175B)?

O LLaMA-13B supera o GPT-3 na maioria dos benchmarks padrão — incluindo BoolQ, PIQA e WinoGrande — apesar de ser mais de 10 vezes menor e capaz de rodar inferência em uma única GPU de consumidor ou de datacenter.

Quanto tempo levou para treinar o LLaMA-65B?

O treinamento do LLaMA-65B em 1,4 trilhão de tokens processou aproximadamente 380 tokens/seg/GPU em 2.048 GPUs A100 de 80GB, sendo concluído em cerca de 21 dias.

Quais modificações arquiteturais o LLaMA faz em relação ao Transformer original?

O LLaMA aplica pré-normalização com RMSNorm nas entradas das subcamadas, substitui o ReLU por ativações SwiGLU (dimensão 2/3 * 4d) e troca embeddings posicionais absolutos por embeddings posicionais rotativos (RoPE).

A explicação desta página foi escrita por IA a partir do artigo e pode conter erros. Consulte o artigo para os detalhes.

Ler com tradução e IA