Capítulo 14 · Fine-tuning · 9 min
Especializar um modelo sem retreinar tudo
LoRA, QLoRA, SFT. Como adaptar um modelo generalista a um domínio específico treinando 0,1% dos seus parâmetros.
Adaptar sem retreinar tudo
Treinar um LLM do zero custa enormes quantidades de dados, computacao e tempo. Mas muitas vezes nao queremos criar um modelo novo. Queremos adaptar um modelo existente a um estilo, formato ou dominio.
Isso e fine-tuning.
LoRA adiciona duas pequenas matrizes ao lado dos pesos existentes. Em vez de modificar bilhões de parâmetros, treinam-se apenas alguns milhões — a maior parte do modelo permanece congelada e compartilhada entre todas as variantes fine-tuned.
O problema
Um modelo grande pode ter bilhoes de parametros. Atualizar todos para uma tarefa pequena e caro, lento e arriscado: voce pode degradar capacidades gerais que ja funcionavam.
Precisamos de uma adaptacao leve.
LoRA
LoRA congela os pesos principais e aprende pequenas matrizes adicionais de baixo rank.
Em vez de modificar diretamente uma matriz enorme W, ele aprende uma correcao:
W' = W + ΔW
Onde ΔW e escrito como o produto de duas matrizes muito menores. O rank controla quanta expressividade essa correcao tem.
O que muda de verdade
LoRA nao adiciona conhecimento ilimitado. Ele ajusta rotas internas para que certos padroes fiquem mais provaveis:
- responder com um formato especifico
- adotar uma terminologia de dominio
- imitar um estilo editorial
- seguir exemplos de uma tarefa recorrente
Para conhecimento factual mutavel, RAG costuma ser melhor. Para comportamento repetido e formato estavel, fine-tuning pode ser mais adequado.
RLHF (e DPO na pratica)
Ja falamos disso no capitulo 08. O reforco por feedback humano aprende preferencias. E complementar ao SFT, nao um substituto.
Detalhe importante: desde 2024, a maior parte do fine-tuning de preferencia e feita via DPO (Direct Preference Optimization) em vez do PPO classico do RLHF. E isso que transforma um modelo so-SFT em um modelo alinhado, sem o custo computacional do RL. Os detalhes estao no capitulo 08.
QLoRA: descer ainda mais
QLoRA (Quantized LoRA) carrega o modelo base em 4 bits em vez de 16 ou 32, dividindo por 4 o consumo de memoria. Os adaptadores LoRA continuam em 16 bits para a precisao do gradiente. Para a mecanica da quantizacao em si (FP32 → INT4 → INT2, o que se perde em cada nivel), veja o capitulo 18.
Resultado: dar fine-tune em um modelo de 70 bilhoes de parametros em uma unica GPU de consumo se torna possivel.
O proximo passo
Ate aqui tratamos texto. Mas o mesmo principio de tokens pode se estender a imagens, audio e outros dados. Basta transforma-los em sequencias que o Transformer consiga ler.
Atualizado em