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

Fine-tuning: LoRA, QLoRA, SFT explicados · Step by Token