antonio leandro

ia generativa

Llama 2: Open Foundation and Fine-Tuned Chat Models

paper · Hugo Touvron, Louis Martin, Kevin Stone, et al. ·

a tese

o que separava modelo aberto de produto fechado não era o pré-treino, era o alinhamento — e o llama 2 publica essa parte: dois reward models, cinco rodadas de rlhf e mais de um milhão de comparações humanas pagas

o que fica

  1. A equipe parou de anotar dados de SFT em 27.540 exemplos e migrou o esforço para dados de preferência, porque as respostas do próprio modelo já competiam com o que os anotadores escreviam à mão.
  2. Utilidade e segurança brigam dentro de um mesmo reward model, e treinar dois modelos separados saiu mais fácil que ensinar um só a distinguir prompt adversarial de prompt legítimo.
  3. O reward model sai de distribuição a cada nova versão do chat, então a preferência humana precisa ser recoletada com o modelo mais recente antes de cada rodada de RLHF.
  4. A temperatura ótima de amostragem não é constante ao longo do RLHF, e o modelo alinhado passa a variar diversidade por tipo de prompt: colapsa respostas factuais e mantém variação nas criativas.
  5. Não filtrar toxicidade do pré-treino foi escolha declarada: piora os benchmarks de toxicidade do modelo base e, segundo os autores, reduz o número de exemplos necessários no alinhamento de segurança.
  6. Fazer rejection sampling apenas sobre a iteração anterior causou esquecimento — a V3 piorou em rimas — e a correção foi manter as melhores amostras de todas as iterações anteriores.

o problema

Em meados de 2023 já existia modelo aberto que igualava GPT-3 e Chinchilla no pré-treino: BLOOM, LLaMA 1, Falcon. Nenhum deles servia como substituto do ChatGPT, do Bard ou do Claude. A diferença não estava no corpus nem na arquitetura — estava na camada de cima, o ajuste com preferência humana que transforma um preditor de próximo token em assistente que recusa, esclarece e mantém o fio da conversa. Essa camada custa compute e, principalmente, anotação humana em escala industrial. E ninguém publicava como fazia.

O efeito colateral era acadêmico e prático ao mesmo tempo: a pesquisa de alinhamento ficava concentrada em três ou quatro empresas, e quem estava de fora tentava atalho — destilar saída de modelo fechado, como Vicuna e Alpaca. O próprio paper cita o trabalho que chama isso de falsa promessa. Faltava alguém pagar a conta da anotação, liberar os pesos com licença comercial e descrever o processo inteiro, inclusive as partes que deram errado.

a ideia

Alinhamento não é uma etapa final; é um laço de dados que gira várias vezes. A cada semana chega um lote de comparações humanas, treina-se um reward model melhor, gera-se uma versão nova do chat, e a próxima coleta de preferência já usa essa versão nova. Foram cinco voltas, RLHF-V1 a V5.

O segundo movimento é separar o julgamento em dois eixos. “Seja o mais útil possível” e “recuse quando for perigoso” são objetivos que se contradizem em parte do espaço de prompts, e um reward model único fica confuso: além de escolher a resposta melhor, teria que descobrir se o prompt é adversarial. Dois reward models — Helpfulness RM e Safety RM — resolvem isso dividindo o problema.

como funciona

A base é transformer padrão herdado do Llama 1: pre-norm com RMSNorm, SwiGLU, RoPE, BPE via SentencePiece com vocabulário de 32k. As mudanças são 2 trilhões de tokens de pré-treino, contexto de 4k (o dobro) e grouped-query attention nos modelos de 34B e 70B, para escalar a inferência. O total de pré-treino foi de 3,3 milhões de GPU-horas em A100.

O SFT usa 27.540 anotações próprias, com a loss zerada nos tokens do prompt, duas épocas. Os reward models são inicializados a partir de checkpoints do próprio chat — o RM “sabe” o que o modelo sabe, o que evita premiar alucinação por desinformação — e trocam a cabeça de next-token por uma cabeça de regressão escalar. A loss é ranking binário com um termo de margem discreto, derivado da escala de quatro pontos que o anotador preenche (significativamente melhor, melhor, ligeiramente melhor, indiferente).

O RLHF combina duas coisas. Rejection sampling: amostra K saídas, o RM escolhe a melhor, e o modelo é fine-tunado nela. Isso roda só no 70B; os modelos menores são treinados nas amostras selecionadas do maior, ou seja, destilação. Até a V4 foi só isso; depois disso entra PPO por cima do checkpoint de rejection sampling. O reward do PPO é combinado por regra: usa o score de segurança se o prompt está marcado como sensível ou se o score de segurança cai abaixo de 0,15, senão usa o de utilidade; o resultado passa por logit e whitening, e há penalidade de KL contra a política inicial (β de 0,01 nos modelos menores, 0,005 no 34B e 70B) para conter reward hacking.

Para instrução de sistema que precisa valer a conversa inteira, o paper propõe Ghost Attention (GAtt): concatena a instrução em todos os turnos do usuário num diálogo sintético, amostra a resposta, e depois zera a loss dos turnos anteriores. Consistência mantida por mais de 20 turnos.

o que isso custou

Código é o buraco declarado. No HumanEval, o 70B faz 29,9 contra 48,1 do GPT-3.5; em MMLU e GSM8K a distância é pequena, em código não é. Pior: o conjunto de prompts da avaliação humana não continha nada de código nem de raciocínio — os autores listam isso como limitação. Então o “compete com ChatGPT” tem escopo, e o número real é 36% de vitórias com 31,5% de empates para o 70B.

A escolha de não filtrar agressivamente a toxicidade do pré-treino aparece nos benchmarks: o Llama 2 base não vence os concorrentes em ToxiGen, e o 13B e o 70B ficam mais tóxicos que os equivalentes do Llama 1. A recusa indevida é rara no conjunto de utilidade (cerca de 0,05%) mas comum no conjunto borderline, com prompts que só parecem perigosos; os autores admitem que o ajuste de segurança às vezes vai longe demais. O corpus é 89,7% inglês, o red teaming avaliou saídas em inglês, e o modelo de 34B não foi liberado por falta de tempo de red teaming.

E o custo humano não é reproduzível: 1,4 milhão de comparações anotadas pela Meta, mais de 350 pessoas em red teaming. As curvas de escala do reward model não saturaram — mais anotação continuaria melhorando.

onde isso aparece hoje

A licença comercial somada à descrição do pipeline é o que sobrou: rejection sampling seguido de PPO, reward models separados por eixo e coleta iterativa de preferência viraram vocabulário comum de quem faz pós-treinamento aberto. Os dados de preferência não foram publicados — só os pesos e o método.

O paper também registra duas observações que alimentaram trabalho posterior: uso de ferramenta emergindo sem nenhuma anotação de tool use, e organização temporal de conhecimento a partir de mil exemplos de SFT com data.

lido na íntegra por pipeline de llm, revisado por antonio leandro antes de publicar ·