View a markdown version of this page

FLUX.2 Réglage et génération d'images Klein LoRa - Deadline Cloud

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 deadline-cloud-samples sur. GitHub

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 :

  1. lora_training — Fine-tunes FLUX.2 Klein parle de votre jeu de données d'images à l'aide de LoRa, produisant un .safetensors fichier adaptateur.

  2. 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 et les bibliothèques de cartes à des fins de formation et d'inférence.

Pour compléter cet exemple, procédez comme suit :

  1. Respectez les conditions préalables de .

  2. Préparez les données d'entraînement.

  3. Soumettez le job de formation.

  4. Soumettez la tâche de génération d'images.

  5. 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
  1. 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.

  2. Vous pouvez éventuellement ajouter un fichier de .txt lé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.

  3. Choisissez un mot déclencheur unique (tel queohwx). 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
  1. Accédez au flux2_klein_lora répertoire de votre deadline-cloud-samples référentiel cloné.

  2. Pour soumettre la tâche de formation à l'aide de l'interface graphique, exécutez la commande suivante :

    deadline bundle gui-submit ./lora_training

    Ou, 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-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. Surveillez l'état de la tâche dans la console Deadline Cloud ou à l'aide de la deadline job get commande.

Paramètres d'entraînement

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

Soumettre la tâche de génération d'images

Pour soumettre la tâche de génération d'images
  1. Accédez au flux2_klein_lora répertoire de votre deadline-cloud-samples référentiel cloné.

  2. 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_generation

    Ou, 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-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. Surveillez l'état de la tâche dans la console Deadline Cloud ou à l'aide de la deadline job get commande.

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

Variantes de modèles

FLUX.2 Variantes du modèle Klein
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
  1. Dans la console Deadline Cloud, arrêtez ou supprimez le parc de GPU que vous avez utilisé pour cet exemple.

  2. 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.

  3. Supprimez les fichiers de sortie locaux s'ils ne sont plus nécessaires :

    rm -rf /tmp/lora_output /tmp/generated_images

Les ressources suivantes fournissent des informations supplémentaires :