LUMINA2.pt BR
Guia de Início Rápido do Lumina2¶
Neste exemplo, vamos treinar um LoRA do Lumina2 ou fazer fine-tuning do modelo completo.
Requisitos de hardware¶
O Lumina2 é um modelo de 2B parâmetros, tornando-o muito mais acessível do que modelos maiores como Flux ou SD3. O tamanho menor do modelo significa:
Ao treinar um LoRA rank-16, ele usa: - Aproximadamente 12-14GB de VRAM para treinamento LoRA - Aproximadamente 16-20GB de VRAM para fine-tuning completo - Cerca de 20-30GB de RAM do sistema durante a inicialização
Você vai precisar: - Mínimo: Uma única RTX 3060 12GB ou RTX 4060 Ti 16GB - Recomendado: RTX 3090, RTX 4090 ou A100 para treinamento mais rápido - RAM do sistema: Pelo menos 32GB recomendados
Pré-requisitos¶
Certifique-se de que você tenha Python instalado; o SimpleTuner funciona bem com 3.10 até 3.12.
Você pode verificar executando:
Se você não tem Python 3.12 instalado no Ubuntu, pode tentar o seguinte:
Dependências da imagem de contêiner¶
Para Vast, RunPod e TensorDock (entre outros), o seguinte funciona em uma imagem CUDA 12.2-12.8:
Instalação¶
Instale o SimpleTuner via pip:
pip install 'simpletuner[cuda]'
# CUDA 13 / Blackwell users (NVIDIA B-series GPUs)
pip install 'simpletuner[cuda13]' --extra-index-url https://download.pytorch.org/whl/cu130
Para instalação manual ou setup de desenvolvimento, veja a documentação de instalação.
Configurando o ambiente¶
Para rodar o SimpleTuner, você precisará configurar um arquivo de configuração, os diretórios de dataset e modelo, e um arquivo de configuração do dataloader.
Arquivo de configuração¶
Copie config/config.json.example para config/config.json:
Lá, você precisará modificar as seguintes variáveis:
model_type- Defina comolorapara treinamento LoRA oufullpara fine-tuning completo.model_family- Defina comolumina2.output_dir- Defina o diretório onde deseja armazenar seus checkpoints e imagens de validação. É recomendado usar um caminho completo aqui.train_batch_size- Pode ser 1-4 dependendo da memória da sua GPU e do tamanho do dataset.validation_resolution- O Lumina2 suporta múltiplas resoluções. Opções comuns:1024x1024,512x512,768x768.validation_guidance- O Lumina2 usa classifier-free guidance. Valores de 3.5-7.0 funcionam bem.validation_num_inference_steps- 20-30 steps funcionam bem para o Lumina2.gradient_accumulation_steps- Pode ser usado para simular lotes maiores. Um valor de 2-4 funciona bem.optimizer-adamw_bf16é recomendado.lioneoptimi-stableadamwtambém funcionam bem.mixed_precision- Mantenha embf16para melhores resultados.gradient_checkpointing- Defina comotruepara economizar VRAM.learning_rate- Para LoRA:1e-4a5e-5. Para fine-tuning completo:1e-5a1e-6.
Exemplo de configuração do Lumina2¶
Isso vai no config.json
Ver exemplo de configuração
{
"base_model_precision": "int8-torchao",
"checkpoint_step_interval": 50,
"data_backend_config": "config/lumina2/multidatabackend.json",
"disable_bucket_pruning": true,
"eval_steps_interval": 50,
"evaluation_type": "clip",
"flow_schedule_auto_shift": true,
"gradient_checkpointing": true,
"hub_model_id": "lumina2-lora",
"learning_rate": 1e-4,
"lora_alpha": 16,
"lora_rank": 16,
"lora_type": "standard",
"lr_scheduler": "constant",
"max_train_steps": 400000,
"model_family": "lumina2",
"model_type": "lora",
"num_train_epochs": 0,
"optimizer": "adamw_bf16",
"output_dir": "output/lumina2",
"push_checkpoints_to_hub": true,
"push_to_hub": true,
"quantize_via": "cpu",
"report_to": "wandb",
"seed": 42,
"tracker_project_name": "lumina2-training",
"tracker_run_name": "lumina2-lora",
"train_batch_size": 4,
"use_ema": true,
"vae_batch_size": 1,
"validation_disable_unconditional": true,
"validation_guidance": 4.0,
"validation_guidance_rescale": 0.0,
"validation_negative_prompt": "ugly, cropped, blurry, low-quality, mediocre average",
"validation_num_inference_steps": 40,
"validation_prompt": "A photo-realistic image of a cat",
"validation_prompt_library": false,
"validation_resolution": "1024x1024",
"validation_seed": 42,
"validation_step_interval": 50
}
Para treinamento Lycoris, altere lora_type para lycoris
Recursos experimentais avançados¶
Mostrar detalhes experimentais avançados
O SimpleTuner inclui recursos experimentais que podem melhorar significativamente a estabilidade e o desempenho do treinamento. * **[Scheduled Sampling (Rollout)](../experimental/SCHEDULED_SAMPLING.md):** reduz o viés de exposição e melhora a qualidade de saída ao deixar o modelo gerar suas próprias entradas durante o treinamento. > ⚠️ Esses recursos aumentam a sobrecarga computacional do treinamento. #### Prompts de validação Dentro de `config/config.json` está o "prompt de validação primário". Além disso, crie um arquivo de biblioteca de prompts:{
"portrait": "a high-quality portrait photograph with natural lighting",
"landscape": "a breathtaking landscape photograph with dramatic lighting",
"artistic": "an artistic rendering with vibrant colors and creative composition",
"detailed": "a highly detailed image with sharp focus and rich textures",
"stylized": "a stylized illustration with unique artistic flair"
}
[
{
"id": "lumina2-training",
"type": "local",
"crop": true,
"crop_aspect": "square",
"crop_style": "center",
"resolution": 1024,
"minimum_image_size": 512,
"maximum_image_size": 2048,
"target_downsample_size": 1024,
"resolution_type": "pixel_area",
"cache_dir_vae": "cache/vae/lumina2/training",
"instance_data_dir": "/datasets/training",
"caption_strategy": "textfile",
"metadata_backend": "discovery"
},
{
"id": "text-embeds",
"type": "local",
"dataset_type": "text_embeds",
"default": true,
"cache_dir": "cache/text/lumina2",
"disabled": false,
"write_batch_size": 128
}
]
mkdir -p /datasets/training
</details>
# Coloque suas imagens e arquivos de caption em /datasets/training/