Stable Diffusion XL (SDXL) é um modelo de aprendizado profundo, do tipo texto-para-imagem, lançado pela Stability AI em julho de 2023. É uma versão aprimorada do modelo original Stable Diffusion, projetada para gerar imagens de resolução mais alta com maior detalhe e precisão composicional. O SDXL faz parte do boom mais amplo de IA generativa e representa um avanço significativo nos modelos de difusão, tornando a síntese de imagens de alta qualidade acessível a um público mais amplo.
O modelo é usado principalmente para gerar imagens detalhadas condicionadas a descrições de texto, mas também suporta tarefas como Inpainting, outpainting e tradução de imagem-para-imagem guiada por um prompt de texto. Ao contrário de sistemas proprietários anteriores, como DALL-E e Midjourney, que eram acessíveis apenas por meio de serviços em nuvem, o código e os pesos do SDXL foram lançados publicamente, permitindo que ele rodasse em hardware de consumo com GPUs modestas. Essa abertura marcou uma ruptura com os modelos de texto-para-imagem anteriores e contribuiu para a rápida adoção das tecnologias Stable Diffusion.
Desenvolvimento
O SDXL foi desenvolvido pela Stability AI em colaboração com pesquisadores do CompVis Group da LMU Munique e da Runway, com suporte computacional da Stability AI e dados de treinamento de organizações sem fins lucrativos. O projeto baseou-se na arquitetura de modelo de difusão latente (LDM, na sigla em inglês), inventada em 2021 por pesquisadores da LMU Munique e da Universidade de Heidelberg, incluindo Robin Rombach, Andreas Blattmann, Patrick Esser e Dominik Lorenz. Esses pesquisadores posteriormente se juntaram à Stability AI para desenvolver versões subsequentes do Stable Diffusion.
A licença técnica do modelo foi lançada pelo grupo CompVis, e o desenvolvimento foi liderado por Patrick Esser, da Runway, e Robin Rombach, da CompVis. A Stability AI também creditou a EleutherAI e a LAION, uma organização alemã sem fins lucrativos que montou o conjunto de dados de treinamento, como apoiadores. O lançamento do SDXL seguiu o sucesso do Stable Diffusion original em 2022 e visava abordar limitações em resolução e detalhes.
Tecnologia
Arquitetura
O SDXL usa uma variante de modelos de difusão chamada modelos de difusão latente (LDMs), desenvolvida em 2021. Os modelos de difusão, introduzidos em 2015, são treinados para remover aplicações sucessivas de ruído gaussiano de imagens de treinamento, funcionando como uma sequência de autoencoders de remoção de ruído. O nome "difusão" vem da difusão termodinâmica, pois os modelos foram inspirados pela termodinâmica.
O SDXL consiste em três partes principais: um autoencoder variacional (VAE, na sigla em inglês), uma U-Net e um codificador de texto opcional. O codificador VAE comprime uma imagem do espaço de pixels para um espaço latente de dimensão menor, capturando o significado semântico 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 para obter uma representação latente. Por fim, 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 a texto, uma imagem ou outra modalidade. Os dados de condicionamento codificados são expostos à U-Net de remoção de ruído por meio de um mecanismo de atenção cruzada. Para condicionamento de texto, o SDXL usa dois codificadores de texto em vez de um, o que melhora a capacidade do modelo de entender prompts complexos. O contexto de atenção cruzada maior e o treinamento com múltiplas proporções de aspecto permitem que o SDXL gere imagens em várias resoluções, não apenas no formato quadrado das versões anteriores.
Com 860 milhões de parâmetros na U-Net e 123 milhões no codificador de texto, o SDXL é relativamente leve em comparação a outros modelos de sua época, permitindo que rode em GPUs de consumo com apenas 2,4 GB de VRAM. Uma versão otimizada pode até rodar apenas em CPU usando OpenVINO.
SD XL Refiner
Junto com o SDXL, a Stability AI lançou o SD XL Refiner, que tem a mesma arquitetura, mas foi treinado especificamente para adicionar detalhes finos a imagens pré-existentes por meio de tradução de imagem-para-imagem condicionada a texto. Este modelo refinador permite que os usuários aprimorem imagens geradas iterativamente.
Dados de Treinamento
O SDXL foi treinado em pares de imagens e legendas do LAION-5B, um conjunto de dados publicamente disponível derivado de dados do Common Crawl coletados da web. O conjunto contém 5 bilhões de pares imagem-texto, filtrados por idioma, resolução, probabilidade de marca d'água e pontuação estética. O treinamento usou três subconjuntos: laion2B-en, laion-high-resolution e laion-aesthetics v2 5+. O último subconjunto inclui 600 milhões de imagens com pontuações estéticas previstas de pelo menos 5 de 10, excluindo imagens de baixa resolução e aquelas com marcas d'água.
Uma análise de terceiros dos dados de treinamento revelou que aproximadamente 47% de um subconjunto menor de 12 milhões de imagens veio de 100 domínios diferentes, com o Pinterest respondendo por 8,5%, seguido por WordPress, Blogspot, Flickr, DeviantArt e Wikimedia Commons. Uma investigação da Bayerischer Rundfunk descobriu que os conjuntos de dados da LAION continham grandes quantidades de dados privados e sensíveis, levantando preocupações com privacidade.
Procedimentos de Treinamento
O modelo foi inicialmente treinado em laion2B-en e laion-high-resolution, com rodadas finais no LAION-Aesthetics v2 5+. O treinamento descartou 10% do condicionamento de texto para melhorar a orientação de difusão livre de classificador. O SDXL foi treinado usando 256 GPUs Nvidia A100 na Amazon Web Services por um total de 150.000 horas de GPU, a um custo de US$ 600.000.
Limitações
Como outros modelos de difusão, o SDXL tem limitações, incluindo problemas de degradação em certos cenários. Ele pode ter dificuldades com detalhes finos, como mãos ou texto, e pode produzir artefatos. Os dados de treinamento do modelo também introduzem vieses e possíveis problemas de privacidade, como observado em investigações. Na época de seu lançamento, o SDXL era considerado uma melhoria significativa em relação às versões anteriores, mas ainda exigia engenharia cuidadosa de prompts para obter resultados ideais.
Impacto
O lançamento do SDXL contribuiu para o boom da IA ao democratizar a geração de texto-para-imagem de alta qualidade. Sua disponibilidade aberta permitiu que desenvolvedores e artistas o integrassem em várias aplicações, da criação de arte ao design. A arquitetura do modelo influenciou desenvolvimentos subsequentes em difusão latente e modelos baseados em transformer, incluindo o posterior SD 3.0, que substituiu a U-Net por um transformer de fluxo retificado.
O SDXL também gerou discussões sobre direitos autorais, ética e o impacto social da IA generativa, pois permitiu a criação generalizada de imagens realistas. Seus dados de treinamento, originários da web, levantaram questões sobre consentimento e uso de dados, levando a debates contínuos na comunidade de IA.
Ver também
- Lançamento público do Stable Diffusion
- Artigo sobre modelos de difusão
- CLIP
- Autoencoder Variacional
- U-Net
- ResNet
- Mecanismo de Atenção
- LAION
- EleutherAI
- Runway
- Robin Rombach
- Stability AI