Comment entraîner un embedding facilement

Qu’est-ce qu’un embedding et pourquoi l’entraîner ?

Un embedding (ou Textual Inversion) est un petit fichier qui enseigne à Stable Diffusion un nouveau concept visuel — un visage, un objet, un style — à travers un mot déclencheur personnalisé. Contrairement à un LoRA ou un DreamBooth complet, il ne modifie pas les poids du modèle : il ajoute simplement un nouveau token dans l’espace latent du texte encodeur. Résultat : un fichier léger (quelques kilooctets), rapide à entraîner, et compatible avec la plupart des interfaces.

L’intérêt principal réside dans la simplicité. Vous n’avez pas besoin de GPU colossal, ni de dataset de mille images. Une dizaine de photos bien choisies suffisent.

Prérequis matériels et logiciels

Avant de lancer l’entraînement, assurez-vous de disposer des éléments suivants :

  • Une carte graphique avec au minimum 8 Go de VRAM (10-12 Go recommandés pour plus de confort)
  • Automatic1111, ComfyUI, ou Kohya_ss installé et fonctionnel
  • Python 3.10 et les dépendances CUDA à jour
  • Un dossier de 10 à 20 images de référence soigneusement préparées

Attention : l’entraînement d’embedding natif dans Automatic1111 consomme moins de VRAM que Kohya_ss, mais offre moins de contrôle fin. Pour un premier essai, commencez par l’interface intégrée.

Préparer vos images : la qualité avant la quantité

Le succès de votre embedding repose à 80 % sur la qualité du dataset. Suivez ces règles concrètes :

  • Format carré 512×512 ou 768×768 pixels
  • Arrière-plans variés pour éviter le surapprentissage du décor
  • Angles et éclairages multiples si vous entraînez un visage ou un objet
  • Pas de flou, pas de compression JPEG agressive
  • Supprimez le texte, les watermarks et les éléments distrayants

Utilisez un outil de recadrage intelligent comme Birme ou une action Photoshop pour standardiser les dimensions. Nommez vos fichiers de manière descriptive : portrait_jour_01.png, profil_nuit_03.png — ces noms n’influencent pas l’entraînement mais facilitent l’organisation.

Créer les fichiers de légende

Contrairement à un entraînement DreamBooth, l’embedding dans Automatic1111 n’exige pas obligatoirement des fichiers .txt de captioning. Cependant, pour un contrôle optimal, activez l’option “Use BLIP for caption” ou préparez manuellement des légendes. Structure recommandée :

Élément Exemple Utilité
Token déclencheur suzanne_style Mot unique à apprendre
Description visuelle woman with red hair, freckles Ancre le concept
Tags de style oil painting, impressionist Évite la fuite stylistique

Gardez vos légendes cohérentes. Si vous mentionnez “red hair” dans une image, ne l’omettez pas dans dix autres sans raison.

Lancer l’entraînement dans Automatic1111

Accédez à l’onglet Train, puis Create embedding. Remplissez les champs ainsi :

  • Embedding name : votre token unique, sans espaces, style monpersonnage
  • Initialization text : un concept proche du vôtre, par exemple person pour un visage
  • Number of vectors per token : 2 à 4 pour un visage simple, 8 à 12 pour un style complexe

Plus le nombre de vecteurs est élevé, plus l’embedding est expressif — mais plus il risque de surapprendre. Pour débuter, 4 vecteurs offrent un compromis optimal.

Dans l’onglet Train Embedding, configurez :

Paramètre Valeur recommandée Explication
Learning rate 0,005 puis 0,0005 Fort au départ, décroissant
Batch size 1 Stable avec 8-12 Go VRAM
Gradient steps 1 Mise à jour à chaque image
Epochs 100-300 À ajuster selon la perte
Save every N steps 500 Pour comparer les intermédiaires

Cliquez sur Train Embedding et surveillez la perte (loss) dans la console. Une valeur qui oscille entre 0,08 et 0,15 indique généralement un bon équilibre. Si elle chute brutalement sous 0,02, arrêtez : vous surapprenez.

Tester et itérer efficacement

Ne patientez pas la fin complète de l’entraînement. Générez des images de test toutes les 500-1000 étapes avec ce prompt :

portrait of monpersonnage, studio lighting, 8k uhd

Comparez visuellement les résultats. Les signes d’un embedding réussi :

  • Le visage ou l’objet reconnaissable apparaît dès le premier appel du token
  • Les variations d’angle et d’éclairage sont respectées
  • Aucune distorsion caractéristique (yeux fondus, doigts fusionnés sur un personnage)

Si le concept ne se dégage pas assez : augmentez légèrement le learning rate ou le nombre de vecteurs. Si l’image devient rigide et identique quel que soit le prompt : surapprentissage — réduisez les epochs ou diversifiez le dataset.

Polir l’embedding final

Une fois satisfait, placez le fichier .pt ou .safetensors dans embeddings/ de votre installation. Testez avec des prompts négatifs variés pour vérifier la robustesse. Vous pouvez fusionner plusieurs versions intermédiaires dans l’onglet Merge pour combiner leurs forces.

Pièges fréquents et solutions

Problème Cause probable Solution
Token ignoré, résultat générique Learning rate trop faible ou trop d’étapes Recommencez avec 0,01, moins d’epochs
Artifacts récurrents (même tache) Image du dataset présente dans toutes Retirez l’image problématique
Style parasite (toujours peinture) Dataset trop homogène stylistiquement Ajoutez des photos neutres
Fichier trop volumineux Trop de vecteurs par token Réduisez à 2-4, réentraînez

L’entraînement d’embeddings demande peu de ressources mais exige de la méthode. En respectant ces étapes — dataset soigné, hyperparamètres mesurés, tests fréquents — vous obtiendrez un token fiable en moins d’une heure de travail effectif. L’embedding reste la porte d’entrée idéale vers la personnalisation avancée de Stable Diffusion.