O fine-tuning funciona continuando o processo de treinamento em um dataset novo, tipicamente muito menor, partindo dos pesos do modelo pré-treinado em vez de uma inicialização aleatória. A mecânica é direta: você prepara seus dados como pares de entrada-saída (ou pares de instrução-resposta), define uma learning rate baixa (geralmente 10x a 100x menor que a do pré-treinamento) e treina por algumas epochs. A learning rate baixa é crítica — alta demais e você destrói o conhecimento que o modelo aprendeu durante o pré-treinamento, um fenômeno chamado catastrophic forgetting. Baixa demais e o modelo mal se adapta aos seus novos dados. Encontrar o equilíbrio certo é mais arte do que ciência, e frequentemente são necessárias várias rodadas para acertar.
Existem vários sabores distintos de fine-tuning, e a terminologia se confunde bastante. O fine-tuning completo atualiza todos os parâmetros do modelo — é o mais expressivo, mas também o mais caro e o mais propenso a overfitting em datasets pequenos. O supervised fine-tuning (SFT) se refere especificamente ao treinamento com pares rotulados de instrução-resposta, que é como modelos base se transformam em assistentes de chat. É o que a OpenAI faz quando você usa a API de fine-tuning deles, e o que projetos como Axolotl e LLaMA-Factory facilitam fazer localmente. Depois existem os métodos de eficiência de parâmetros como LoRA e QLoRA, que atualizam apenas uma pequena fração dos parâmetros e em grande parte substituíram o fine-tuning completo para a maioria dos casos de uso práticos. A distinção importa porque cada abordagem tem requisitos diferentes de dados, custos de compute e riscos.
A qualidade e o formato do seu dataset de fine-tuning importam enormemente — frequentemente mais do que o tamanho. Algumas centenas de exemplos de alta qualidade, cuidadosamente construídos no formato certo, podem produzir resultados melhores do que dezenas de milhares de exemplos ruidosos. O formato padrão para instruction tuning é uma conversa estruturada: mensagem de sistema, mensagem do usuário, resposta do assistente. Consistência na formatação, tom e qualidade dentro do seu dataset é mais importante do que volume. Uma armadilha comum é treinar com dados que contradizem o que o modelo aprendeu no pré-treinamento — se seu dataset diz que o céu é verde, o modelo vai aprender a dizer que o céu é verde, mas apenas em contextos similares aos seus exemplos de treinamento. Nos demais, ele vai reverter ao conhecimento do pré-treinamento, criando um comportamento inconsistente difícil de depurar.
Saber quando fazer fine-tuning versus quando usar outras abordagens é uma das decisões práticas mais importantes em IA aplicada. Fine-tuning é a ferramenta certa quando você precisa que o modelo adote consistentemente um formato, tom ou padrão de comportamento específico que não pode ser alcançado de forma confiável apenas com prompting. Provavelmente é exagero — e possivelmente contraproducente — se você só precisa que o modelo conheça os produtos da sua empresa (use RAG) ou siga instruções específicas por requisição (use system prompts). Uma boa regra: se você consegue escrever um prompt que obtém o comportamento desejado 90% das vezes, o fine-tuning pode empurrar isso para 99%. Se seu prompt só funciona 20% das vezes, fine-tuning sozinho provavelmente não vai resolver o problema — você precisa repensar a abordagem inteira.