O que é o pré-treinamento
Um grande modelo de linguagem começa como bilhões de números — os seus pesos, ou parâmetros — definidos aleatoriamente. O pré-treinamento ajusta esses números mostrando ao modelo enormes quantidades de texto (páginas da web, livros, código, obras de referência) e fazendo-lhe, repetidas vezes, uma pergunta: dado o texto até agora, o que vem a seguir? Cada palpite errado ajusta um pouco os pesos. Após trilhões de palpites, o modelo absorveu gramática, fatos, estilos, padrões de raciocínio e uma grande quantidade de conhecimento de mundo, porque tudo isso ajuda a prever a próxima palavra.
Esse objetivo é chamado de previsão do próximo token, ou modelagem de linguagem causal. Ninguém precisa rotular os dados: o texto é o seu próprio gabarito, e é por isso que o pré-treinamento pode usar uma quantidade tão grande deles.
A escala envolvida
O pré-treinamento é, de longe, a etapa mais cara na vida de um modelo. O GPT-3, descrito em 2020, tinha 175 bilhões de parâmetros e foi treinado em cerca de 300 bilhões de tokens. O estudo Chinchilla da DeepMind (2022) mostrou então que, para um orçamento de computação fixo, os modelos deveriam ver muito mais texto por parâmetro: o seu Chinchilla de 70 bilhões de parâmetros, treinado em 1,4 trilhão de tokens, superou modelos consideravelmente maiores. Os modelos abertos atuais são treinados em muitos trilhões de tokens, em milhares de GPUs, durante semanas.
É por isso que ninguém que faz o fine-tuning de um modelo para uso próprio repete essa etapa. É também por isso que o modelo inicial importa tanto: o seu conhecimento, os seus idiomas e a sua capacidade de raciocínio definem o teto para o que qualquer treinamento posterior pode alcançar.
Do modelo bruto ao modelo de onde você parte
Um modelo recém-saído do pré-treinamento é bom em continuar textos, mas não em seguir instruções. Faça-lhe uma pergunta e ele pode responder com mais três perguntas, porque é assim que muitos textos na web se parecem. Os criadores de modelos, portanto, treinam-no ainda mais — ajuste de instruções (fine-tuning supervisionado em conversas de exemplo), geralmente seguido por ajuste de preferência com base em feedback humano ou de IA — para transformá-lo em um assistente. O trabalho InstructGPT da OpenAI mostrou o quanto isso importa: as pessoas preferiram as respostas de um modelo com ajuste de instruções de 1,3 bilhão de parâmetros às do GPT-3 de 175 bilhões de parâmetros, apesar de ter mais de 100 vezes menos parâmetros.
Famílias de modelos abertos são frequentemente publicadas em ambas as formas: um checkpoint "base" bruto e uma versão "instruct" ou "chat". Na Scalata, e neste guia, modelo base significa simplesmente o modelo do qual uma execução de treinamento parte. Na prática, esse é quase sempre um modelo com ajuste de instruções, de modo que os seus exemplos só precisam ensinar o que é específico para você.
O que o fine-tuning pode e não pode mudar
O fine-tuning usa o mesmo mecanismo do pré-treinamento — prever o próximo token, medir o erro, ajustar os pesos — mas em centenas ou milhares dos seus exemplos em vez de trilhões de tokens. Nessa escala, é muito eficaz em remodelar o comportamento, e muito menos eficaz em adicionar conhecimento. Pesquisas sugerem que os modelos aprendem fatos genuinamente novos a partir do fine-tuning de forma lenta, e que forçá-los a isso pode torná-los mais propensos a inventar respostas.
- Muda bem: tom e estilo, formato de saída, comprimento, fraseado do domínio, tratamento consistente de solicitações recorrentes, fazer com que um modelo pequeno realize um trabalho como um modelo maior.
- Muda mal: grandes conjuntos de novos fatos, informações que mudam com frequência e habilidades que faltam fundamentalmente ao modelo base — um modelo pequeno não aprenderá raciocínio avançado a partir de algumas centenas de chats.
- Não muda: a arquitetura do modelo, o seu tokenizador e a sua janela de contexto.
- Você deseja um assistente que responda a perguntas sobre o seu produto de faturamento no tom da sua equipe de suporte.
- O modelo base já sabe inglês, como as faturas funcionam em geral, como ser educado e como escrever etapas numeradas — a partir do pré-treinamento e do ajuste de instruções.
- Ele não conhece os nomes dos seus menus, as suas políticas ou o hábito da sua equipe de terminar com um link para a central de ajuda.
- Algumas centenas de bons chats de suporte podem ensinar o tom e o formato. Os nomes dos menus e as políticas são mais bem fornecidos no momento da solicitação, por meio de recuperação ou do prompt do sistema, para que permaneçam corretos quando mudarem.
Escolhendo um modelo base
Tudo o que você treina fica sobre o modelo base, portanto, escolha-o deliberadamente:
- Capacidade na sua tarefa. Teste o modelo base em perguntas reais primeiro. O fine-tuning aprimora o que já existe; raramente cria habilidades do zero.
- Tamanho versus custo. Modelos maiores sabem mais, mas custam mais para treinar e executar. Um objetivo comum é encontrar o menor modelo que realize bem o trabalho depois de passar por fine-tuning.
- Idiomas. Se os seus usuários escrevem em alemão ou japonês, verifique se o modelo lida bem com esses idiomas; os dados de pré-treinamento geralmente são dominados pelo inglês.
- Limites. A janela de contexto e o limite de treinamento por exemplo vêm com o modelo e não mudam com o treinamento.
Erros comuns
- Esperar que o fine-tuning ensine um grande e mutável conjunto de fatos, como um catálogo completo de produtos ou uma lista de preços.
- Partir de um modelo que não consegue realizar a tarefa de forma alguma e esperar que algumas centenas de exemplos resolvam isso.
- Escolher um checkpoint pré-treinado bruto quando a intenção era usar uma versão com ajuste de instruções do mesmo modelo aberto.
- Não testar o modelo base primeiro, de modo que não haja uma linha de base para comparar com o modelo treinado.
Referências e leitura complementar
Fontes externas abrem em uma nova aba.
- 01Language Models are Few-Shot LearnersBrown et al., 2020 · arXiv · arxiv.orgO artigo do GPT-3: o que apenas o pré-treinamento em escala pode fazer.
- 02Training Compute-Optimal Large Language ModelsHoffmann et al., 2022 · arXiv · arxiv.orgO estudo Chinchilla sobre a quantidade de texto em que um modelo de um determinado tamanho deve ser treinado.
- 03Training language models to follow instructions with human feedbackOuyang et al., 2022 · arXiv · arxiv.orgInstructGPT: como um modelo pré-treinado se torna um assistente que segue instruções.
- 04How do Transformers work?Hugging Face LLM Course · huggingface.coUma introdução acessível ao pré-treinamento, aprendizado por transferência e fine-tuning.
- 05Does Fine-Tuning LLMs on New Knowledge Encourage Hallucinations?Gekhman et al., 2024 · arXiv · arxiv.orgEvidências de que novos fatos são aprendidos lentamente no fine-tuning e podem aumentar a alucinação.