Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
FLUX.2 Ajuste fino y generación de imágenes de Klein LoRa
En este ejemplo se muestra cómo ajustar un modelo de generación de imágenes de FLUX.2 Klein mediante LoRa (Low-Rank Adaptation) y cómo generar imágenes a escala en Deadline Cloud. El flujo de trabajo entrena un adaptador ligero a partir de un conjunto de datos de imágenes pequeño. A continuación, utiliza ese adaptador para generar nuevas imágenes a partir de mensajes de texto, todo ello organizado como tareas de Deadline Cloud en una flota de GPU.
El código fuente de este ejemplo está disponible en el repositorio deadline-cloud-samples
El siguiente vídeo muestra el flujo de trabajo de FLUX.2 Klein LoRa en Deadline Cloud.
Tiempo estimado: 30 a 60 minutos (incluidos 15 a 45 minutos para el entrenamiento).
Descripción general de
El ejemplo consta de dos paquetes de tareas:
-
lora_training: Fine-tunes FLUX.2Klein
utiliza LoRa para crear un archivo adaptador en su conjunto de datos de imágenes. .safetensors -
image_generation: carga el modelo base con su adaptador entrenado y genera imágenes a partir de instrucciones de texto. Al generar varias imágenes, el trabajo se paraleliza entre los trabajadores.
LoRa es una técnica de ajuste preciso y eficiente en cuanto a parámetros que utiliza un adaptador pequeño en lugar de modificar todos los pesos del modelo. Este enfoque hace que el entrenamiento sea rápido (de 15 a 45 minutos en una sola GPU) y que el adaptador resultante sea portátil y fácil de versionar.
Los paquetes de tareas utilizan los difusores
Para completar este ejemplo, siga estos pasos:
-
Cumplir los requisitos previos de .
-
Prepara los datos de entrenamiento.
-
Envíe el trabajo de formación.
-
Envíe el trabajo de generación de imágenes.
-
Eliminación de recursos.
Requisitos previos
Antes de comenzar, asegúrese de que dispone de lo siguiente:
-
Una granja de Deadline Cloud con una flota de GPU (Linuxse recomienda una GPU NVIDIA A10G, más de 13 GB de VRAM y una memoria de sistema de 64 GiB o más).
-
Una cola asociada a la flota de GPU.
-
La CLI de Deadline Cloud
instalada en su estación de trabajo. -
De 20 a 50 imágenes de entrenamiento del sujeto (
.jpg,.png.jpeg, o)..webp
Estructura del paquete de trabajos
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 los datos de entrenamiento
Para preparar los datos de entrenamiento
-
Crea un directorio que contenga imágenes de tu tema. Para obtener los mejores resultados, utiliza entre 20 y 50 imágenes con diferentes poses, luces y fondos.
-
Si lo desea, puede incluir un archivo de
.txtsubtítulos junto a cada imagen para obtener un entrenamiento más matizado: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"Si no hay ningún archivo de subtítulos, el script de entrenamiento los genera automáticamente mediante el parámetro instance prompt. Los subtítulos personalizados producen resultados de mayor calidad porque enseñan al modelo asociaciones más específicas entre la palabra clave y las características visuales.
-
Elige una palabra clave única (por ejemplo,).
ohwxEsto vincula el concepto aprendido a un elemento que no entra en conflicto con el conocimiento existente sobre el modelo.
Envíe el trabajo de formación
Para enviar el trabajo de formación
-
Navegue hasta el
flux2_klein_loradirectorio deldeadline-cloud-samplesrepositorio clonado. -
Para enviar el trabajo de formación con la GUI, ejecute el siguiente comando:
deadline bundle gui-submit ./lora_trainingO bien, para enviar el trabajo de formación directamente con la CLI, ejecute el siguiente 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 -
Supervise el estado del trabajo en la consola de Deadline Cloud o mediante el
deadline job getcomando.
Parámetros de entrenamiento
| Parámetro | Description (Descripción) | Predeterminado |
|---|---|---|
| Versión del modelo | flux.2-klein-base-4b o flux.2-klein-4b |
flux.2-klein-base-4b |
| Ruta del conjunto de datos | Directorio que contiene imágenes de entrenamiento | — |
| Instance Prompt | Texto que describe el tema | — |
| Resolución | Resolución de la imagen de entrenamiento en píxeles | 512 |
| Network Dim | Rango LoRa (más alto = más capacidad) | 16 |
| Red Alpha | Factor de escalado alfa de LoRa | 16 |
| Pasos de entrenamiento máximos | Número de iteraciones de entrenamiento | 1500 |
| Directorio de salida | ¿Dónde guardar las pesas entrenadas | — |
Salida del entrenamiento
El trabajo de entrenamiento produce los siguientes artefactos:
-
flux2_klein_lora.safetensors— El adaptador LoRa entrenado con metadatos incrustados. -
Los puntos de control se guardan cada 300 pasos.
Para descargar el resultado una vez finalizado el entrenamiento, ejecuta el siguiente comando:
deadline job download-output \ --job-idtraining-job-id\ --queue-idgpu-queue-id
Envíe el trabajo de generación de imágenes
Para enviar el trabajo de generación de imágenes
-
Navegue hasta el
flux2_klein_loradirectorio deldeadline-cloud-samplesrepositorio clonado. -
Para enviar el trabajo de generación de imágenes con la GUI, ejecute el siguiente comando:
deadline bundle gui-submit ./image_generationO bien, para enviar el trabajo de generación de imágenes directamente con la CLI, ejecute el siguiente 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 -
Supervise el estado del trabajo en la consola de Deadline Cloud o mediante el
deadline job getcomando.
Cuando NumImages es mayor que 1, Deadline Cloud distribuye el trabajo entre varios trabajadores para una generación más rápida.
Parámetros de generación
| Parámetro | Description (Descripción) | Predeterminado |
|---|---|---|
| Ruta LoRa | Ruta al archivo entrenado .safetensors |
— |
| Petición | Descripción del texto (incluye la palabra clave) | — |
| Número de imágenes | Total de imágenes a generar | 1 |
| Ancho | Ancho de salida en píxeles | 1024 |
| Alto | Altura de salida en píxeles | 1024 |
| Pasos de inferencia | Número de pasos de eliminación de ruido | 50 |
| Escala orientativa | Classifier-free escala de orientación | 4.0 |
Salida de generación
Las imágenes se guardan como image_0001.pngimage_0002.png, y así sucesivamente. Para descargarlas, ejecute el siguiente comando:
deadline job download-output \ --job-idgeneration-job-id\ --queue-idgpu-queue-id
Variantes del modelo
| Modelo | Parameters | Lo mejor para |
|---|---|---|
flux.2-klein-base-4b |
4B | Fine-tuning, uso comercial |
flux.2-klein-4b |
4B | Inferencia rápida (4 pasos de eliminación de ruido) |
Recomendaciones de formación
Las siguientes recomendaciones pueden ayudarle a obtener los mejores resultados:
-
Tamaño del conjunto de datos: entre 20 y 50 imágenes de alta calidad funcionan bien para la mayoría de los sujetos.
-
Resolución: utilice 512 para las GPU con 24 GB de VRAM. Las resoluciones más altas requieren más memoria.
-
Pasos de entrenamiento: comience con 1500. Aumente si los resultados no se parecen a los del sujeto.
-
Atenuación de red: 16 es un valor predeterminado válido. Utilice 32 para conceptos complejos o abstractos.
-
Tasa de aprendizaje: el valor predeterminado de 1e-4 funciona bien en la mayoría de los casos.
Limpieza
Para evitar cargos continuos, limpia los recursos que creaste para este ejemplo:
Para limpiar los recursos de ejemplo
-
En la consola de Deadline Cloud, detenga o elimine la flota de GPU que utilizó para este ejemplo.
-
Elimine todos los objetos de Amazon Simple Storage Service (Amazon S3) creados por los adjuntos de trabajo si ya no son necesarios.
-
Elimine los archivos de salida locales si ya no los necesita:
rm -rf /tmp/lora_output /tmp/generated_images
Recursos relacionados
Los siguientes recursos proporcionan información adicional: