As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
FLUX.2 Ajuste fino e geração de imagens do Klein LoRa
Este exemplo demonstra como ajustar um modelo de geração de imagens FLUX.2 Klein usando LoRa (Low-Rank Adaptação) e gerar imagens em grande escala no Deadline Cloud. O fluxo de trabalho treina um adaptador leve a partir de um pequeno conjunto de dados de imagens. Em seguida, ele usa esse adaptador para gerar novas imagens a partir de solicitações de texto, todas orquestradas como trabalhos do Deadline Cloud em uma frota de GPU.
O código-fonte desse exemplo está disponível no repositório deadline-cloud-samples
O vídeo a seguir demonstra o fluxo de trabalho do FLUX.2 Klein LoRa no Deadline Cloud.
Tempo estimado: 30 a 60 minutos (incluindo 15 a 45 minutos para treinamento).
Visão geral do
O exemplo consiste em dois pacotes de tarefas:
-
lora_training — Fine-tunes FLUX.2Klein em
seu conjunto de dados de imagem usando LoRa, produzindo um arquivo adaptador. .safetensors -
image_generation — Carrega o modelo básico com seu adaptador treinado e gera imagens a partir de solicitações de texto. Ao gerar várias imagens, o trabalho é paralelizado entre os trabalhadores.
LoRa é uma técnica de ajuste fino com eficiência de parâmetros que treina um pequeno adaptador em vez de modificar os pesos completos do modelo. Essa abordagem torna o treinamento rápido (15 a 45 minutos em uma única GPU) e o adaptador resultante é portátil e fácil de configurar.
Os pacotes de tarefas usam difusores
Para concluir este exemplo, siga estas etapas:
-
Concluir os pré-requisitos do .
-
Prepare os dados de treinamento.
-
Envie o trabalho de treinamento.
-
Envie o trabalho de geração de imagens.
-
Limpe recursos.
Pré-requisitos
Antes de começar, verifique se você tem o seguinte:
-
Uma fazenda Deadline Cloud com uma frota de GPUs (recomenda-se GPU NVIDIA A10GLinux, 13 GB ou mais de VRAM, 64 GiB ou mais de memória de sistema).
-
Uma fila associada à frota de GPU.
-
A CLI do Deadline Cloud
instalada em sua estação de trabalho. -
20 a 50 imagens de treinamento do seu assunto (
.jpg,.png.jpeg, ou.webp).
Estrutura do pacote de tarefas
flux2_klein_lora/ ├── lora_training/ │ ├── template.yaml # OpenJD job template │ └── train_lora.py # Training script └── image_generation/ ├── template.yaml # OpenJD job template └── generate_image.py # Inference script
Prepare os dados de treinamento
Para preparar seus dados de treinamento
-
Crie um diretório contendo imagens do seu assunto. Para obter melhores resultados, use de 20 a 50 imagens com poses, iluminação e planos de fundo variados.
-
Opcionalmente, forneça um arquivo de
.txtlegenda ao lado de cada imagem para um treinamento mais detalhado:training_images/ ├── IMG_001.jpeg ├── IMG_001.txt # "a photo of ohwx dog sitting on grass" ├── IMG_002.jpeg ├── IMG_002.txt # "a photo of ohwx dog running on beach"Se nenhum arquivo de legenda estiver presente, o script de treinamento os gerará automaticamente usando o parâmetro de prompt da instância. As legendas personalizadas produzem resultados de maior qualidade porque ensinam ao modelo associações mais específicas entre sua palavra-gatilho e recursos visuais.
-
Escolha uma palavra de gatilho exclusiva (como
ohwx). Isso vincula o conceito aprendido a um token que não entra em conflito com o conhecimento existente do modelo.
Envie o trabalho de treinamento
Para enviar o trabalho de treinamento
-
Navegue até o
flux2_klein_loradiretório em seudeadline-cloud-samplesrepositório clonado. -
Para enviar o trabalho de treinamento com a GUI, execute o seguinte comando:
deadline bundle gui-submit ./lora_trainingOu, para enviar o trabalho de treinamento diretamente com a CLI, execute o seguinte comando:
deadline bundle submit ./lora_training \ --queue-idgpu-queue-id\ --parameter DatasetPath=~/training_images \ --parameter InstancePrompt="a photo of ohwx dog" \ --parameter OutputDir=/tmp/lora_output \ --parameter MaxTrainSteps=1500 \ --parameter Resolution=512 -
Monitore o status do trabalho no console do Deadline Cloud ou usando o
deadline job getcomando.
Parâmetros de treinamento
| Parâmetro | Description | Padrão |
|---|---|---|
| Versão do modelo | flux.2-klein-base-4b ou flux.2-klein-4b |
flux.2-klein-base-4b |
| Caminho do conjunto de dados | Diretório contendo imagens de treinamento | — |
| Prompt de instância | Texto descrevendo seu assunto | — |
| Resolução | Resolução de imagem de treinamento em pixels | 512 |
| Rede Dim | Classificação LoRa (maior = mais capacidade) | 16 |
| Rede Alpha | Fator de escala LoRa alfa | 16 |
| Etapas máximas de treinamento | Número de iterações de treinamento | 1500 |
| Diretório de saída | Onde economizar pesos treinados | — |
Resultado de treinamento
O trabalho de treinamento produz os seguintes artefatos:
-
flux2_klein_lora.safetensors— O adaptador LoRa treinado com metadados incorporados. -
Pontos de verificação salvos a cada 300 etapas.
Para baixar a saída após a conclusão do treinamento, execute o seguinte comando:
deadline job download-output \ --job-idtraining-job-id\ --queue-idgpu-queue-id
Envie o trabalho de geração de imagens
Para enviar o trabalho de geração de imagens
-
Navegue até o
flux2_klein_loradiretório em seudeadline-cloud-samplesrepositório clonado. -
Para enviar o trabalho de geração de imagem com a GUI, execute o seguinte comando:
deadline bundle gui-submit ./image_generationOu, para enviar o trabalho de geração de imagem diretamente com a CLI, execute o seguinte comando:
deadline bundle submit ./image_generation \ --queue-idgpu-queue-id\ --parameter LoRAPath=/tmp/lora_output/flux2_klein_lora.safetensors \ --parameter Prompt="a photo of ohwx dog wearing a tuxedo" \ --parameter OutputDir=/tmp/generated_images \ --parameter NumImages=4 -
Monitore o status do trabalho no console do Deadline Cloud ou usando o
deadline job getcomando.
Quando NumImages é maior que 1, o Deadline Cloud distribui o trabalho entre vários trabalhadores para uma geração mais rápida.
Parâmetros de geração
| Parâmetro | Description | Padrão |
|---|---|---|
| Caminho LoRa | Caminho para o .safetensors arquivo treinado |
— |
| Prompt | Descrição do texto (inclua sua palavra-gatilho) | — |
| Número de imagens | Total de imagens a serem geradas | 1 |
| Largura | Largura de saída em pixels | 1024 |
| Altura | Altura de saída em pixels | 1024 |
| Etapas de inferência | Número de etapas de redução de ruído | 50 |
| Escala de orientação | Classifier-free escala de orientação | 4,0 |
Saída de geração
As imagens são salvas como image_0001.pngimage_0002.png, e assim por diante. Para baixá-los, execute o seguinte comando:
deadline job download-output \ --job-idgeneration-job-id\ --queue-idgpu-queue-id
Variantes do modelo
| Modelo | Parâmetros | Melhor para |
|---|---|---|
flux.2-klein-base-4b |
4B | Fine-tuning, uso comercial |
flux.2-klein-4b |
4B | Inferência rápida (4 etapas de redução de ruído) |
Recomendações de treinamento
As recomendações a seguir podem ajudar você a obter os melhores resultados:
-
Tamanho do conjunto de dados — 20 a 50 imagens de alta qualidade funcionam bem para a maioria dos assuntos.
-
Resolução — Use 512 para GPUs com 24 GB de VRAM. Resoluções mais altas exigem mais memória.
-
Etapas de treinamento — Comece com 1500. Aumente se os resultados não se assemelharem ao seu assunto.
-
Diminuição da rede — 16 é um bom padrão. Use 32 para conceitos complexos ou abstratos.
-
Taxa de aprendizado — O padrão de 1e-4 funciona bem na maioria dos casos.
Fazer a limpeza.
Para evitar cobranças contínuas, limpe os recursos que você criou para este exemplo:
Para limpar os recursos de exemplo
-
No console do Deadline Cloud, interrompa ou exclua a frota de GPU que você usou neste exemplo.
-
Exclua qualquer objeto do Amazon Simple Storage Service (Amazon S3) criado por anexos de trabalho se eles não forem mais necessários.
-
Remova os arquivos de saída locais se eles não forem mais necessários:
rm -rf /tmp/lora_output /tmp/generated_images
Recursos relacionados
Os recursos a seguir fornecem informações adicionais: