Pular para o conteúdo
← lab
post-mortemdead-endimage-genfine-tuning

Treinei um clone digital e ele envelheceu quinze anos

O treino de identidade com LoRA colapsou numa idade quando um descritor dominou 100% das legendas. O modelo aprende o que você mantém constante. Varie tudo que você não quer memorizado.

O treino terminou limpo. A loss convergiu de 11,4 para 0,44 em 1500 steps numa A100. Setenta e seis minutos, rank 16, 69 fotos de rosto curadas e filtradas por similaridade de embedding. Aí rodei a inferência.

A pessoa na saída era eu. Só que quinze anos mais velho.

Toda constante vira traço definidor

Toda legenda começava com o mesmo bloco:

a photo of f3l1p3, a 40s brazilian man, short dark wavy hair,
full beard with graying chin, wearing dark rectangular glasses, ...

“Graying chin” aparecia em 100% das amostras de treino. Então o modelo prendeu esse descritor ao token de identidade, não como um detalhe de cada foto.

O resultado na inferência foi sistemático:

  • Escala 1.0: ruído puro. O overfit destruiu o modelo base.
  • Escala 0.5: desbotado e idoso.
  • Escala 0.3: estrutura reconhecível, mas uns quinze anos mais velho.

O modelo aprendeu quem eu era a partir do que ficou constante entre as amostras. Eu deixei constante a coisa errada.

Varie tudo que você não quer memorizado

As legendas precisam variar tudo que o rosto não define. Pose, expressão, luz, cenário, roupa: tudo deve variar. O que você repete em 100% das amostras, o modelo amarra ao token de identidade. Se você quer que o modelo aprenda um rosto, pare de ensinar uma idade.

Isso foi um beco sem saída. O pivô foi face injection zero-shot: uma foto de referência na hora da inferência, sem treino nenhum, sem legenda pra errar. Quando existem ferramentas melhores, não vale a pena consertar o caminho do LoRA.

Lição

Um modelo aprende o que você mantém constante. Se você quer que ele aprenda identidade, precisa variar todo o resto.