Difusão estável

Cartão de modelo de difusão estável v1-5

O Stable Diffusion é um modelo de difusão de texto para imagem latente capaz de gerar imagens foto-realistas a partir de qualquer entrada de texto. Para mais informações sobre o funcionamento do Stable Diffusion, consulte Blogue da 🤗 Difusão estável.

Estável-Difusão-v1-5 foi inicializado com os pesos dos Estável-Difusão-v1-2 ponto de controlo e, subsequentemente, afinado em 595k passos com uma resolução de 512×512 em "laion-aesthetics v2 5+" e 10% abandonando o condicionamento do texto para melhorar amostragem de orientação sem classificador.

Pode utilizá-lo tanto com o Biblioteca de difusores e o Repositório GitHub do RunwayML.

Difusores

from diffusers import StableDiffusionPipeline
importar tocha

model_id = "runwayml/stable-diffusion-v1-5"
pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16)
pipe = pipe.to("cuda")

prompt = "uma fotografia de um astronauta a montar um cavalo em Marte"
imagem = pipe(prompt).images[0]
    
image.save("astronauta_montando_cavalo.png")

Para obter instruções mais pormenorizadas, casos de utilização e exemplos em JAX, siga as instruções aqui

Repositório original do GitHub

  1. Descarregar os pesos
  2. Seguir as instruções aqui.

Detalhes do modelo

  • Desenvolvido por: Robin Rombach, Patrick Esser
  • Tipo de modelo: Modelo de geração de texto para imagem baseado na difusão
  • Língua(s): Inglês
  • Licença: A licença CreativeML OpenRAIL M é um Licença aberta RAIL M, adaptado da obra que BigScience e a iniciativa RAIL estão a trabalhar em conjunto no domínio do licenciamento responsável da IA. Ver também o artigo sobre a licença BLOOM Open RAIL em que se baseia a nossa licença.
  • Descrição do modelo: Trata-se de um modelo que pode ser utilizado para gerar e modificar imagens com base em instruções de texto. É um modelo Modelo de difusão latente que utiliza um codificador de texto fixo e pré-treinado (CLIP ViT-L/14) como sugerido no Papel de imagem.
  • Recursos para mais informações: Repositório GitHubPapel.
  • Citar como:@InProceedings{Rombach_2022_CVPR, author = {Rombach, Robin and Blattmann, Andreas and Lorenz, Dominik and Esser, Patrick and Ommer, Bj\"orn}, title = {High-Resolution Image Synthesis With Latent Diffusion Models}, booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)}, month = {June}, year = {2022}, pages = {10684-10695} }

Utilizações

Utilização direta

O modelo destina-se apenas a fins de investigação. As possíveis áreas e tarefas de investigação incluem

  • Implantação segura de modelos susceptíveis de gerar conteúdos nocivos.
  • Sondar e compreender as limitações e os enviesamentos dos modelos generativos.
  • Geração de obras de arte e utilização em design e outros processos artísticos.
  • Aplicações em ferramentas educativas ou criativas.
  • Investigação sobre modelos generativos.

As utilizações excluídas são descritas a seguir.

Utilização indevida, utilização maliciosa e utilização fora do âmbito

Nota: Esta secção foi retirada do Ficha modelo DALLE-MINImas aplica-se da mesma forma à Difusão Estável v1.

O modelo não deve ser utilizado para criar ou divulgar intencionalmente imagens que criem ambientes hostis ou alienantes para as pessoas. Isto inclui a criação de imagens que as pessoas possam previsivelmente considerar perturbadoras, angustiantes ou ofensivas; ou conteúdos que propaguem estereótipos históricos ou actuais.

Utilização fora do âmbito

O modelo não foi treinado para ser uma representação factual ou verdadeira de pessoas ou eventos, pelo que a sua utilização para gerar esse tipo de conteúdo está fora do âmbito das capacidades deste modelo.

Utilização indevida e maliciosa

A utilização do modelo para gerar conteúdos que sejam cruéis para os indivíduos é uma utilização incorrecta deste modelo. Isto inclui, mas não está limitado a:

  • Gerar representações humilhantes, desumanas ou prejudiciais de pessoas ou dos seus ambientes, culturas, religiões, etc.
  • Promover ou propagar intencionalmente conteúdos discriminatórios ou estereótipos nocivos.
  • Fazer-se passar por uma pessoa sem o seu consentimento.
  • Conteúdo sexual sem o consentimento das pessoas que o possam ver.
  • Informação incorrecta e desinformação
  • Representações de violência flagrante e de sangue
  • Partilha de material protegido por direitos de autor ou licenciado em violação dos seus termos de utilização.
  • Partilhar conteúdo que seja uma alteração de material protegido por direitos de autor ou licenciado, violando os respectivos termos de utilização.

Limitações e preconceitos

Limitações

  • O modelo não atinge um fotorrealismo perfeito
  • O modelo não pode apresentar texto legível
  • O modelo não tem um bom desempenho em tarefas mais difíceis que envolvem composições, como a renderização de uma imagem correspondente a "Um cubo vermelho em cima de uma esfera azul"
  • Os rostos e as pessoas em geral podem não ser gerados corretamente.
  • O modelo foi treinado principalmente com legendas em inglês e não funcionará tão bem noutras línguas.
  • A parte de auto-codificação do modelo é com perdas
  • O modelo foi treinado num conjunto de dados em grande escala LAION-5B que contém material para adultos e não é adequado para a utilização do produto sem mecanismos de segurança e considerações adicionais.
  • Não foram utilizadas medidas adicionais para deduplicar o conjunto de dados. Como resultado, observamos algum grau de memorização para imagens que são duplicadas nos dados de treino. Os dados de treino podem ser pesquisados em https://rom1504.github.io/clip-retrieval/ para possivelmente ajudar na deteção de imagens memorizadas.

Preconceito

Embora as capacidades dos modelos de geração de imagens sejam impressionantes, também podem reforçar ou exacerbar preconceitos sociais. O Stable Diffusion v1 foi treinado em subconjuntos de LAION-2B(pt)O sistema de informação de imagens é composto por imagens que se limitam principalmente a descrições em inglês. É provável que os textos e imagens de comunidades e culturas que utilizam outras línguas não sejam suficientemente tidos em conta. Isto afecta o resultado global do modelo, uma vez que as culturas brancas e ocidentais são frequentemente definidas como padrão. Para além disso, a capacidade do modelo para gerar conteúdos com instruções não inglesas é significativamente pior do que com instruções em inglês.

Módulo de segurança

A utilização prevista deste modelo é com o Verificador de segurança em Difusores. Este verificador funciona através da verificação dos resultados do modelo em relação a conceitos NSFW conhecidos e codificados. Os conceitos são intencionalmente ocultos para reduzir a probabilidade de engenharia reversa deste filtro. Especificamente, o verificador compara a probabilidade de classe de conceitos prejudiciais no espaço de incorporação do CLIPTextModel após geração das imagens. Os conceitos são passados para o modelo com a imagem gerada e comparados com um peso concebido manualmente para cada conceito NSFW.

Formação

Dados de treino Os criadores do modelo utilizaram o seguinte conjunto de dados para treinar o modelo:

  • LAION-2B (en) e respectivos subconjuntos (ver secção seguinte)

Procedimento de formação Estável Difusão O v1-5 é um modelo de difusão latente que combina um autoencoder com um modelo de difusão que é treinado no espaço latente do autoencoder. Durante o treino,

  • As imagens são codificadas através de um codificador, que as transforma em representações latentes. O codificador automático utiliza um fator de redução de amostragem relativo de 8 e mapeia imagens de forma H x W x 3 para latentes de forma H/f x W/f x 4
  • Os comandos de texto são codificados através de um codificador de texto ViT-L/14.
  • A saída não agrupada do codificador de texto é alimentada na espinha dorsal da UNet do modelo de difusão latente através da atenção cruzada.
  • A perda é um objetivo de reconstrução entre o ruído que foi adicionado à latente e a previsão feita pela UNet.

Atualmente, são fornecidos seis pontos de controlo de difusão estável, que foram treinados da seguinte forma.

  • stable-diffusion-v1-1: 237 000 passos na resolução 256x256 sobre laion2B-pt. 194.000 passos na resolução 512x512 sobre laion-high-resolution (170M exemplos do LAION-5B com resolução >= 1024x1024).
  • stable-diffusion-v1-2: Retomado de stable-diffusion-v1-1. 515.000 passos com resolução 512x512 em "laion-improved-aesthetics" (um subconjunto de laion2B-en, filtrado para imagens com um tamanho original >= 512x512, pontuação estética estimada > 5.0e uma probabilidade estimada da marca de água < 0.5. A estimativa da marca de água é feita a partir dos metadados do LAION-5B, a pontuação estética é estimada utilizando um estimador de estética melhorada).
  • stable-diffusion-v1-3: Retomado de stable-diffusion-v1-2 - 195 000 passos na resolução 512x512 sobre "laion-improved-aesthetics" e 10 % abandono do condicionamento do texto para melhorar amostragem de orientação sem classificador.
  • stable-diffusion-v1-4 Retomado de stable-diffusion-v1-2 - 225 000 passos na resolução 512x512 em "laion-aesthetics v2 5+" e 10 % abandono do condicionamento do texto para melhorar amostragem de orientação sem classificador.
  • stable-diffusion-v1-5 Retomado de stable-diffusion-v1-2 - 595.000 passos na resolução 512x512 em "laion-aesthetics v2 5+" e 10 % abandono do condicionamento do texto para melhorar amostragem de orientação sem classificador.
  • pintura de difusão estável Retomado de stable-diffusion-v1-5 - depois 440.000 passos de treino de pintura com resolução 512×512 em "laion-aesthetics v2 5+" e 10% de abandono do condicionamento do texto. Para a pintura, a UNet tem 5 canais de entrada adicionais (4 para a imagem mascarada codificada e 1 para a própria máscara) cujos pesos foram inicializados a zero depois de restaurar o ponto de controlo sem pintura. Durante o treino, geramos máscaras sintéticas e, no 25%, mascaramos tudo.
  • Hardware: 32 x 8 x GPUs A100
  • Optimizador: AdamW
  • Acumulações de gradiente: 2
  • Lote: 32 x 8 x 2 x 4 = 2048
  • Taxa de aprendizagem: aquecimento para 0,0001 durante 10.000 passos e depois mantido constante

Resultados da avaliação

As avaliações com diferentes escalas de orientação sem classificador (1,5, 2,0, 3,0, 4,0, 5,0, 6,0, 7,0, 8,0) e 50 etapas de amostragem PNDM/PLMS mostram as melhorias relativas dos pontos de controlo:

pareto

Avaliado utilizando 50 passos PLMS e 10000 pedidos aleatórios do conjunto de validação COCO2017, avaliados com uma resolução de 512×512. Não optimizado para pontuações FID.

Impacto ambiental

Difusão estável v1 Estimativa das emissões Com base nessas informações, estimamos as seguintes emissões de CO2 utilizando o método Calculadora de impacto da aprendizagem automática apresentado em Lacoste et al. (2019). O hardware, o tempo de execução, o fornecedor da nuvem e a região de computação foram utilizados para estimar o impacto do carbono.

  • Tipo de hardware: A100 PCIe 40GB
  • Horas utilizadas: 150000
  • Fornecedor de Nuvem: AWS
  • Região de computação: Leste dos EUA
  • Carbono emitido (Consumo de energia x Tempo x Carbono produzido com base na localização da rede eléctrica): 11250 kg CO2 eq.

Citação

    @InProceedings{Rombach_2022_CVPR,
        author = {Rombach, Robin and Blattmann, Andreas and Lorenz, Dominik and Esser, Patrick and Ommer, Bj\"orn},
        title = {Síntese de imagens de alta resolução com modelos de difusão latente},
        booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
        month = {junho},
        year = {2022},
        pages = {10684-10695}
    }

Este modelo de cartão foi escrito por: Robin Rombach e Patrick Esser e é baseado no Cartão de modelo DALL-E Mini.