O ajuste fino (fine-tuning) consiste em pegar num modelo que já foi treinado num vasto corpus de dados — frequentemente um modelo de linguagem de grande dimensão, como um da família GPT ou LLaMA — e continuar esse treino num conjunto de dados mais pequeno e criteriosamente selecionado. O objetivo é direcionar o modelo para um comportamento mais restrito: responder a perguntas médicas, escrever num tom de marca específico, gerar código numa determinada framework ou seguir de forma fiável um formato de saída estruturado.
Ao contrário do treino de raiz, o ajuste fino parte de representações já aprendidas e não de pesos aleatórios. Como a parte pesada de aprender gramática, raciocínio e conhecimento de mundo já foi feita, o ajuste fino costuma necessitar de várias ordens de magnitude menos dados e computação para produzir melhorias significativas numa tarefa-alvo.
Como funciona o ajuste fino
Na prática, as equipas de engenharia preparam um conjunto de dados com exemplos de entradas e saídas desejadas que representam o comportamento que querem que o modelo apresente. Para um assistente de apoio ao cliente, podem ser centenas ou milhares de resoluções anteriores de tickets; para uma ferramenta de revisão de código, podem ser pares de pull requests e comentários do revisor. O modelo pré-treinado executa depois passagens adicionais de treino sobre este conjunto de dados, e os seus pesos são atualizados através de otimização padrão baseada em gradientes, de modo a diminuir a perda entre as saídas previstas e as saídas-alvo.
Um modelo mental simples: imagine um modelo-base de uso geral como um estagiário de medicina que já leu todos os manuais. O ajuste fino é o internato que o especializa em radiologia. O conhecimento de base mantém-se, mas as decisões do dia a dia tornam-se muito focadas num único domínio.
Por que é importante
O ajuste fino é o principal recurso que as equipas usam para transformar um modelo de uso geral num componente de produto fiável. Pode aumentar a precisão em tarefas de nicho, impor o estilo da casa, reduzir alucinações num âmbito definido, ensinar padrões de uso de ferramentas e alinhar as saídas com requisitos de segurança ou conformidade. Para organizações com dados proprietários ou conhecimento de domínio, o ajuste fino permite incorporar esse conhecimento no próprio modelo, em vez de depender apenas de prompts.
Também tem valor económico: um modelo aberto mais pequeno e ajustado pode, muitas vezes, igualar a qualidade de um modelo de uso geral muito maior num fluxo de trabalho específico, reduzindo os custos de inferência à escala.
Principais tipos
- Ajuste fino supervisionado (SFT): treino em pares rotulados de entrada-saída para ensinar uma competência ou formato específico.
- Ajuste por instruções (instruction tuning): uma forma ampla de SFT que treina o modelo para seguir instruções em linguagem natural em várias tarefas.
- Ajuste fino eficiente em parâmetros (por exemplo, LoRA, QLoRA): congela a maioria dos pesos e treina apenas pequenas camadas adaptadoras, reduzindo os custos de computação e armazenamento.
- Aprendizagem por reforço com feedback humano (RLHF): usa classificações de preferência humana para alinhar ainda mais o modelo para além dos exemplos supervisionados.
- Pré-treino continuado: ajuste fino não supervisionado sobre texto bruto do domínio para introduzir vocabulário e conhecimento antes do SFT específico da tarefa.
O ajuste fino é mais útil quando o prompting e a recuperação de informação (RAG), por si só, não conseguem garantir de forma fiável o nível de qualidade exigido, quando a latência ou o custo excluem modelos muito grandes, ou quando o comportamento desejado depende de padrões que o modelo-base raramente encontrou. Para uma visão geral acessível, consulte a documentação de treino da Hugging Face, e para a abordagem original por trás dos modelos que seguem instruções, consulte o artigo FLAN.