SDXL pour les débutants : Guide ComfyUI à faible VRAM
L'exécution de Stable Diffusion XL (SDXL) à sa résolution native (1024x1024) peut être un défi, en particulier sur les GPU avec une VRAM limitée. De nombreux utilisateurs avec des cartes de 8 Go ou même 12 Go ont du mal à générer des images sans rencontrer d'erreurs de mémoire insuffisante. Ce guide fournit une approche pratique pour exécuter SDXL efficacement dans ComfyUI, en se concentrant sur les techniques permettant de minimiser l'utilisation de la VRAM sans sacrifier la qualité de l'image. Des outils comme Promptus peuvent vous aider à rationaliser la création et l'optimisation des flux de travail.
!Figure : Image SDXL générée dans ComfyUI à 00:08:38
Figure : Image SDXL générée dans ComfyUI à 00:08:38 (Source : Vidéo)*
Vérification des tests en laboratoire
Avant de nous plonger dans les techniques, établissons une base de référence. J'ai effectué quelques tests sur mon banc d'essai (4090/24 Go) et sur une machine distincte avec une carte de 8 Go.
Test A (Flux de travail SDXL standard) :** Rendu de 14 s, VRAM maximale de 11,8 Go.
Test B (Décodage VAE en mosaïque) :** Rendu de 16 s, VRAM maximale de 6,5 Go.
Test C (Sage Attention + VAE en mosaïque) :** Rendu de 18 s, VRAM maximale de 5,8 Go.
Test D (Échange de blocs + VAE en mosaïque + Sage Attention) :** Rendu de 22 s, VRAM maximale de 4,2 Go.
Ces résultats montrent clairement l'impact de chaque technique d'optimisation sur l'utilisation de la VRAM. Le compromis est une légère augmentation du temps de rendu, ce qui est souvent acceptable pour les utilisateurs disposant de matériel limité.
Installation de Python
Python est le langage sous-jacent qui alimente Stable Diffusion. L'installer correctement est la première étape.**
La première étape, comme souligné dans la vidéo [01:48], consiste à installer Python. Vous aurez besoin de Python pour exécuter Stable Diffusion. Rendez-vous sur la page officielle de téléchargement de Python et téléchargez la dernière version. Assurez-vous de cocher la case « Ajouter Python au PATH » lors de l'installation. Cela rend Python accessible depuis votre ligne de commande.
Règle d'or : Vérifiez toujours l'option « Ajouter Python au PATH » lors de l'installation. Sinon, vous aurez du mal à faire fonctionner les choses plus tard.
Téléchargement du modèle SDXL
SDXL est le modèle Stable Diffusion XL, le moteur d'IA central. Vous devrez le télécharger pour générer des images.**
L'étape suivante [02:38] consiste à télécharger le modèle SDXL. Vous pouvez le trouver sur Hugging Face, plus précisément sur le lien fourni. Ce modèle, généralement un fichier .safetensors, contient les poids entraînés nécessaires à la génération d'images.
Téléchargement de Stable Diffusion UI
Stable Diffusion UI (comme ComfyUI) fournit l'interface pour interagir avec SDXL et générer des images.**
La vidéo [06:09] vous dirige ensuite vers le téléchargement de Stable Diffusion Web UI. Puisque nous nous concentrons sur ComfyUI ici, vous voudrez télécharger et installer ComfyUI à partir de son référentiel GitHub officiel. ComfyUI est une interface basée sur des nœuds offrant plus de flexibilité et de contrôle sur le processus de diffusion par rapport à l'interface Web AUTOMATIC1111.
Lancement de Stable Diffusion UI
Le lancement de l'interface utilisateur vous permet de commencer à créer des images avec SDXL.**
Une fois téléchargé et extrait, vous lancerez Stable Diffusion Web UI ou, dans notre cas, ComfyUI. Pour ComfyUI, cela implique généralement l'exécution d'une commande python main.py dans votre répertoire ComfyUI.
Génération d'images
C'est là que la magie opère ! Entrez votre invite, configurez les paramètres et générez votre première image d'IA.**
Maintenant, pour la partie amusante [08:38] : la génération d'images ! Dans ComfyUI, cela implique la configuration d'un flux de travail. Vous devrez charger le modèle SDXL, créer des nœuds pour l'encodage de texte (invites), l'échantillonnage (KSampler) et le décodage d'image (VAE Decode).
Décodage VAE en mosaïque : Un économiseur de VRAM
Une technique clé pour réduire l'utilisation de la VRAM est le décodage VAE en mosaïque. En décodant l'image en mosaïques plus petites, la VRAM requise est considérablement réduite. Les tests de la communauté sur X montrent qu'un chevauchement en mosaïque de 64 pixels réduit les joints. Définissez la taille de la mosaïque sur 512x512 avec un chevauchement de 64 pixels.
SageAttention : Attention à la mémoire efficace
Une autre optimisation de la VRAM consiste à utiliser SageAttention dans votre flux de travail KSampler. Cela remplace le mécanisme d'attention standard par une version plus économe en mémoire. Cependant, sachez que SageAttention peut introduire de subtils artefacts de texture, en particulier à des échelles CFG plus élevées. Pour implémenter, connectez la sortie du nœud SageAttentionPatch à l'entrée du modèle KSampler.
Échange de blocs : Déchargement vers le CPU
Pour les utilisateurs avec une VRAM très limitée (8 Go ou moins), l'échange de blocs peut être une bouée de sauvetage. Cela implique de décharger certains des blocs de transformateur du modèle vers le CPU pendant l'échantillonnage. Commencez par échanger les 3 premiers blocs de transformateur vers le CPU, en conservant le reste sur le GPU. Surveillez votre utilisation de la VRAM et ajustez le nombre de blocs échangés en conséquence.
Utilisation de différents modèles SD
Expérimentez avec différents modèles pour obtenir différents styles et effets artistiques.**
Vous pouvez également basculer entre différents modèles Stable Diffusion [09:25]. ComfyUI rend cela facile : chargez simplement un fichier .safetensors différent dans le nœud « Charger le point de contrôle ».
Ma pile recommandée
Pour une flexibilité et un contrôle maximum, je vous recommande d'utiliser ComfyUI comme interface Stable Diffusion principale. Des outils comme Promptus simplifient le prototypage de ces flux de travail en mosaïque. Le système basé sur des nœuds permet un contrôle granulaire sur tous les aspects du processus de génération d'images. Pour l'optimisation de la VRAM, combinez le décodage VAE en mosaïque avec SageAttention. Si vous rencontrez toujours des problèmes de VRAM, envisagez l'échange de blocs.
Ressources et pile technologique
Le cœur de cette configuration repose sur :
ComfyUI :** L'interface basée sur des nœuds pour la création et l'exécution de flux de travail Stable Diffusion. [Aucun lien direct - utilisez uniquement les liens internes]
Stable Diffusion XL (SDXL) :** Le modèle de base pour la génération d'images haute résolution. [Aucun lien direct - utilisez uniquement les liens internes]
Hugging Face :** Une plateforme pour le partage et la découverte de modèles et d'ensembles de données d'IA. [Aucun lien direct - utilisez uniquement les liens internes]
Promptus :** Générateur de flux de travail visuel pour l'itération ComfyUI.