View a markdown version of this page

FLUX.2 Ajuste fino e geração de imagens do Klein LoRa - Deadline Cloud

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 da 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 tarefas do Deadline Cloud em uma frota de GPU.

O código-fonte deste exemplo está disponível no repositório https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/job_bundles/flux2_klein_lora deadline-cloud-samples em. GitHub

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:

  1. lora_training — Fine-tunes FLUX.2 Klein em seu conjunto de dados de imagem usando LoRa, produzindo um arquivo adaptador. .safetensors

  2. 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 trabalho usam os difusores e as bibliotecas esquerdas para treinamento e inferência.

Para concluir esse exemplo, siga estas etapas:

  1. Concluir os pré-requisitos do .

  2. Prepare dados de treinamento.

  3. Envie o trabalho de treinamento.

  4. Envie o trabalho de geração de imagens.

  5. Limpe recursos.

Pré-requisitos

Antes de começar, verifique se você tem o seguinte:

  • Uma fazenda Deadline Cloud com uma frota de GPU (Linux, GPU NVIDIA A10G, 13 GB de VRAM, 64 GiB+ de memória de sistema recomendada).

  • Uma fila associada à frota de GPU.

  • O Deadline Cloud CLI instalado em sua estação de trabalho.

  • 20—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 dados de treinamento

Para preparar seus dados de treinamento
  1. 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.

  2. Opcionalmente, forneça um arquivo de .txt legenda 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 instance prompt. As legendas personalizadas produzem resultados de alta qualidade porque ensinam ao modelo associações mais específicas entre sua palavra-gatilho e os recursos visuais.

  3. Escolha uma palavra-gatilho exclusiva (comoohwx). Isso vincula o conceito aprendido a um token que não entra em conflito com o conhecimento do modelo existente.

Envie o trabalho de treinamento

Para enviar o trabalho de treinamento
  1. Navegue até o flux2_klein_lora diretório em seu deadline-cloud-samples repositório clonado.

  2. Para enviar o trabalho de treinamento com a GUI, execute o seguinte comando:

    deadline bundle gui-submit ./lora_training

    Ou, para enviar o trabalho de treinamento diretamente com a CLI, execute o seguinte comando:

    deadline bundle submit ./lora_training \ --queue-id gpu-queue-id \ --parameter DatasetPath="$HOME/training_images" \ --parameter InstancePrompt="a photo of ohwx dog" \ --parameter OutputDir=/tmp/lora_output \ --parameter MaxTrainSteps=1500 \ --parameter Resolution=512
  3. Monitore o status do trabalho no console do Deadline Cloud ou usando o deadline job get comando.

Parâmetros de treinamento

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 Nenhum
Solicitação de instância Texto descrevendo seu assunto Nenhum
Resolução Resolução da imagem de treinamento em pixels 512
Rede Dim Classificação LoRa (maior = mais capacidade) 16
Rede Alpha Fator de escala alfa LoRa 16
Etapas máximas de treinamento Número de iterações de treinamento 1500
Diretório de saída Onde economizar pesos treinados Nenhum

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-id training-job-id \ --queue-id gpu-queue-id

Envie o trabalho de geração de imagens

Para enviar o trabalho de geração de imagens
  1. Navegue até o flux2_klein_lora diretório em seu deadline-cloud-samples repositório clonado.

  2. Para enviar o trabalho de geração de imagem com a GUI, execute o seguinte comando:

    deadline bundle gui-submit ./image_generation

    Ou, para enviar o trabalho de geração de imagem diretamente com a CLI, execute o seguinte comando:

    deadline bundle submit ./image_generation \ --queue-id gpu-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
  3. Monitore o status do trabalho no console do Deadline Cloud ou usando o deadline job get comando.

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âmetros de geração
Parâmetro Description Padrão
Caminho LoRa Caminho para o .safetensors arquivo treinado Nenhum
Prompt Descrição do texto (inclua sua palavra-gatilho) Nenhum
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 eliminaçã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-id generation-job-id \ --queue-id gpu-queue-id

Variantes do modelo

FLUX.2 Variantes do modelo Klein
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 eliminaçã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 do treinamento — Comece com 1500. Aumente se as saídas não se parecerem com o assunto.

  • Escurecimento 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 neste exemplo:

Para limpar recursos de exemplo
  1. No console do Deadline Cloud, interrompa ou exclua a frota de GPU que você usou neste exemplo.

  2. Exclua todos os objetos do Amazon Simple Storage Service (Amazon S3) criados por anexos de tarefas se eles não forem mais necessários.

  3. Remova os arquivos de saída locais se eles não forem mais necessários:

    rm -rf /tmp/lora_output /tmp/generated_images

Os seguintes recursos fornecem informações adicionais: