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 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 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 de commandes textuelles, toutes orchestrées sous forme de tâches Deadline Cloud sur une flotte de GPU.
Le code source de cet exemple est disponible dans le référentiel https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/job_bundles/flux2_klein_lora
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 se compose de deux lots de tâches :
-
lora_training — Fine-tunes FLUX.2 Klein parle de votre jeu
de données d'images à l'aide de LoRa , produisant un .safetensorsfichier adaptateur. -
image_generation — Charge le modèle de base à l'aide de l'adaptateur que vous avez créé et génère des images à partir de commandes textuelles. Lors de la génération de plusieurs images, le travail est parallélisé entre les collaborateurs.
La LoRa est une technique de réglage fin efficace en termes de paramètres qui entraîne un petit adaptateur au lieu de modifier les poids complets du modèle. Cette approche rend l'entraînement rapide (15 à 45 minutes sur un seul GPU) et l'adaptateur qui en résulte est portable et facile à modifier.
Les offres d'emploi 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 job de formation.
-
Soumettez la tâche 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 dotée d'un parc de processeurs graphiques (LinuxGPU NVIDIA A10G, 13 Go de VRAM et plus, mémoire système de 64 Go ou plus recommandés).
-
Une file d'attente associée au parc de processeurs graphiques.
-
L'interface de ligne de commande Deadline Cloud
est installée sur votre poste de travail. -
20 à 50 images d'entraînement de votre sujet (
.jpg,.png.jpeg, ou.webp).
Structure des offres d'emploi
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 ajouter un fichier de
.txtlégende à côté de chaque image pour un entraînement 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 légende n'est présent, le script d'entraînement les génère automatiquement à l'aide du paramètre d'invite d'instance. Les légendes personnalisées produisent des résultats de meilleure qualité car elles enseignent au modèle des associations plus spécifiques entre votre 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 job de formation
Pour soumettre le job de formation
-
Accédez au
flux2_klein_lorarépertoire de votredeadline-cloud-samplesréférentiel cloné. -
Pour soumettre la tâche de formation à l'aide de l'interface graphique, exécutez la commande suivante :
deadline bundle gui-submit ./lora_trainingOu, pour soumettre la tâche de formation directement via l'interface de ligne de commande, exécutez la commande suivante :
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 -
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 | Aucune |
| Invite de l'instance | Texte décrivant votre sujet | Aucune |
| Résolution | Résolution de l'image d'entraînement en pixels | 512 |
| Dim réseau | Rang LoRa (plus élevé = plus de capacité) | 16 |
| Réseau Alpha | Facteur d'échelle LoRa alpha | 16 |
| Nombre maximum d'étapes d'entraînement | Nombre d'itérations de formation | 1 500 |
| Répertoire de sortie | Où économiser des poids entraînés | Aucune |
Sortie de l'entraînement
Le travail de formation produit les artefacts suivants :
-
flux2_klein_lora.safetensors— L'adaptateur LoRa entraîné avec des 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-samplesréférentiel cloné. -
Pour soumettre la tâche de génération d'images à 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 via l'interface de ligne de commande, 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 |
|---|---|---|
| Parcours LoRa | Chemin d'accès au .safetensors fichier entraîné |
Aucune |
| Invite | Description textuelle (incluez votre mot déclencheur) | Aucune |
| 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 sous forme image_0001.pngimage_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 de modèles
| Modèle | Parameters | Idéal pour |
|---|---|---|
flux.2-klein-base-4b |
4B | Fine-tuning, utilisation commerciale |
flux.2-klein-4b |
4B | Inférence rapide (4 étapes de débruitage) |
Recommandations de formation
Les recommandations suivantes peuvent vous aider à obtenir les meilleurs résultats :
-
Taille de l'ensemble 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 la valeur si les résultats 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 les 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 les 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 :