Réponse courte
Stable Diffusion est un modèle qui transforme une description écrite en image, et depuis hier, n’importe qui peut télécharger ses poids et son code. Être ouvert signifie que vous pouvez le faire tourner sur votre propre machine, l’étudier et bâtir dessus, au lieu de louer l’accès au service de quelqu’un d’autre.
Question de suivi Pouvez-vous faire tourner Stable Diffusion sur votre propre ordinateur?
Hier, le 22 août, Stability AI a annoncé la publication de Stable Diffusion, un générateur d’images qui n’était accessible qu’aux chercheurs depuis quelques semaines. Vous décrivez une image avec des mots, par exemple « une photographie d’un astronaute à cheval », et le modèle produit une image correspondante. Des outils qui font cela existent déjà, mais la plupart vivent sur les serveurs d’une entreprise, et on y accède par un site Web ou une application de clavardage. La nouveauté, ici, c’est que le fichier du modèle lui-même, les « poids » entraînés, est publié pour que n’importe qui puisse le télécharger.
Cette seule décision change qui peut utiliser cette technologie, et comment. Il vaut la peine de prendre le temps de voir ce qu’est le modèle et ce que veut dire « ouvert » dans ce cas.
Ce qu’est Stable Diffusion
Le modèle vient du groupe de recherche CompVis, avec une puissance de calcul fournie par Stability AI et le soutien de LAION, un groupe qui assemble de grands jeux de données d’images. Selon la page GitHub du projet, il a appris à partir d’images de 512 sur 512 pixels tirées d’une partie d’un grand jeu de données du Web appelé LAION-5B.
Techniquement, c’est un modèle de diffusion latente. « Diffusion » décrit son fonctionnement : pendant l’entraînement, le modèle voit des images progressivement enfouies sous du bruit aléatoire et apprend à inverser le processus, étape par étape, jusqu’à ce qu’une image nette apparaisse. « Latente » signifie qu’il fait ce travail sur une version compressée de l’image plutôt que sur chaque pixel, ce qui explique en bonne partie qu’il puisse fonctionner sur du matériel ordinaire. Pour suivre vos mots, il utilise un encodeur de texte appelé CLIP, qui transforme le prompt en nombres dont le modèle d’image peut se servir comme guide.
Le fichier README le qualifie de relativement léger : un réseau d’images d’environ 860 millions de paramètres, plus un encodeur de texte d’environ 123 millions.
Ce que veut dire « ouvert » ici
Stability AI a publié le modèle sous une licence appelée CreativeML OpenRAIL-M. Elle permet l’usage commercial comme non commercial, mais elle comporte une liste d’usages auxquels vous vous engagez à renoncer, et elle fait porter la responsabilité de l’usage légal et éthique à quiconque fait tourner le modèle. Toute personne qui redistribue le modèle doit transmettre la licence avec lui.
Ce n’est donc pas du « code source ouvert » au sens le plus strict du logiciel, puisqu’il y a des restrictions d’usage. Mais l’ouverture pratique est bien réelle :
| Service d’images hébergé | Stable Diffusion avec poids publics | |
|---|---|---|
| Où il tourne | Sur les serveurs de l’entreprise | Sur votre ordinateur ou le serveur de votre choix |
| Coût par image | Fixé par l’entreprise | Votre propre électricité et votre matériel |
| Pouvez-vous le modifier? | Non | Oui : le réentraîner, le combiner, bâtir des applications dessus |
| Règles de contenu | Le filtre de l’entreprise | Un vérificateur de sécurité que vous pouvez ajuster, plus la licence |
| Les chercheurs peuvent-ils l’examiner? | Rarement | Oui |
C’est important pour quelques raisons. Les artistes et les développeurs peuvent maintenant bâtir des outils autour du modèle sans demander de permission. Les chercheurs peuvent étudier directement son comportement et ses défauts. Et le coût pour essayer des idées tombe presque à zéro une fois qu’on a le matériel. La documentation du projet est franche sur le revers de la médaille : le modèle reflète les biais et les idées fausses de ses données d’entraînement, et les dispositifs de sécurité par défaut peuvent être modifiés par quiconque le fait tourner. La version de Stability AI comprend un classificateur de sécurité fondé sur l’IA, activé par défaut, et le script de référence ajoute un filigrane invisible pour que les images puissent être reconnues comme produites par une machine.
Écrire vos premiers prompts
Les prompts d’images fonctionnent mieux sous forme de descriptions courtes et concrètes : le sujet, le décor, le style et la lumière. Stable Diffusion a surtout appris à partir de légendes en anglais; comparez ces deux prompts (« une maison », puis « un petit chalet en bois rouge au bord d’un lac au lever du soleil, de la brume sur l’eau, des arbres d’automne, une douce lumière dorée, peinture à l’aquarelle ») :
a housea small red wooden cabin beside a lake at sunrise, mist on the water, autumn trees, soft golden light, watercolor paintingLe premier vous donne quelque chose de générique. Le second dit au modèle quoi dessiner, où, dans quel style et avec quelle ambiance, et chaque partie oriente le résultat.
À essayer : choisissez un sujet, comme « a lighthouse » (un phare), et écrivez trois prompts qui ne changent qu’une chose chaque fois : le moment de la journée, puis le style artistique, puis la météo. Générez chacun et notez quel mot a eu le plus d’effet.
Pouvez-vous faire tourner Stable Diffusion sur votre propre ordinateur?
Oui, si votre ordinateur a une carte graphique adéquate. Le README de CompVis indique que le modèle fonctionne sur un GPU (processeur graphique) doté d’au moins 10 Go de mémoire vidéo, et Stability AI précise que les poids publiés devraient utiliser environ 6,9 Go. Pour l’instant, les cartes NVIDIA sont le choix recommandé; Stability AI dit que des optimisations pour les puces AMD et pour les Mac M1 et M2 d’Apple s’en viennent, mais qu’elles ne font pas partie de cette version.
L’installation s’adresse aux personnes à l’aise avec la ligne de commande. Vous créez un environnement Python, téléchargez les poids à partir de la page de CompVis sur Hugging Face et lancez un script avec votre prompt. Par défaut, le script de référence produit des images de 512 sur 512 pixels en 50 étapes.
Si vous n’avez pas le matériel ou préférez ne rien installer, il existe aujourd’hui des voies plus simples. Stability AI signale une démo publique sur Hugging Face, un carnet (notebook) construit sur la bibliothèque diffusers de Hugging Face que vous pouvez exécuter dans le nuage, et sa propre application Web, DreamStudio. Ce sont de bons endroits pour apprendre comment se comportent les prompts avant de décider si une installation locale en vaut la peine. Beaucoup s’attendent à voir apparaître bientôt des installateurs plus simples, en un clic, maintenant que les poids sont publics.
Sources
- Stable Diffusion Public Release — Stability AI, 22 août 2022
- CompVis/stable-diffusion (README) — CompVis (LMU Munich) on GitHub, 22 août 2022