View a markdown version of this page

FLUX.2 Réglage fin 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 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 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 comprend deux ensembles de tâches :

  1. lora_training — Fine-tunes FLUX.2Klein sur 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 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 et les bibliothèques de gauche à 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 poste de formation.

  4. Soumettez le travail 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 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
  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 fournir un fichier de .txt lé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.

  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 poste de formation

Pour soumettre le poste de formation
  1. Accédez au flux2_klein_lora répertoire de votre deadline-cloud-samples dépôt cloné.

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

    deadline bundle gui-submit ./lora_training

    Ou, pour soumettre le travail de formation directement à l'aide de la CLI, exécutez la commande suivante :

    deadline bundle submit ./lora_training \ --queue-id gpu-queue-id \ --parameter DatasetPath=~/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
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-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 dépôt cloné.

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

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

Variantes du modèle

FLUX.2 Variantes du modèle Klein
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
  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 des 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 :