Artigos · arXiv 2307.09288
Llama 2: Modelos Fundacionais e de Chat Ajustados Abertos
Llama 2: Open Foundation and Fine-Tuned Chat Models
Publicado em cs.CLcs.AI arXivPDF
Resumo em três linhas
- 🎯 LLMs de acesso aberto anteriormente careciam do alinhamento extensivo (RLHF) necessário para competir com segurança e eficácia contra modelos de chat proprietários e fechados.
- 🔧 Pré-treinamento de modelos de 7B a 70B em 2T de tokens com grouped-query attention, seguido por SFT de alta qualidade, modelagem de recompensa dupla (segurança e prestatividade), ajuste fino por amostragem de rejeição, PPO e Ghost Attention (GAtt).
- 📈 O Llama 2 70B atinge 68,9 no MMLU e 56,8 no GSM8K; o Llama 2-Chat alcança uma taxa de vitória de 36% e taxa de empate de 31,5% contra o ChatGPT em avaliação humana.
Resumo
Neste trabalho, desenvolvemos e lançamos o Llama 2, uma coleção de modelos de linguagem grandes (LLMs) pré-treinados e ajustados com escalas variando de 7 bilhões a 70 bilhões de parâmetros. Nossos LLMs ajustados por ajuste fino, chamados Llama 2-Chat, são otimizados para casos de uso de diálogo. Nossos modelos superam modelos de chat de código aberto na maioria dos benchmarks avaliados e, com base em nossas avaliações humanas de prestatividade e segurança, podem ser substitutos adequados para modelos de código fechado. Fornecemos uma descrição detalhada da nossa abordagem de ajuste fino e das melhorias de segurança do Llama 2-Chat com o objetivo de permitir que a comunidade construa sobre o nosso trabalho e contribua para o desenvolvimento responsável de LLMs.
Resumo 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.
Guia de leitura
Problema e motivação
Embora modelos fundacionais pré-treinados de acesso aberto como LLaMA-1, BLOOM e Falcon tenham igualado o desempenho bruto de base de modelos como o GPT-3, assistentes de chat comerciais fechados (por exemplo, ChatGPT, Claude) mantiveram uma liderança significativa. Essa vantagem de desempenho originou-se do intenso alinhamento pós-pré-treinamento via ajuste de instruções e Aprendizado por Reforço com Feedback Humano (RLHF), o qual requer computação massiva, pipelines de anotação proprietários e red-teaming. A Meta desenvolveu e lançou publicamente o Llama 2 e o Llama 2-Chat (parâmetros de 7B, 13B e 70B, além de uma variante de 34B não lançada) para democratizar modelos de diálogo alinhados e fornecer metodologias transparentes de alinhamento e segurança.
Ideias centrais
- Pré-treinamento expandido: Pré-treinado em 2,0 trilhões de tokens (um aumento de 40% em relação ao Llama 1) com contexto duplicado para 4.096 tokens, além da introdução da Grouped-Query Attention (GQA) para os modelos de 34B e 70B a fim de acelerar a decodificação autorregressiva.
- SFT focado em qualidade: Demonstra que dezenas de milhares de anotações de alta qualidade de fornecedores superam milhões de exemplos ruidosos de terceiros, limitando o SFT a 27.540 demonstrações curadas.
- Modelagem de recompensa dupla: Treina dois modelos de recompensa distintos — um para Prestatividade (Helpfulness) e outro para Segurança (Safety) — para evitar o conflito em que restrições de segurança degradam a utilidade.
- Alinhamento RLHF em dois estágios: Combina o ajuste fino iterativo por Amostragem de Rejeição (Rejection Sampling, destilado do modelo de 70B) com a subsequente Otimização de Política Proximal (PPO).
- Ghost Attention (GAtt): Uma técnica de destilação de contexto aplicada em diálogos de múltiplos turnos para preservar instruções de sistema persistentes ao longo de mais de 20 turnos de conversação sem atenuação de instruções.
Método
Arquitetura de pré-treinamento
O Llama 2 utiliza uma arquitetura transformer autorregressiva com pré-normalização RMSNorm, ativações SwiGLU e embeddings posicionais rotativos (RoPE), com GQA adicionada para escalas maiores (34B e 70B). Os modelos foram treinados com AdamW (), decaimento de taxa de aprendizado por cosseno até 10%, decaimento de peso de 0,1 e recorte de gradiente (gradient clipping) de 1,0.
Modelagem de recompensa
Anotadores humanos fornecem preferências comparativas em uma escala de 4 pontos entre duas respostas amostradas. Os modelos de recompensa são inicializados a partir de checkpoints pré-treinados de chat e otimizados com uma perda de ranqueamento binária aumentada por margem: onde é o contexto do prompt, é a resposta preferida, é a resposta rejeitada e é uma margem discreta dependente da intensidade de preferência do anotador.
Objetivos de RLHF
A otimização é realizada por meio de Amostragem de Rejeição (amostrando continuações a partir da política mais recente e escolhendo a continuação com maior recompensa) e PPO. O objetivo do PPO maximiza a recompensa esperada enquanto penaliza o desvio de política via divergência KL em relação à política inicial : onde é uma combinação por partes, branqueada e transformada por logit, dos modelos de recompensa de segurança () e prestatividade ():
Ghost Attention (GAtt)
Para forçar a consistência multiturno, a instrução é anexada sinteticamente a cada prompt de usuário em um diálogo existente. As respostas são amostradas a partir da política mais recente, mas a perda é calculada exclusivamente nos tokens do turno-alvo (zerando a perda em turnos anteriores), mantendo apenas no primeiro turno durante a inferência.
Resultados
- Benchmarks de modelos base: O Llama 2 70B supera todos os modelos base de código aberto, atingindo 68,9 no MMLU (5-shot), 56,8 no GSM8K (8-shot) e 51,2 no Big-Bench Hard (3-shot), rivalizando com o GPT-3.5 e o PaLM-540B.
- Avaliações humanas de diálogo: Em avaliações humanas abrangendo cerca de 4.000 prompts, o Llama 2-Chat 70B obteve uma taxa de vitória de 36% e uma taxa de empate de 31,5% contra o ChatGPT (gpt-3.5-turbo-0301). O Llama 2-Chat 34B venceu mais de 75% das comparações diretas contra o Vicuna-33B e o Falcon 40B.
- Segurança e toxicidade: O Llama 2-Chat alinhado para segurança reduziu as taxas de geração tóxica no ToxiGen de 24,60% (base 70B) para 0,01%, exibindo percentuais menores de violação de segurança do que o ChatGPT e o Falcon em benchmarks humanos de red-team.
Limitações e questões em aberto
- Codificação e raciocínio complexo: O Llama 2 70B fica substancialmente atrás do GPT-4 e do PaLM-2-L em benchmarks de código (HumanEval pass@1 de 29,9% contra 67,0% do GPT-4).
- Cobertura de idiomas: Aproximadamente 89,7% dos dados de pré-treinamento estão em inglês, tornando o desempenho do modelo e o alinhamento de segurança frágeis em outros idiomas.
- Recusas falsas e conservadorismo excessivo: O ajuste rigoroso de segurança introduz recusas falsas em prompts limítrofes (por exemplo, recusar consultas benignas que mencionam termos como 'bomba' ou 'Christmas Crack').
- Atraso no lançamento do 34B: A variante de 34B do modelo não foi disponibilizada publicamente devido ao tempo insuficiente para red-teaming antes da publicação.
Termos-chave
- Grouped-Query Attention (GQA)
- Uma variante de atenção que compartilha cabeças de chave e valor entre grupos de cabeças de consulta para reduzir a largura de banda de memória do KV-cache e melhorar a velocidade de inferência em modelos grandes.
- Reinforcement Learning with Human Feedback (RLHF)
- Um procedimento de alinhamento que utiliza preferências pareadas humanas para treinar modelos de recompensa que guiam a otimização de políticas via PPO e amostragem de rejeição.
- Rejection Sampling fine-tuning
- Uma técnica que amostra múltiplos candidatos por prompt, seleciona a saída de maior pontuação segundo o modelo de recompensa e a utiliza como verdade fundamental para atualizações supervisionadas de gradiente.
- Ghost Attention (GAtt)
- Um método de ajuste fino que preserva instruções sinteticamente em diálogos de múltiplos turnos, ajustando o contexto do prompt e mascarando a perda dos tokens intermediários.
- Safety RM and Helpfulness RM
- Dois modelos de recompensa distintos treinados separadamente em comparações de segurança adversariais e de prestatividade geral para evitar concessões na otimização.
- Context Distillation
- Uma técnica que gera continuações do modelo condicionadas a um pré-prompt de segurança e, em seguida, ajusta o modelo base nessas saídas sem o pré-prompt.
- False Refusal
- Um comportamento errôneo no qual o modelo se recusa a responder a um prompt legítimo e seguro do usuário devido a heurísticas de segurança excessivamente sensíveis ou palavras de gatilho.
- Inter-Rater Reliability (IRR)
- Uma medida estatística (avaliada usando o AC1/2 de Gwet) que quantifica o nível de concordância entre anotadores humanos ao julgar segurança e prestatividade.
Perguntas
Quais tamanhos de parâmetros do Llama 2 foram lançados publicamente?
A Meta disponibilizou variantes de 7B, 13B e 70B de parâmetros tanto para o Llama 2 base quanto para o Llama 2-Chat otimizado para diálogo; a variante de 34B foi avaliada no artigo, mas retida do lançamento devido a restrições de tempo para red-teaming.
Como o Llama 2 difere do Llama 1 em dados de pré-treinamento e arquitetura?
O Llama 2 foi treinado em 2,0 trilhões de tokens (40% a mais que o Llama 1), dobrou a janela de contexto para 4.096 tokens e adicionou Grouped-Query Attention (GQA) para as configurações de 34B e 70B.
Por que os autores treinaram modelos de recompensa separados para segurança e prestatividade?
Prestatividade e segurança frequentemente entram em conflito durante a modelagem de preferências (por exemplo, atender a um pedido inseguro é prestativo, mas transgressor). Desacoplá-los permite uma otimização dedicada e evita que um objetivo degrade o outro.
Como a Ghost Attention (GAtt) evita o esquecimento de instruções em múltiplos turnos?
A GAtt anexa a instrução de sistema aos turnos do usuário em chats sintéticos de múltiplos turnos, amostra respostas e treina o modelo aplicando perda exclusivamente ao turno-alvo com a instrução removida dos turnos intermediários, ensinando as camadas de atenção a focar na mensagem inicial do sistema ao longo de diálogos extensos.
A explicação desta página foi escrita por IA a partir do artigo e pode conter erros. Consulte o artigo para os detalhes.