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