Accéder au contenu principal

Comment gérer la diffusion stable : Un guide pas à pas

Apprenez à utiliser Stable Diffusion, un modèle d'apprentissage profond open-source avancé qui génère des images de haute qualité à partir de descriptions textuelles. Ce tutoriel couvre les bases du fonctionnement du modèle et les instructions étape par étape pour exécuter Stable Diffusion en ligne et localement.
Actualisé 4 oct. 2024  · 12 min de lecture

En collaboration avec plusieurs chercheurs universitaires et organisations à but non lucratif, Stability AI, une startup fondée en 2019, a développé le modèle Stable Diffusion, qui a été publié pour la première fois en 2022.

Stable Diffusion est un modèle d'apprentissage profond open-source conçu pour générer des images détaillées de haute qualité à partir de descriptions textuelles. Il peut également modifier des images existantes ou améliorer des images à faible résolution à l'aide d'entrées textuelles. Le modèle n'a cessé d'évoluer, les dernières avancées améliorant ses performances et ses capacités.

Dans cet article, nous étudierons le fonctionnement de la diffusion stable et les différentes méthodes pour la mettre en œuvre.

Qu'est-ce que la diffusion stable ?

Stable Diffusion est un modèle d'apprentissage profond avancé et open-source développé par Stability AI. Lancé en 2022, il excelle dans la génération d'images détaillées de haute qualité à partir de descriptions textuelles. Ce modèle polyvalent peut modifier des images existantes ou améliorer des images à faible résolution à l'aide de textes.

Formé initialement sur un vaste ensemble de données de 2,3 milliards d'images, Stable Diffusion s'appuie sur les principes de la modélisation générative et des processus de diffusion. Cela lui permet de créer de nouvelles images réalistes en apprenant des modèles et des structures à partir des données d'apprentissage. Ses capacités sont comparables à celles d'autres modèles de pointe, ce qui en fait un outil puissant pour un large éventail d'applications dans le domaine de la génération et de la manipulation d'images.

En février 2024, Stability AI a annoncé Stable Diffusion 3 en avant-première, présentant des performances considérablement améliorées, notamment en ce qui concerne la gestion des invites multi-sujets, la qualité des images et l'orthographe. La suite Stable Diffusion 3 comprend de 800 millions à 8 milliards de paramètres, mettant l'accent sur l'évolutivité et la qualité pour répondre aux différents besoins créatifs. En juin 2024, la sortie de Stable Diffusion 3 Medium, un modèle à 2 milliards de paramètres, a marqué une avancée significative, offrant des détails, des couleurs et un photoréalisme exceptionnels tout en fonctionnant efficacement sur des GPU grand public standard.

Stable Diffusion 3 intègre une nouvelle architecture de transformateur de diffusion multimodale (MMDiT), qui utilise des ensembles de poids distincts pour les représentations d'images et de langues. Cette innovation améliore la compréhension du texte et les capacités d'orthographe par rapport aux versions précédentes du modèle. D'après les évaluations des préférences humaines, Stable Diffusion 3 surpasse d' autres systèmes de génération de texte à partir d'images tels que DALL-E 3, Midjourney v6 et Ideogram v1 en termes de typographie et de respect des consignes.

Stability AI a publié un document de recherche complet détaillant la technologie sous-jacente de Stable Diffusion 3, mettant en évidence ses avancées et ses performances supérieures. Ces améliorations font de Stable Diffusion 3 un outil puissant pour générer des images de haute qualité à partir de descriptions textuelles, avec des améliorations notables dans la gestion de messages complexes et la production de résultats réalistes.

Comment fonctionne la diffusion stable ?

Stable Diffusion est un exemple sophistiqué d'une classe de modèles d'apprentissage profond connus sous le nom de modèles de diffusion. Plus précisément, il entre dans la catégorie des modèles génératifs. Ces modèles sont conçus pour générer de nouvelles données similaires à celles sur lesquelles ils ont été formés, ce qui leur permet de créer de nouveaux résultats réalistes basés sur les modèles et structures appris.

Les modèles de diffusion s'inspirent du concept de diffusion en physique, selon lequel les particules se propagent des zones de forte concentration vers les zones de faible concentration au fil du temps. Dans le contexte de l'apprentissage profond, les modèles de diffusion simulent ce processus dans un espace de données à haute dimension. Le modèle part d'un bruit aléatoire et l'affine de manière itérative à travers une série d'étapes pour générer des images cohérentes et de haute qualité.

La modélisation générative, un type d'apprentissage non supervisé, implique la formation de modèles pour découvrir et apprendre automatiquement les modèles dans les données d'entrée. Une fois formés, ces modèles peuvent générer de nouveaux exemples qui ressemblent aux données d'origine. Cette capacité rend les modèles génératifs particulièrement utiles pour des tâches telles que la synthèse d'images, l'augmentation des données, etc.

Si vous souhaitez en savoir plus sur ces modèles, vous pouvez suivre notre cours Deep Learning in Python

Le processus de diffusion

Le processus de diffusion dans la diffusion stable comprend deux phases principales : le processus de diffusion vers l'avant et le processus de débruitage vers l'arrière.

1. Processus de diffusion vers l'avant:

Cette phase consiste à ajouter progressivement du bruit aux données d'apprentissage (images) sur plusieurs étapes jusqu'à ce que les images deviennent du bruit pur. Ce processus est mathématiquement conçu pour être réversible.

2. Processus de débruitage inverse:

Au cours de cette phase, le modèle apprend à inverser le processus d'ajout de bruit. Partant d'un bruit aléatoire, le modèle dénature l'image de manière itérative en plusieurs étapes, reconstruisant progressivement une image cohérente et de haute qualité. Ce processus inverse est guidé par les modèles et les structures appris à partir des données de formation.

Architecture du transformateur de diffusion multimodale (MMDiT)

Stable Diffusion 3 introduit une nouvelle architecture connue sous le nom de Multimodal Diffusion Transformer (MMDiT). Cette architecture utilise des ensembles de poids distincts pour les représentations d'images et de langues, ce qui améliore la capacité du modèle à comprendre et à générer des invites textuelles. En utilisant des voies distinctes pour le traitement des images et des informations textuelles, MMDiT améliore la cohérence et la précision des images générées, en particulier lors de la gestion de messages et de typographies complexes.

Diffusion stable Applications pratiques

La diffusion stable peut être utilisée pour une variété d'applications pratiques, y compris :

  • Génération d'images: Créer de nouvelles images à partir de descriptions textuelles.
  • Modification de l'image: Modification d'images existantes sur la base d'invites textuelles.
  • Amélioration de l'image: Améliorer la qualité des images à faible résolution.

Ces capacités font de Stable Diffusion un outil puissant pour les artistes, les concepteurs, les chercheurs et toute personne intéressée par l'exploration du potentiel de l'IA générative.

L'amélioration de l'IA pour les débutants

Apprenez les bases de l'IA et du ChatGPT en partant de zéro.
Apprendre l'IA Gratuitement

Comment faire fonctionner la diffusion stable en ligne

Si vous souhaitez commencer à utiliser le modèle de diffusion stable immédiatement, vous pouvez l'exécuter en ligne à l'aide des outils suivants.

1. DreamStudio

Stability AI, les créateurs de Stable Diffusion, ont rendu extrêmement simple pour les curieux de tester leur modèle de conversion de texte en image avec leur outil en ligne, DreamStudio.

DreamStudio donne aux utilisateurs l'accès à la dernière version des modèles de diffusion stable et leur permet de générer une image en 15 secondes.

DreamStudio UI

Interface utilisateur de DreamStudio. Source de l'image : DreamStudio.

Lors de la rédaction de ce tutoriel, les nouveaux utilisateurs reçoivent 100 crédits gratuits pour essayer DreamStudio, ce qui est suffisant pour 500 images en utilisant les paramètres par défaut ! Des crédits supplémentaires peuvent être achetés dans l'application à votre convenance, pour seulement 10,00 $ par 1000 crédits.

2. Visage étreint

Hugging Face est une communauté et une plateforme d'IA qui encourage les contributions à code source ouvert. Bien qu'il soit reconnu pour ses modèles de transformateurs, Hugging Face permet également d'accéder au dernier modèle de diffusion Stable, et comme un véritable amoureux des logiciels libres, il est gratuit.

Pour utiliser la diffusion stable dans Hugging Face, vous pouvez essayer l'une des démos, comme la démo Stable Diffusion 2.1.

La contrepartie de Hugging Face est que vous ne pouvez pas personnaliser les propriétés comme vous pouvez le faire dans DreamStudio, et que la génération d'une image prend sensiblement plus de temps.

Diffusion stable de l'étreinte du visage

Démonstration de diffusion stable dans un visage étreint. Image de l'auteur.

Comment faire fonctionner localement la diffusion stable

Mais que faire si vous souhaitez expérimenter la diffusion stable sur votre ordinateur local ? Nous avons tout ce qu'il vous faut.

L'exécution locale de la diffusion stable vous permet d'expérimenter différentes entrées de texte afin de générer des images mieux adaptées à vos besoins. Vous pouvez également affiner le modèle sur vos données afin d'améliorer les résultats, compte tenu des données que vous fournissez.

Avis de non-responsabilité : Vous devez disposer d'un GPU pour exécuter Stable Diffusion localement.

Étape 1 : Installer Python et Git

Pour exécuter Stable Diffusion à partir de votre ordinateur local, vous aurez besoin de Python 3.10.6. Vous pouvez l'installer à partir du site officiel de Python. Si vous êtes bloqué, consultez notre tutoriel Comment installer Python.

Vérifiez que l'installation s'est déroulée correctement en ouvrant l'invite de commande, en tapant python et en exécutant la commande. Ceci devrait afficher la version de Python que vous utilisez.

Avis de non-responsabilité : La version recommandée pour faire fonctionner Stable Diffusion est Python 3.10.6. Nous vous recommandons de ne pas procéder sans cette version afin d'éviter tout problème.

Ensuite, vous devez installer le système de gestion de référentiel de code Git. Le tutoriel d'installation de Git peut vous aider, et notre cours d'introduction à Git peut approfondir vos connaissances de Git.

Étape 2 : Créez un compte GitHub et Hugging Face

GitHub est un service d'hébergement de logiciels où les développeurs hébergent leur code afin de pouvoir suivre et collaborer avec d'autres développeurs sur des projets. Si vous n'avez pas de compte Github, c'est aussi le moment d'en créer un - consultez Github et Git Tutorial for Beginners pour obtenir de l'aide.

Hugging Face, quant à lui, est une communauté d'IA qui prône les contributions à code source ouvert. C'est la plaque tournante de plusieurs modèles d'intelligence artificielle dans divers domaines, notamment le traitement du langage naturel, la vision par ordinateur, etc. Vous aurez besoin d'un compte pour télécharger la dernière version de Stable Diffusion. Nous reviendrons sur cette étape ultérieurement.

Étape 3 : Clone Stable Diffusion Web-UI

Au cours de cette étape, vous allez télécharger l'interface Web de diffusion stable sur votre ordinateur local. Bien qu'il soit utile de créer un dossier dédié (par exemple, stable-diffusion-demo-project) à cette fin, ce n'est pas obligatoire.

1. Ouvrez Git Bash:

  • Assurez-vous que Git Bash est installé sur votre ordinateur.

2. Naviguez jusqu'au dossier de votre choix:

  • Ouvrez Git Bash et utilisez la commande cd pour naviguer jusqu'au dossier où vous souhaitez cloner la Web-UI de Stable Diffusion. Par exemple :
cd path/to/your/folder

3. Clonez le dépôt:

  • Exécutez la commande suivante pour cloner le référentiel Web-UI de Stable Diffusion :
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

4. Vérifiez le clone:

  • Si la commande s'exécute correctement, vous devriez voir apparaître un nouveau dossier nommé stable-diffusion-webui dans le répertoire que vous avez choisi.

Installer une diffusion stable

Note : Vous trouverez des instructions plus spécifiques pour votre matériel et votre système d'exploitation dans le dépôt Github de l'interface web Stable Diffusion.

Étape 4 : Téléchargez la dernière version du modèle de diffusion stable

1. Connectez-vous à Hugging Face:

2. Téléchargez le modèle de diffusion stable:

3. Localisez le dossier du modèle:

  • Accédez au dossier suivant sur votre ordinateur : stable-diffusion-webui\models\Stable-diffusion

4. Déplacez le modèle téléchargé:

  • Dans le dossier Stable-diffusion, vous trouverez un fichier texte nommé Put Stable Diffusion Checkpoints here.
  • Déplacez le fichier du modèle de diffusion stable téléchargé dans ce dossier.

Étape 5 : Configuration de l'interface web de diffusion stable

Dans cette étape, vous installerez les outils nécessaires à l'exécution de Stable Diffusion.

1. Ouvrez l'invite de commande ou le terminal.

2. Naviguez jusqu'au dossier de l'interface web de Stable Diffusion:

  • Utilisez la commande cd pour accéder au dossier stable-diffusion-webui que vous avez cloné précédemment. Par exemple :
cd path/to/stable-diffusion-webui

3. Exécutez le script d'installation:

  • Une fois que vous êtes dans le dossier stable-diffusion-webui, exécutez la commande suivante :
webui-user.bat

Ce script va créer un environnement virtuel et installer toutes les dépendances nécessaires à l'exécution de Stable Diffusion. Le processus peut prendre environ 10 minutes, soyez patient.

Note : Vous trouverez des instructions plus spécifiques pour votre matériel et votre système d'exploitation dans le dépôt Github de l'interface web Stable Diffusion.

Étape 6 : Exécuter localement la diffusion stable

Une fois les dépendances installées, une URL apparaîtra dans votre invite de commande : http://127.0.0.1:7860.

  • Copiez et collez ceci dans votre navigateur web pour lancer l'interface web de Stable Diffusion.
  • Vous pouvez maintenant commencer à lancer des invites et à générer des images !

Tableau de bord de diffusion stable

L'interface web de Diffusion est stable et fonctionne localement. Image de l'auteur.

Conclusion

La diffusion stable représente une avancée significative dans le domaine de l'IA générative. Il permet de générer des images détaillées de haute qualité à partir de descriptions textuelles. Que vous cherchiez à modifier des images existantes, à améliorer des images basse résolution ou à créer des visuels entièrement nouveaux, Stable Diffusion vous offre un ensemble d'outils puissants et polyvalents.

Avec les récentes mises à jour et améliorations de Stable Diffusion 3 et Medium, les capacités du modèle ont encore été renforcées, ce qui en fait un leader dans le domaine de l'IA générative.

L'utilisation de Stable Diffusion au niveau local ou par le biais de diverses plateformes en ligne telles que DreamStudio et Hugging Face vous permet d'explorer et de tirer parti de tout son potentiel. En suivant les étapes décrites dans ce guide, vous pourrez mettre en place et commencer à utiliser la diffusion stable pour répondre à vos besoins créatifs et pratiques !

En savoir plus sur l'IA générative

L'IA générative est un mode révolutionnaire d'apprentissage profond qui crée des textes, des images et d'autres contenus de haute qualité à partir des données sur lesquelles elle a été formée. Des outils comme Stable Diffusion, ChatGPT et DALL-E sont d'excellents exemples de la façon dont l'IA générative transforme diverses industries en permettant de nouvelles formes de créativité et d'innovation. Au fur et à mesure que ces technologies évoluent, elles offrent aux artistes, aux développeurs et aux chercheurs de nouvelles possibilités de repousser les limites du possible.

Pour ceux qui souhaitent plonger plus profondément dans le monde de l'IA générative, voici quelques ressources à explorer :

Obtenez une certification de haut niveau en matière d'IA

Démontrez que vous pouvez utiliser l'IA de manière efficace et responsable.

FAQ

Puis-je utiliser Stable Diffusion sur un ordinateur sans GPU dédié ?

L'exécution de Stable Diffusion nécessite une puissance de calcul importante, généralement fournie par un GPU dédié. Bien qu'il soit théoriquement possible de l'exécuter sur une unité centrale, le processus serait extrêmement lent et inefficace. Pour une expérience optimale, il est recommandé d'utiliser une machine avec un GPU puissant disposant d'au moins 6 Go de VRAM.

Comment puis-je affiner la diffusion stable avec mon propre ensemble de données ?

Le réglage fin de la diffusion stable consiste à réentraîner le modèle sur votre ensemble de données spécifique afin d'améliorer ses performances pour votre cas d'utilisation. Ce processus nécessite une bonne compréhension de l'apprentissage automatique et l'accès à un environnement informatique approprié. En général, vous devrez préparer votre ensemble de données, modifier les scripts d'apprentissage pour inclure vos données, puis exécuter le processus d'apprentissage à l'aide d'un puissant GPU. Vous trouverez souvent des instructions détaillées sur la mise au point des modèles dans la documentation des cadres d'apprentissage automatique tels que PyTorch.

Consultez notre tutoriel, Ajuster la diffusion stable XL avec DreamBooth et LoRA, pour plus d'informations.

Quels sont les problèmes courants que je peux rencontrer lorsque je fais fonctionner Stable Diffusion localement, et comment puis-je les résoudre ?

Les problèmes les plus fréquents sont les suivants :

  • Erreurs d'installation: Assurez-vous que toutes les dépendances sont correctement installées et compatibles avec votre système.
  • Erreurs de mémoire: Réduisez la taille de l'image ou du lot si votre GPU ne dispose pas de suffisamment de VRAM.
  • Lenteur des performances: Vérifiez que les pilotes de votre GPU sont à jour et que votre système n'exécute pas d'autres processus intensifs.

Consultez la page des problèmes du dépôt GitHub et les forums de la communauté pour obtenir des conseils et des solutions de dépannage spécifiques.

Comment puis-je optimiser les performances de Stable Diffusion sur mon GPU ?

Pour optimiser les performances de Stable Diffusion sur votre GPU :

  • Mettez à jour les pilotes : Assurez-vous que les pilotes de votre GPU sont à jour.
  • Ajustez les paramètres : Réduisez la résolution de l'image ou la taille du lot pour respecter les limites de VRAM de votre GPU.
  • Utilisez des bibliothèques optimisées : Utilisez des bibliothèques et des cadres optimisés tels que CUDA et cuDNN pour les GPU NVIDIA.
  • Fermez les processus en arrière-plan : Libérez les ressources du système en fermant les processus d'arrière-plan inutiles.
  • Contrôler les performances : Utilisez des outils de surveillance pour suivre l'utilisation du GPU et ajustez les paramètres en conséquence pour obtenir des performances optimales.

Puis-je utiliser Stable Diffusion pour générer des animations ou des vidéos ?

Bien que la diffusion stable soit principalement conçue pour générer des images fixes, il est possible de créer des animations ou des vidéos en générant une séquence d'images et en les combinant. Cela peut se faire de la manière suivante :

  • Génération image par image : Créez des images individuelles en variant légèrement l'invite d'entrée ou la graine pour chaque image.
  • Interpolation : Utilisez des techniques d'interpolation entre les images clés générées par la diffusion stable.
  • Logiciel d'édition vidéo : Combinez les images à l'aide d'un logiciel de montage vidéo pour produire des animations ou des vidéos fluides. Notez que la création d'animations de haute qualité peut nécessiter un post-traitement important et des compétences en matière de montage vidéo.

Kurtis Pykes 's photo
Author
Kurtis Pykes
LinkedIn
Sujets

Apprenez-en plus sur l'IA générative et l'apprentissage profond avec ces cours !

Certification disponible

cours

Concepts d'IA générative

2 hr
35.5K
Découvrez comment commencer à exploiter l'IA générative de manière responsable. Découvrez comment les modèles d'IA générative sont développés et quel sera leur impact sur la société à l'avenir.
Afficher les détailsRight Arrow
Commencer Le Cours
Voir plusRight Arrow