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 Perfeccionamiento y generación de imágenes de Klein LoRa
Este ejemplo demuestra cómo ajustar un modelo de generación de imágenes de FLUX.2 Klein mediante LoRa (Low-Rank adaptación) y generar imágenes a escala en Deadline Cloud. El flujo de trabajo entrena un adaptador ligero a partir de un pequeño conjunto de datos de imágenes. 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 https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/job_bundles/flux2_klein_lora
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 trabajos:
-
lora_training: Fine-tunes FLUX.2 Klein
en tu conjunto de datos de imágenes usando LoRa y produce un archivo adaptador. .safetensors -
image_generation: carga el modelo base con tu adaptador entrenado y genera imágenes a partir de indicaciones de texto. Al generar varias imágenes, el trabajo se realiza de forma paralela entre los trabajadores.
LoRa es una técnica de ajuste preciso eficiente en cuanto a parámetros que entrena a un adaptador pequeño en lugar de modificar el peso total del modelo. Este enfoque hace que el entrenamiento sea rápido (de 15 a 45 minutos con una sola GPU) y, por lo tanto, el adaptador resultante es portátil y fácil de versionar.
Los paquetes de trabajo utilizan los difusores
Para completar este ejemplo, sigue estos pasos:
-
Cumplir los requisitos previos de .
-
Prepara los datos de entrenamiento.
-
Envía el trabajo de formación.
-
Envía 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 más de 64 GiB de memoria de sistema).
-
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 de su asignatura (
.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 tus datos de entrenamiento
-
Crea un directorio que contenga imágenes de tu asignatura. Para obtener mejores resultados, usa de 20 a 50 imágenes con poses, iluminación y fondos variados.
-
Si lo desea, puede incluir un archivo de
.txtsubtítulos junto a cada imagen para un entrenamiento más detallado: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 símbolo que no entra en conflicto con el conocimiento existente sobre el modelo.
Envía el trabajo de formación
Para enviar el trabajo de formación
-
Navega hasta el
flux2_klein_loradirectorio de tudeadline-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 capacitación directamente con la CLI, ejecute el siguiente comando:
deadline bundle submit ./lora_training \ --queue-idgpu-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 -
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 | Ninguno |
| Símbolo de instancia | Texto que describe su tema | Ninguno |
| Resolución | Resolución de imágenes de entrenamiento en píxeles | 512 |
| Red Dim | Rango LoRa (más alto = más capacidad) | 16 |
| Red Alpha | Factor de escalado alfa de LoRa | 16 |
| Pasos máximos de entrenamiento | Número de iteraciones de entrenamiento | 1500 |
| Directorio de salida | ¿Dónde guardar las pesas entrenadas | Ninguno |
Salida del entrenamiento
El trabajo de entrenamiento produce los siguientes artefactos:
-
flux2_klein_lora.safetensors— El adaptador LoRa capacitado con metadatos integrados. -
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
-
Navega hasta el
flux2_klein_loradirectorio de tudeadline-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 superior a 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 |
Ninguno |
| Petición | Descripción textual (incluye tu palabra clave) | Ninguno |
| 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, ejecuta 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 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.
-
La atenuación de red: 16 es un buen valor predeterminado. 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, borra 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 mediante archivos adjuntos de trabajos si ya no los necesita.
-
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: