Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
FLUX.2 Réglage fin et génération d'images Klein LoRa
Cet exemple montre comment affiner un modèle de génération d'images FLUX.2 Klein à l'aide de LoRa (Low-Rank Adaptation) et comment générer des images à grande échelle sur Deadline Cloud. Le flux de travail entraîne un adaptateur léger à partir d'un petit jeu de données d'images. Il utilise ensuite cet adaptateur pour générer de nouvelles images à partir d'instructions textuelles, toutes orchestrées sous forme de tâches Deadline Cloud sur un parc de processeurs graphiques.
Le code source de cet exemple est disponible dans le référentiel deadline-cloud-samples
La vidéo suivante montre le flux de travail FLUX.2 Klein LoRa sur Deadline Cloud.
Durée estimée : 30 à 60 minutes (dont 15 à 45 minutes d'entraînement).
Présentation de
L'exemple comprend deux ensembles de tâches :
-
lora_training — Fine-tunes FLUX.2Klein
sur votre jeu de données d'images à l'aide de LoRa, produisant un .safetensorsfichier adaptateur. -
image_generation — Charge le modèle de base avec votre adaptateur entraîné et génère des images à partir de messages texte. Lors de la génération de plusieurs images, le travail est parallélisé entre les collaborateurs.
LoRa est une technique de réglage fin efficace en termes de paramètres qui entraîne un petit adaptateur au lieu de modifier le poids complet du modèle. Cette approche accélère l'entraînement (15 à 45 minutes sur un seul GPU) et rend l'adaptateur portable et facile à modifier.
Les ensembles de tâches utilisent les diffuseurs
Pour compléter cet exemple, procédez comme suit :
-
Respectez les conditions préalables de .
-
Préparez les données d'entraînement.
-
Soumettez le poste de formation.
-
Soumettez le travail de génération d'images.
-
nettoyer les ressources.
Conditions préalables
Avant de commencer, assurez-vous de disposer des éléments suivants :
-
Une ferme Deadline Cloud avec un parc de processeurs graphiques (LinuxGPU NVIDIA A10G, 13 Go de VRAM ou plus, 64 Go de mémoire système recommandés).
-
Une file d'attente associée au parc de GPU.
-
La CLI Deadline Cloud
installée sur votre poste de travail. -
20 à 50 images d'entraînement de votre sujet (
.jpg,.png.jpeg, ou.webp).
Structure du lot de tâches
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
Préparer les données d'entraînement
Pour préparer vos données d'entraînement
-
Créez un répertoire contenant des images de votre sujet. Pour de meilleurs résultats, utilisez 20 à 50 images avec des poses, des éclairages et des arrière-plans variés.
-
Vous pouvez éventuellement fournir un fichier de
.txtlégende à côté de chaque image pour un apprentissage plus nuancé :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 aucun fichier de sous-titrage n'est présent, le script d'apprentissage les génère automatiquement à l'aide du paramètre instance prompt. Les légendes personnalisées produisent des résultats de meilleure qualité car elles enseignent au modèle des associations plus spécifiques entre le mot déclencheur et les caractéristiques visuelles.
-
Choisissez un mot déclencheur unique (tel que
ohwx). Cela lie le concept appris à un jeton qui n'entre pas en conflit avec les connaissances existantes sur les modèles.
Soumettre le poste de formation
Pour soumettre le poste de formation
-
Accédez au
flux2_klein_lorarépertoire de votredeadline-cloud-samplesdépôt cloné. -
Pour soumettre le travail de formation à l'aide de l'interface graphique, exécutez la commande suivante :
deadline bundle gui-submit ./lora_trainingOu, pour soumettre le travail de formation directement à l'aide de la CLI, exécutez la commande suivante :
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 -
Surveillez l'état de la tâche dans la console Deadline Cloud ou à l'aide de la
deadline job getcommande.
Paramètres d'entraînement
| Paramètre | Description | Par défaut |
|---|---|---|
| Version de modèle | flux.2-klein-base-4b ou flux.2-klein-4b |
flux.2-klein-base-4b |
| Chemin du jeu de données | Répertoire contenant des images de formation | — |
| Invite d'instance | Texte décrivant votre sujet | — |
| Résolution | Résolution de l'image d'entraînement en pixels | 512 |
| Réseau Dim | Rang LoRa (plus élevé = plus de capacité) | 16 |
| Réseau Alpha | Facteur d'échelle LoRa alpha | 16 |
| Nombre maximal d'étapes d'entraînement | Nombre d'itérations de formation | 1 500 |
| Répertoire de sortie | Où économiser des poids entraînés | — |
Sortie de l'entraînement
La tâche de formation produit les artefacts suivants :
-
flux2_klein_lora.safetensors— L'adaptateur LoRa entraîné avec métadonnées intégrées. -
Points de contrôle enregistrés toutes les 300 étapes.
Pour télécharger le résultat une fois l'entraînement terminé, exécutez la commande suivante :
deadline job download-output \ --job-idtraining-job-id\ --queue-idgpu-queue-id
Soumettre la tâche de génération d'images
Pour soumettre la tâche de génération d'images
-
Accédez au
flux2_klein_lorarépertoire de votredeadline-cloud-samplesdépôt cloné. -
Pour soumettre la tâche de génération d'image à l'aide de l'interface graphique, exécutez la commande suivante :
deadline bundle gui-submit ./image_generationOu, pour soumettre la tâche de génération d'image directement à l'aide de la CLI, exécutez la commande suivante :
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 -
Surveillez l'état de la tâche dans la console Deadline Cloud ou à l'aide de la
deadline job getcommande.
Lorsque cette NumImages valeur est supérieure à 1, Deadline Cloud répartit le travail entre plusieurs collaborateurs pour une génération plus rapide.
Paramètres de génération
| Paramètre | Description | Par défaut |
|---|---|---|
| Sentier LoRa | Chemin d'accès au .safetensors fichier entraîné |
— |
| Invite | Description du texte (incluez votre mot déclencheur) | — |
| Nombre d'images | Nombre total d'images à générer | 1 |
| Width | Largeur de sortie en pixels | 1 024 |
| Height | Hauteur de sortie en pixels | 1 024 |
| Étapes d'inférence | Nombre d'étapes de débruitage | 50 |
| Échelle de guidage | Classifier-free échelle de guidage | 4.0 |
Sortie de génération
Les images sont enregistrées au image_0001.png format,image_0002.png, et ainsi de suite. Pour les télécharger, exécutez la commande suivante :
deadline job download-output \ --job-idgeneration-job-id\ --queue-idgpu-queue-id
Variantes du modèle
| Modèle | Parameters | Idéal pour |
|---|---|---|
flux.2-klein-base-4b |
4B | Fine-tuning, usage commercial |
flux.2-klein-4b |
4B | Inférence rapide (4 étapes de débruitage) |
Recommandations en matière de formation
Les recommandations suivantes peuvent vous aider à obtenir les meilleurs résultats :
-
Taille du jeu de données : 20 à 50 images de haute qualité conviennent à la plupart des sujets.
-
Résolution — Utilisez 512 pour les GPU dotés de 24 Go de VRAM. Les résolutions plus élevées nécessitent plus de mémoire.
-
Étapes de formation — Commencez par 1500. Augmentez si les sorties ne ressemblent pas à votre sujet.
-
Network dim — 16 est une bonne valeur par défaut. Utilisez 32 pour les concepts complexes ou abstraits.
-
Taux d'apprentissage — La valeur par défaut de 1e-4 fonctionne bien dans la plupart des cas.
Nettoyage
Pour éviter des frais récurrents, nettoyez les ressources que vous avez créées pour cet exemple :
Pour nettoyer les exemples de ressources
-
Dans la console Deadline Cloud, arrêtez ou supprimez le parc de GPU que vous avez utilisé pour cet exemple.
-
Supprimez tous les objets Amazon Simple Storage Service (Amazon S3) créés par des pièces jointes à des tâches s'ils ne sont plus nécessaires.
-
Supprimez les fichiers de sortie locaux s'ils ne sont plus nécessaires :
rm -rf /tmp/lora_output /tmp/generated_images
Ressources connexes
Les ressources suivantes fournissent des informations supplémentaires :