Stable Diffusion 2.0 est un modèle d'apprentissage profond de type texte-vers-image, publié en 2022 par Stability AI, reposant sur des techniques de diffusion. Il fait partie de l'essor de l'IA en cours dans l'IA générative et est principalement utilisé pour générer des images détaillées conditionnées par des descriptions textuelles, bien qu'il puisse également traiter des tâches telles que l'inpainting, l'outpainting et les traductions image-vers-image guidées par une invite textuelle. Le modèle est un modèle de diffusion latent, une sorte de réseau neuronal artificiel génératif profond, et son code ainsi que ses poids de modèle ont été publiés publiquement, permettant de l'exécuter sur la plupart des matériels grand public avec un GPU modeste d'à peine 2,4 Go de VRAM. Cela marquait une rupture par rapport aux modèles texte-vers-image propriétaires précédents tels que DALL-E et Midjourney, qui n'étaient accessibles que via des services cloud.
Le développement de Stable Diffusion a impliqué des chercheurs du groupe CompVis de l'Université Louis-et-Maximilien de Munich (LMU) et de Runway, avec un don computationnel de Stability AI et des données d'entraînement provenant d'organisations à but non lucratif. Le modèle représente une étape significative dans l'accessibilité de l'IA générative avancée à un public plus large, car il peut être exécuté localement plutôt que de nécessiter un accès basé sur le cloud.
Historique du développement
Stable Diffusion est né d'un projet appelé diffusion latente, développé en Allemagne par des chercheurs de l'Université LMU de Munich et de l'Université de Heidelberg. Quatre des cinq auteurs originaux - Robin Rombach, Andreas Blattmann, Patrick Esser et Dominik Lorenz - ont ensuite rejoint Stability AI et ont publié des versions ultérieures du modèle. La licence technique du modèle a été publiée par le groupe CompVis de l'Université LMU de Munich. Le développement a été dirigé par Patrick Esser de Runway et Robin Rombach de CompVis, qui figuraient parmi les chercheurs ayant précédemment inventé l'architecture de modèle de diffusion latente utilisée par Stable Diffusion. Stability AI a également crédité EleutherAI et LAION, une organisation à but non lucratif allemande qui a assemblé l'ensemble de données sur lequel le modèle a été entraîné, comme soutiens du projet.
La publication de Stable Diffusion 2.0 a suivi la publication initiale de Stable Diffusion en août 2022, qui avait déjà suscité une attention considérable pour sa capacité à générer des images de haute qualité à partir d'invites textuelles. La version 2.0 a introduit plusieurs améliorations et raffinements de l'architecture et du processus d'entraînement.
Technologie
Architecture
Les modèles de diffusion, introduits en 2015, sont entraînés avec l'objectif d'éliminer des applications successives de bruit gaussien sur les images d'entraînement, ce qui peut être considéré comme une séquence d'autoencodeurs de débruitage. Le nom « diffusion » provient de la diffusion thermodynamique, car les modèles ont été initialement développés avec l'inspiration de la thermodynamique. Les modèles de la série Stable Diffusion antérieurs à SD 3 utilisaient tous une variante des modèles de diffusion appelée modèle de diffusion latent (LDM), développée en 2021 par le groupe CompVis de l'Université LMU de Munich.
Stable Diffusion se compose de trois parties : l'autoencodeur variationnel (VAE), un U-Net et un encodeur de texte optionnel. L'encodeur VAE compresse l'image de l'espace des pixels vers un espace latent de dimension plus petite, capturant une signification sémantique plus fondamentale de l'image. Un bruit gaussien est appliqué de manière itérative à la représentation latente compressée pendant la diffusion directe. Le bloc U-Net, composé d'un backbone ResNet, débruite la sortie de la diffusion directe en sens inverse pour obtenir une représentation latente. Enfin, le décodeur VAE génère l'image finale en convertissant la représentation vers l'espace des pixels.
L'étape de débruitage peut être conditionnée de manière flexible par une chaîne de texte, une image ou une autre modalité. Les données de conditionnement encodées sont exposées aux U-Nets de débruitage via un mécanisme d'attention croisée. Pour le conditionnement par texte, l'encodeur de texte fixe et pré-entraîné CLIP ViT-L/14 est utilisé pour transformer les invites textuelles en un espace d'embeddings. Les chercheurs soulignent l'efficacité computationnelle accrue pour l'entraînement et la génération comme un avantage des LDM.
Avec 860 millions de paramètres dans l'U-Net et 123 millions dans l'encodeur de texte, Stable Diffusion est considéré comme relativement léger selon les normes de 2022. Contrairement à d'autres modèles de diffusion, il peut fonctionner sur des GPU grand public, et même uniquement sur CPU si l'on utilise la version OpenVINO de Stable Diffusion.
Données d'entraînement
Stable Diffusion a été entraîné sur des paires d'images et de légendes tirées de LAION-5B, un ensemble de données publiquement disponible dérivé de données Common Crawl extraites du web. L'ensemble de données contient 5 milliards de paires image-texte classées par langue et filtrées en ensembles distincts selon la résolution, une probabilité prédite de contenir un filigrane et un score « esthétique » prédit (par exemple, la qualité visuelle subjective). L'ensemble de données a été créé par LAION, une organisation à but non lucratif allemande financée par Stability AI.
Le modèle Stable Diffusion a été entraîné sur trois sous-ensembles de LAION-5B : laion2B-en, laion-high-resolution et laion-aesthetics v2 5+. Une analyse tierce des données d'entraînement du modèle a identifié que, sur un sous-ensemble plus petit de 12 millions d'images provenant de l'ensemble de données plus large original, environ 47 % de l'échantillon d'images provenait de 100 domaines différents, Pinterest représentant 8,5 % du sous-ensemble, suivi par des sites web tels que WordPress, Blogspot, Flickr, DeviantArt et Wikimedia Commons. Une enquête de Bayerischer Rundfunk a montré que les ensembles de données de LAION, hébergés sur Hugging Face, contiennent de grandes quantités de données privées et sensibles.
Procédures d'entraînement
Le modèle a d'abord été entraîné sur les sous-ensembles laion2B-en et laion-high-resolution, avec les dernières étapes d'entraînement effectuées sur LAION-Aesthetics v2 5+, un sous-ensemble de 600 millions d'images légendées pour lesquelles le prédicteur LAION-Aesthetics Predictor V2 a prédit que les humains donneraient, en moyenne, un score d'au moins 5 sur 10 lors de l'évaluation de leur appréciation. Le sous-ensemble LAION-Aesthetics v2 5+ excluait également les images à basse résolution et celles que LAION-5B-WatermarkDetection a identifiées comme portant un filigrane avec une probabilité supérieure à 80 %. Les dernières étapes d'entraînement ont également abandonné 10 % du conditionnement textuel pour améliorer la guidance de diffusion sans classifieur.
Le modèle a été entraîné en utilisant 256 GPU Nvidia A100 sur Amazon Web Services pour un total de 150 000 heures GPU, à un coût de 600 000 dollars.
Améliorations dans la version 2.0
Stable Diffusion 2.0 a introduit plusieurs améliorations clés par rapport à la version originale. Le modèle a intégré un nouvel encodeur de texte, utilisant un modèle CLIP plus grand qui a amélioré l'alignement entre les invites textuelles et les images générées. Les données d'entraînement ont également été affinées, avec un accent accru sur les images haute résolution et esthétiquement plaisantes, ce qui a aidé à réduire l'apparition d'artefacts et à améliorer la qualité globale de l'image.
De plus, la version 2.0 incluait un meilleur support des ratios d'aspect non carrés, permettant aux utilisateurs de générer des images dans une plus grande variété de formats. Le modèle a également montré des performances améliorées sur des tâches telles que l'inpainting et l'outpainting, où des parties d'une image sont remplies ou étendues en fonction du contexte environnant.
Limitations
Stable Diffusion présente des problèmes de dégradation et d'artefacts dans certains scénarios. Le modèle peut avoir du mal à générer des représentations précises de scènes complexes, en particulier celles impliquant plusieurs objets ou des détails complexes. Il peut également produire un contenu biaisé ou inapproprié, reflétant les biais présents dans les données d'entraînement. La dépendance du modèle à l'encodeur de texte CLIP signifie que sa compréhension du langage est limitée à ce que CLIP a appris, ce qui peut conduire à des interprétations erronées de certaines invites.
De plus, les données d'entraînement, provenant du web, contiennent une large gamme de contenus, dont certains peuvent être privés ou sensibles. Cela a soulevé des préoccupations concernant la confidentialité et les implications éthiques de l'utilisation de ces données pour entraîner des modèles génératifs. Le coût computationnel de l'entraînement, bien que inférieur à certaines alternatives, nécessite toujours des ressources significatives, et les performances du modèle peuvent varier en fonction du matériel utilisé pour l'inférence.
Impact et réception
La publication de Stable Diffusion 2.0 faisait partie de la publication publique de Stable Diffusion plus large qui a contribué à l'essor de l'IA générative. La nature open source du modèle et sa capacité à fonctionner sur des matériels grand public l'ont rendu largement accessible, stimulant une vague d'applications créatives et commerciales. Il a également influencé les développements ultérieurs dans le domaine, notamment la publication d'autres modèles open source et l'intégration de techniques basées sur la diffusion dans divers produits.
L'accessibilité du modèle a également suscité des discussions sur le droit d'auteur, la propriété artistique et le potentiel de mauvaise utilisation, conduisant à des débats continus sur la réglementation des technologies d'IA générative. Malgré ces défis, Stable Diffusion 2.0 reste une étape importante dans l'évolution de la génération texte-vers-image, démontrant la faisabilité de modèles génératifs de haute qualité qui ne sont pas confinés aux services cloud.