Alternar tema

Treinar seu próprio LoRA com ComfyUI: dados, tags e validação

Easton editorial illustration: central LoRA trainer module, stack of varied character dataset image cards, output safetensors file tile

"kohya-ss/sd-scripts fornece scripts e documentação de treinamento LoRA para Stable Diffusion, SDXL, SD3, FLUX.1 e outras famílias."

Você tem 20 imagens de um personagem original e quer treinar um LoRA que o reproduza em novas gerações.

O dataset e a ferramenta de captioning estão prontos, e os parâmetros vieram de uma captura, mas o resultado falha: o rosto muda com o fundo; “wall” e “floor” nas captions prendem a mesma sala; LR=1e-3 causa overfitting; dim/alpha=32/1 deixa alpha=1 e dim=32 com escala aproximada de 0.03, apenas 3%.

Não há garantia de acertar na primeira execução. O caminho prático liga dados, captions, parâmetros iniciais, diagnóstico e validação no ComfyUI.


Preparar o dataset: quantidade e tipo de imagens

O primeiro passo não é abrir o trainer, mas decidir se o material é suficiente e adequado.

O objetivo determina a quantidade

A quantidade depende diretamente do que será treinado.

LoRA de personagem: comece com 15–30 imagens. Dez fontes excelentes, nítidas e coerentes podem funcionar. Para mudar de cena, inclua fundos e ângulos diferentes.

LoRA de estilo: costuma exigir 50–100 imagens, pois traço, cor e composição adicionam variáveis. Com poucos dados, o estilo some em uma imagem nova.

LoRA de objeto ou roupa: também 15–30 imagens, com frente, perfil e close-ups dos principais detalhes.

Tabela de qualidade do dataset

Quantidade não basta. Fontes fracas ensinam também fundo, iluminação e defeitos.

ObjetivoQuantidade inicialResoluçãoFundoOutros requisitos
Personagem15–30 imagens (10 com alta qualidade)512×512 ou 1024×1024 consistenteLimpo ou variado, sem repetir cenaÂngulos, expressões e poses
Estilo50–100 imagensConforme a base (SD1.5→512, SDXL→1024)Não precisa ser limpo, mas o estilo deve ser consistenteMesmo artista ou série
Objeto15–30 imagensResolução consistenteLimpo é melhor, variedade é aceitávelVistas e detalhes diferentes

Priorize resolução uniforme, fundo para personagens e variedade de ângulos e detalhes. Grandes diferenças geram resize e detalhes inconsistentes.

Resolução, fundo e pré-processamento

Resolução: o trainer redimensiona tudo. Misturar fontes de 512 e 2048 preserva detalhes de forma desigual; recorte antes para o tamanho-alvo.

Fundo: se 15 de 20 imagens mostram a mesma sala, o tagger repete “wall” e “floor”, e o LoRA pode aprender o cenário. Use fundos limpos ou corrija as captions.

Fluxo:

  1. Selecione imagens nítidas, com resolução parecida e características claras.
  2. Recorte para uma resolução com Photoshop, GIMP ou script em lote.
  3. Remova material de risco se o mesmo fundo aparecer mais de cinco vezes.

Captions e trigger words: etiquetar o dataset

O tagging automático exige revisão. Fundos e traços secundários afetam diretamente a utilidade do LoRA.

Escolher a ferramenta de captioning

Opções comuns:

FerramentaCaracterísticasUsoSuporte no ComfyUI
WD14 TaggerTags Danbooru, comum em Stable DiffusionPersonagens e animeNode Image-Captioning-in-ComfyUI
Florence2Modelo visual da Microsoft com linguagem naturalPersonagens realistas e objetosNodes disponíveis
BLIPModelo de caption em linguagem naturalEstilos realistas e cenasCompatível com ComfyUI

WD14 funciona bem para personagens, mas adiciona “simple background” ou “white wall”. Florence2 escreve frases e combina melhor com material realista.

Formato e posição do trigger

Use um token raro ou combinação própria:

  • sks charname, com um prefixo raro usado nos primeiros fluxos de Stable Diffusion
  • xyz_character_name, com prefixo próprio
  • my_char_001

Posição:

  1. Coloque o trigger no início de cada .txt ou .caption, seguido dos atributos.
  2. Alguns trainers têm campo separado; não é necessário se todas as captions contêm o token.

A repetição dá um nome estável ao conceito. Use o mesmo trigger na geração.

Revisar manualmente os atributos

Confira pelo menos três pontos.

Vazamento de fundo: “wall”, “floor” ou “bedroom” frequentes podem impedir novas cenas. Remova ou generalize.

Trigger ausente: confira cada caption.

Característica essencial ausente: adicione cabelo, cores ou roupa marcante quando faltar.

Não é preciso ler palavra por palavra. Conte termos com grep ou planilha e corrija anomalias.


Limites das ferramentas: o que o ComfyUI faz

O ComfyUI pode iniciar o treinamento, mas não é o backend.

kohya-ss/sd-scripts é o backend

O cálculo é realizado por kohya-ss/sd-scripts, muito usado em LoRA de Stable Diffusion. Kohya GUI e nodes do ComfyUI envolvem esses scripts ou implementações próximas.

FluxTrainer e Lora-Training-in-Comfy são wrappers:

  • FluxTrainer, de Kijai, integra código sd-scripts modificado para FLUX e fluxos relacionados.
  • Lora-Training-in-Comfy oferece outra interface ComfyUI para treinamento baseado em kohya.

Os defaults não são ideais universais. Consulte o README atual e a documentação upstream.

Comparar caminhos de treinamento

CaminhoVantagensLimitaçõesPara quem
GUI kohya-ssInterface completa e muitos tutoriaisInstalação separada e tela complexaQuem quer controle total
Nodes ComfyUI como FluxTrainerTreina no mesmo workflowPartes experimentais, defaults sem garantiaUsuários do ComfyUI
Scripts kohya-ss no terminalFunções novas e controle completoBarreira técnica maiorUsuários experientes

Onde verificar parâmetros atuais

Não dependa apenas de capturas. Comece pela documentação atual do kohya-ss/sd-scripts:

  • Os guias explicam opções para SD1.5, SDXL e FLUX.1.
  • Issues e Discussions trazem experiências específicas, como network alpha.

Learning rate, dim/alpha e steps variam com modelo e dataset. Não há configuração universal.


Receitas iniciais por objetivo

São pontos de partida reproduzíveis. Ajuste com epochs salvas e sintomas.

Relação entre network dim e alpha

network dim ou rank define a capacidade das matrizes LoRA. dim maior aprende mais detalhes, mas aumenta memória e tempo.

network alpha escala os pesos aprendidos. Se alpha é menor que dim, o efeito fica amortecido em relação ao learning rate configurado.

Escala simplificada: alpha / dim

Exemplos:

  • alpha=16, dim=32 → 16/32=0.5
  • alpha=32, dim=32 → 1
  • alpha=1, dim=32 → 1/32≈0.03

Copiar dim=32 e alpha=1 sem considerar learning rate e steps pode gerar resultado fraco.

Início:

  • Teste alpha=dim sem amortecimento ou alpha=dim/2 com amortecimento moderado.
  • Com alpha<dim, compare learning rate e steps juntos.

Learning rates, steps e epochs

ParâmetroPersonagemEstiloNota
U-Net LR4e-41e-4Início a ajustar por sintomas e alpha
Text encoder LR5e-5 ou 1e-55e-5 ou menorGeralmente abaixo do U-Net
Steps1000–20002000–3000Derivar de epochs e parar cedo se necessário
Epochs10–2020–30Dataset pequeno pode precisar de menos

Um step é uma atualização do optimizer e uma epoch percorre o dataset. Repeats, batch size, gradient accumulation e distribuição mudam a relação; use o contador do trainer.

Escolher o modelo-base

A base de treinamento determina a compatibilidade.

ModeloResoluçãoModelos compatíveisVRAM inicial
SD1.5512×512SD1.5 e derivados compatíveisCerca de 8 GB com fp16 e checkpointing
SDXL1024×1024SDXL e derivados compatíveisCerca de 12 GB com fp16 e checkpointing
FLUX.11024×1024 ou maisFamília FLUX.1 correspondenteFrequentemente muito mais sem otimização

O suporte a FLUX.1 e as opções de memória mudam. Consulte a documentação em vez de confiar em um número fixo.

Tabela inicial

ObjetivodimalphaU-Net LRText encoder LRSteps/epochsModelo
Personagem SD1.532 ou 12832 ou 1; compensar se baixo4e-45e-51000–2000 / 10–20SD1.5
Personagem SDXL1281 ou 1284e-45e-51500–2500 / 10–20SDXL
Estilo SD1.5128 ou 256128 ou 11e-45e-5 ou menor2000–3000 / 20–30SD1.5

Ajuste esses inícios com as verificações seguintes.


Detectar e corrigir overfitting e underfitting

Configuração ruim pode destruir detalhes ou quase não aprender o objetivo.

Sintomas de overfitting

Aparência:

  • Detalhes se misturam, desfocam ou deformam.
  • Fundos e ângulos novos falham, pois só reconhece cenas de treino.
  • Ruído e marca d’água do dataset reaparecem.

Trigger:

  • Mesmo weight=0.3 copia os dados e não é controlável.
  • As características aparecem sem trigger e ficam ligadas demais.

Sintomas de underfitting

Aparência:

  • A semelhança é baixa e faltam detalhes centrais.
  • O trigger responde pouco ou nada.

Teste de fundo:

  • As características continuam fracas em qualquer cena; o conceito principal não foi aprendido.

Tabela comparativa

SintomaOverfittingUnderfittingCorreção
DetalhesDeformados ou copiadosSemelhança fracaOver: reduzir LR/steps; under: aumentar LR/melhorar dados
FundoFalha ao mudar a cenaObjetivo fraco sempreOver: revisar tags de fundo; under: revisar trigger
TriggerForte demaisFraco ou ausenteOver: reduzir LR/dim alto; under: revisar LR, dados, dim
WeightCopia em 0.3Quase não aparece em 1.0Over: epoch anterior; under: continuar com cuidado ou melhorar dados

Ordem de correção

Overfitting:

  1. Reduza claramente o learning rate, por exemplo 50% em um teste.
  2. Reduza steps ou escolha uma epoch anterior.
  3. Revise fundos e traços secundários nas captions.
  4. Reduza um dim desnecessariamente alto.

Underfitting:

  1. Aumente o learning rate de forma controlada.
  2. Adicione ou melhore os dados.
  3. Confirme o trigger em cada caption.
  4. Aumente dim se faltar capacidade.

VRAM e caminhos de pouca memória para RTX 3060

Pouca VRAM nem sempre impede o treino, mas exige compromissos de resolução, modelo, velocidade e otimização.

Mínimos aproximados

ModeloBase fp16 com checkpointingCom economia extraOpções
SD1.5Cerca de 8 GBCerca de 6 GB em configuração limitadadim baixo, checkpointing, optimizer e precision
SDXLCerca de 12 GBPerto de 10 GB em alguns casosdim baixo, checkpointing, economia por blocos
FLUX.1Muitas vezes 24 GB sem economiaPerto de 10 GB muito otimizadoblock swapping, checkpointing, dim baixo, quantização

O exemplo de 24 para 10 GB vem de um guia externo de 2025. O uso real depende de trainer, modelo, optimizer, cache, dataset e GPU.

Técnicas de economia

Fused ou memory-efficient backward reduz o pico conforme a implementação.

Gradient checkpointing recalcula ativações e troca velocidade por memória.

dim baixo reduz parâmetros LoRA e geralmente a VRAM.

Mixed precision e quantização: fp16 ou bf16 são comuns; alguns trainers aceitam FP8 ou componentes quantizados com compromissos.

Tabela de pouca VRAM

VRAMObjetivo realistaCompromissoCaminho
6 GBPersonagem SD1.5dim baixo, checkpointing, lentoSD1.5 com batch pequeno
8 GBPersonagem ou estilo SD1.5dim baixo e checkpointingOpções maduras do SD1.5
10 GBAlgumas configurações SDXLEconomia agressivaReceita low-memory documentada
12 GB+Mais SDXL, FLUX.1 experimentalPode exigir economiaSDXL primeiro; FLUX.1 depende da configuração

Com VRAM apertada, comece pelo SD1.5. Ele exige menos e tem técnicas mais maduras.


Validar o LoRA concluído no ComfyUI

Uma imagem não basta. Verifique trigger, detalhes, mudança de fundo e faixa de weight.

Carregar o LoRA

Carregue o .safetensors com Load LoRA:

  • Node: Load LoRA incluído no ComfyUI
  • Parâmetros: arquivo e strengths de model e clip; comece perto de 0.5

Criar um prompt de teste

Inclua trigger e atributos:

  • Trigger word: token aprendido, como sks charname, perto do início.
  • Atributos: cabelo, cores e roupa importantes.
  • Cena: use “in a forest” ou “at night” no teste de fundo.

Exemplo:

sks charname, blonde hair, blue eyes, white dress, simple background

Teste de fundo:

sks charname, blonde hair, blue eyes, white dress, in a forest, at sunset

Varrer a faixa de weight

Compare em condições iguais:

  • weight=0.3: efeito leve e controlável.
  • weight=0.5: objetivo reconhecível.
  • weight=1.0: força total sem deformação nem perda de controle.

Se 0.3 continua preso aos dados, suspeite de overfitting. Se 1.0 mal se parece, revise underfitting, trigger e compatibilidade.

Lista de aceitação

ControleResultadoSe falhar
TriggerClaro em 0.5 e controlável em 0.3Ausente: captions/trigger; forte: reduzir LR ou usar epoch anterior
DetalhesCabelo, cores e roupa nítidosDeformados: overfitting; fracos: underfitting
Mudança de fundoAssunto reconhecível em outra cenaRevisar captions de fundo e variedade
WeightTraços graduais entre 0.3 e 1.0Revisar força e epochs

Próximos passos e leituras

Para carregamento, weights, empilhamento e triggers, continue em Usar LoRA no ComfyUI: pesos, empilhamento e consistência de personagem.

A relação entre base, compatibilidade e shape mismatch está em Escolher modelos Stable Diffusion: compatibilidade da base com LoRA.

Para testes reproduzíveis, use Templates de prompt do Stable Diffusion para validar um LoRA.

Alternativas sem retreinar:

  • FLUX.1 Kontext pode manter um personagem sem LoRA quando há poucos dados ou o treinamento não compensa.
  • InstantID e IPAdapter FaceID controlam o rosto por imagem de referência em vez de treinar um LoRA.

Como treinar e validar seu próprio LoRA

Escolha objetivo e modelo-base, prepare imagens e captions, treine com valores controlados e verifique trigger, detalhes e generalização de fundo no ComfyUI.

⏱️ Estimated time: 4 hr

  1. 1

    Step 1: Escolher objetivo e modelo-base

    Decida entre personagem, estilo ou objeto e escolha SD1.5, SDXL ou FLUX.1; a base de treinamento define a compatibilidade.
  2. 2

    Step 2: Selecionar e normalizar o dataset

    Mantenha imagens nítidas com assunto claro, ângulos e fundos variados, e recorte tudo para uma resolução coerente.
  3. 3

    Step 3: Gerar e revisar captions

    Use a ferramenta adequada e confira palavras de fundo frequentes, atributos essenciais e o trigger em cada arquivo.
  4. 4

    Step 4: Definir parâmetros iniciais

    Escolha dim, alpha, learning rates e steps ou epochs conforme o objetivo; trate as tabelas como início reproduzível, não resposta universal.
  5. 5

    Step 5: Salvar epochs intermediárias

    Salve os pesos em intervalos fixos para depois escolher o ponto que generaliza sem overfitting.
  6. 6

    Step 6: Validar com condições fixas

    Mantenha prompt, seed, sampler e tamanho e compare weights 0.3, 0.5 e 1.0 em vários fundos.
  7. 7

    Step 7: Corrigir pelos sintomas

    Com overfitting, reduza learning rate ou steps e revise tags de fundo; com underfitting, confira trigger, dados, learning rate e dim.

FAQ

Quantas imagens são necessárias para treinar um LoRA?
Personagens costumam começar com 15–30 imagens; cerca de 10 excelentes podem funcionar. Estilos usam 50–100 e objetos 15–30. Priorize qualidade e variedade.
Como configurar network dim e alpha?
dim controla a capacidade e alpha escala os pesos. alpha=dim ou alpha=dim/2 são inícios comuns. Com alpha menor, ajuste learning rate, steps e validação juntos.
Qual learning rate usar no LoRA?
Personagens podem começar perto de 4e-4 no U-Net e estilos perto de 1e-4; o text encoder geralmente usa menos. Ajuste com epochs salvas e sintomas.
Como treinar com pouca VRAM?
Priorize SD1.5, dim baixo, mixed precision e gradient checkpointing. SDXL e FLUX.1 podem usar block swapping ou quantização quando houver suporte, com compromissos.
É possível treinar um LoRA diretamente no ComfyUI?
Sim, por exemplo com ComfyUI-FluxTrainer. Esses nodes envolvem scripts e alguns são experimentais; siga a documentação atual deles e do kohya-ss/sd-scripts.
Qual é a diferença entre LoRA de SDXL e FLUX.1?
Arquitetura, text encoders, scripts, VRAM e parâmetros mudam. Use o LoRA com a família do modelo usada no treinamento.

10 min de leitura · Publicado em: 28 ago 2026 · Atualizado em: 28 ago 2026

Comentários

Entre com GitHub para comentar

Easton BlogEaston Blog