Stable Diffusion é um modelo de aprendizado profundo, de texto para imagem, lançado em 2022, baseado em técnicas de difusão. A tecnologia de IA generativa é o principal produto da Stability AI e é considerada parte do atual boom da IA. É usado principalmente para gerar imagens detalhadas condicionadas a descrições de texto, embora também possa ser aplicado a outras tarefas, como preenchimento de áreas (inpainting), expansão de bordas (outpainting) e geração de traduções de imagem para imagem guiadas por um prompt de texto. Seu desenvolvimento envolveu pesquisadores do Grupo CompVis da LMU de Munique e da Runway, com uma doação computacional da Stability e dados de treinamento de organizações sem fins lucrativos.
Stable Diffusion é um modelo de difusão latente, um tipo de rede neural artificial generativa profunda. Seu código e pesos do modelo foram disponibilizados publicamente, e uma versão otimizada pode ser executada na maioria dos hardwares de consumo equipados com uma GPU modesta, com apenas 2,4 GB de VRAM. Isso marcou uma mudança em relação aos modelos proprietários anteriores de texto para imagem, como DALL-E e Midjourney, que eram acessíveis apenas por meio de serviços em nuvem.
Desenvolvimento
Stable Diffusion originou-se de um projeto chamado difusão latente, desenvolvido na Alemanha por pesquisadores da LMU de Munique e da Universidade de Heidelberg. Quatro dos cinco autores originais (Robin Rombach, Andreas Blattmann, Patrick Esser e Dominik Lorenz) posteriormente se juntaram à Stability AI e lançaram versões subsequentes do Stable Diffusion. A licença técnica do modelo foi liberada pelo grupo CompVis da LMU de Munique. O desenvolvimento foi liderado por Patrick Esser, da Runway, e Robin Rombach, da CompVis, que estavam entre os pesquisadores que haviam inventado anteriormente a arquitetura de modelo de difusão latente usada pelo Stable Diffusion. A Stability AI também creditou a EleutherAI e a LAION, uma organização sem fins lucrativos alemã que montou o conjunto de dados no qual o Stable Diffusion foi treinado, como apoiadores do projeto.
O lançamento do Stable Diffusion em 2022 marcou uma mudança significativa na acessibilidade das ferramentas de IA generativa. Ao contrário dos modelos anteriores que exigiam acesso à nuvem, o Stable Diffusion podia ser executado localmente, permitindo que uma comunidade mais ampla de artistas e desenvolvedores experimentasse a geração de texto para imagem. Isso contribuiu para sua rápida adoção e a proliferação de arte gerada por IA em várias plataformas online.
Tecnologia
Arquitetura
Modelos de difusão, introduzidos em 2015, são treinados com o objetivo de remover aplicações sucessivas de ruído gaussiano em imagens de treinamento, o que pode ser pensado como uma sequência de autoencoders de remoção de ruído. O nome difusão vem da difusão termodinâmica, pois foram desenvolvidos inicialmente com inspiração na termodinâmica. Os modelos da série Stable Diffusion anteriores ao SD 3 usavam todos uma variante dos modelos de difusão, chamada modelo de difusão latente (LDM), desenvolvida em 2021 pelo grupo CompVis (Visão Computacional e Aprendizado) da LMU de Munique.
O Stable Diffusion consiste em 3 partes: o autoencoder variacional (VAE), o U-Net e um codificador de texto opcional. O codificador VAE comprime a imagem do espaço de pixels para um espaço latente de dimensões menores, capturando um significado semântico mais fundamental da imagem. Ruído gaussiano é aplicado iterativamente à representação latente comprimida durante a difusão direta. O bloco U-Net, composto por uma espinha dorsal ResNet, remove o ruído da saída da difusão direta de forma reversa para obter uma representação latente. Finalmente, o decodificador VAE gera a imagem final convertendo a representação de volta ao espaço de pixels.
A etapa de remoção de ruído pode ser condicionada de forma flexível a uma string de texto, uma imagem ou outra modalidade. Os dados de condicionamento codificados são expostos aos U-Nets de remoção de ruído por meio de um mecanismo de atenção cruzada. Para condicionamento por texto, o codificador de texto fixo e pré-treinado CLIP ViT-L/14 é usado para transformar prompts de texto em um espaço de incorporação. Pesquisadores apontam o aumento da eficiência computacional para treinamento e geração como uma vantagem dos LDMs. Com 860 milhões de parâmetros no U-Net e 123 milhões no codificador de texto, o Stable Diffusion é considerado relativamente leve pelos padrões de 2022 e, ao contrário de outros modelos de difusão, pode ser executado em GPUs de consumo e até mesmo apenas com CPU, se usado a versão OpenVINO do Stable Diffusion.
#### SD XL
A versão XL usa a mesma arquitetura LDM das versões anteriores, exceto por ser maior: espinha dorsal U-Net maior, contexto de atenção cruzada maior, dois codificadores de texto em vez de um e treinada em múltiplas proporções de aspecto (não apenas a proporção quadrada como nas versões anteriores). O SD XL Refiner, lançado ao mesmo tempo, tem a mesma arquitetura do SD XL, mas foi treinado para adicionar detalhes finos a imagens preexistentes por meio de img2img condicionado por texto.
#### SD 3.0
A versão 3.0 muda completamente a espinha dorsal. Não é um U-Net, mas um Transformer de Fluxo Retificado, que implementa o método de fluxo retificado com um transformador. A arquitetura Transformer usada para o SD 3.0 tem três "trilhas", para codificação de texto original, codificação de texto transformada e codificação de imagem (no espaço latente). A codificação de texto transformada e a codificação de imagem são misturadas durante cada bloco do transformer. A arquitetura é chamada de "transformer de difusão multimodal (MMDiT)", onde "multimodal" significa que ela mistura codificações de texto e imagem dentro de suas operações. Isso difere das versões anteriores do DiT, onde a codificação de texto afeta a codificação de imagem, mas não vice-versa.
Dados de treinamento
O Stable Diffusion foi treinado em pares de imagens e legendas retirados do LAION-5B, um conjunto de dados publicamente disponível derivado de dados do Common Crawl extraídos da web, onde 5 bilhões de pares de imagem-texto foram classificados por idioma e filtrados em conjuntos de dados separados por resolução, uma probabilidade prevista de conter marca d'água e uma pontuação "estética" prevista (por exemplo, qualidade visual subjetiva). O conjunto de dados foi criado pela LAION, uma organização sem fins lucrativos alemã que recebe financiamento da Stability AI. O modelo Stable Diffusion foi treinado em três subconjuntos do LAION-5B: laion2B-en, laion-high-resolution e laion-aesthetics v2 5+. Uma análise de terceiros dos dados de treinamento do modelo identificou que, de um subconjunto menor de 12 milhões de imagens retiradas do conjunto de dados mais amplo original, aproximadamente 47% da amostra de imagens veio de 100 domínios diferentes, com o Pinterest ocupando 8,5% do subconjunto, seguido por sites como WordPress, Blogspot, Flickr, DeviantArt e Wikimedia Commons. Uma investigação da Bayerischer Rundfunk mostrou que os conjuntos de dados da LAION, hospedados no Hugging Face, contêm grandes quantidades de dados privados e sensíveis.
Procedimentos de treinamento
O modelo foi inicialmente treinado nos subconjuntos laion2B-en e laion-high-resolution, com as últimas rodadas de treinamento feitas no LAION-Aesthetics v2 5+, um subconjunto de 600 milhões de imagens legendadas que o LAION-Aesthetics Predictor V2 previu que os humanos, em média, dariam uma pontuação de pelo menos 5 em 10 quando questionados sobre o quanto gostavam delas. O subconjunto LAION-Aesthetics v2 5+ também excluiu imagens de baixa resolução e imagens que o LAION-5B-WatermarkDetection identificou como portadoras de marca d'água com probabilidade superior a 80%. As rodadas finais de treinamento também reduziram 10% do condicionamento de texto para melhorar a Orientação de Difusão Livre de Classificador. O modelo foi treinado usando 256 GPUs Nvidia A100 em Amazon Web Services por um total de 150.000 horas de GPU, a um custo de US$ 600.000.
Impacto e Legado
A liberação pública do código e dos pesos do Stable Diffusion teve um impacto profundo no campo da inteligência artificial e da arte digital. Democratizou o acesso à poderosa geração de texto para imagem, permitindo que indivíduos e pequenas equipes criassem imagens de alta qualidade sem a necessidade de infraestrutura de nuvem cara. Isso levou a um aumento nas aplicações criativas, desde arte conceitual e ilustração até publicidade e design de jogos. O modelo também estimulou mais pesquisas em aprendizado de máquina, particularmente em áreas como compressão de modelos e inferência eficiente, à medida que os desenvolvedores buscavam executar o modelo em hardware cada vez mais modesto.
O Stable Diffusion também levantou importantes questões éticas e legais sobre direitos autorais, privacidade de dados e potencial de uso indevido. O uso de dados da web extraídos para treinamento, incluindo imagens protegidas por direitos autorais e informações pessoais, tornou-se assunto de debate e litígio. Essas preocupações provocaram discussões sobre a necessidade de práticas de dados mais transparentes e responsáveis no desenvolvimento de modelos generativos, influenciando trabalhos subsequentes no campo.
Limitações
O Stable Diffusion tem problemas com degradação e artefatos, particularmente ao gerar cenas complexas ou texto. Pode ter dificuldades com a correção anatômica, produzindo imagens com mãos ou rostos distorcidos, e pode não renderizar com precisão o texto dentro das imagens. O desempenho do modelo também depende da qualidade e diversidade de seus dados de treinamento, o que pode levar a vieses nas imagens geradas. Além disso, o custo computacional de treinar e ajustar modelos grandes como o SD 3.0 continua significativo, limitando a experimentação para alguns pesquisadores e desenvolvedores.