O que é Stable Diffusion?
O que é Stable Diffusion?
A difusão estável é um modelo de inteligência artificial generativa (IA generativa) que produz imagens fotorrealistas exclusivas a partir de instruções de texto e imagem. Ele foi lançado originalmente em 2022. Além das imagens, você também pode usar o modelo para criar vídeos e animações. O modelo é baseado na tecnologia de difusão e usa espaço latente. Isso reduz significativamente os requisitos de processamento e você pode executar o modelo em desktops ou laptops equipados com GPUs. O Stable Diffusion pode ser ajustado para atender às suas necessidades específicas com apenas cinco imagens por meio do aprendizado por transferência.
O Stable Diffusion está disponível para todos sob uma licença permissiva. Isso diferencia o Stable Diffusion de seus antecessores.
Por que o Stable Diffusion é importante?
O Stable Diffusion é importante porque é acessível e fácil de usar. Ele pode ser executado em placas gráficas de consumo. Pela primeira vez, qualquer pessoa pode baixar o modelo e gerar suas imagens. Você também tem controle sobre os principais hiperparâmetros, como o número de etapas da redução de ruído e o grau de ruído aplicado.
O Stable Diffusion é fácil de usar e você não precisa de informações adicionais para criar imagens. Como tem uma comunidade ativa, o Stable Diffusion conta com ampla documentação e tutoriais de instruções. A versão do software está sob a licença Creative ML OpenRail-M, que permite usar, alterar e redistribuir o software modificado. Se você lançar um software derivado, deverá lançá-lo sob a mesma licença e incluir uma cópia da licença original de difusão estável.
Como o Stable Diffusion funciona?
Como modelo de difusão, o Stable Diffusion difere de muitos outros modelos de geração de imagens. Em princípio, os modelos de difusão usam ruído gaussiano para codificar uma imagem. Em seguida, eles usam um preditor de ruído junto com um processo de difusão reversa para recriar a imagem.
Além das diferenças técnicas de um modelo de difusão, o Stable Diffusion é único porque não usa o espaço de pixels da imagem. Em vez disso, ele usa um espaço latente de definição reduzida.
A razão para isso é que uma imagem colorida com resolução de 512 x 512 tem 786.432 valores possíveis. Em comparação, o Stable Diffusion usa uma imagem comprimida que é 48 vezes menor em 16.384 valores. Isso reduz significativamente os requisitos de processamento. E é por isso que você pode usar o Stable Diffusion em um desktop com uma GPU NVIDIA com 8 GB de RAM. O espaço latente menor funciona porque as imagens naturais não são aleatórias. O Stable Diffusion usa arquivos do codificador automático variacional (VAE) no decodificador para pintar detalhes finos, como olhos.
O Stable Diffusion V1 foi treinado usando três conjuntos de dados coletados pelo LAION por meio do Common Crawl. Isso inclui o conjunto de dados LAION-Aesthetics v2.6 de imagens com uma classificação estética de 6 ou superior.
Qual arquitetura é usada pelo Stable Diffusion?
Os principais componentes arquitetônicos do Stable Diffusion incluem um codificador automático variacional, difusão direta e reversa, um preditor de ruído e o condicionamento de texto.
Codificador automático variacional
O codificador automático variacional consiste em um codificador e um decodificador separados. O codificador comprime a imagem de 512 x 512 pixels em um modelo menor de 64 x 64 em espaço latente que é mais fácil de manipular. O decodificador restaura o modelo do espaço latente em uma imagem em tamanho real de 512 x 512 pixels.
Difusão direta
A difusão direta adiciona progressivamente ruído gaussiano a uma imagem até que tudo o que resta seja um ruído aleatório. Não é possível identificar a imagem usando a imagem ruidosa final. Durante o treinamento, todas as imagens passam por esse processo. A difusão direta não é mais usada, exceto ao realizar uma conversão de imagem em imagem.
Difusão reversa
Esse processo é essencialmente um processo parametrizado que desfaz iterativamente a difusão direta. Por exemplo, você pode treinar o modelo com apenas duas imagens, como a de um gato e de um cachorro. Se você fez isso, o processo inverso se desviará para um gato ou um cachorro e nada mais. Na prática, o treinamento de modelos envolve bilhões de imagens e usa instruções para criar imagens exclusivas.
Preditor de ruído (U-Net)
Um preditor de ruído é fundamental para reduzir o ruído das imagens. O Stable Diffusion usa um modelo U-Net para fazer isso. Os modelos U-Net são redes neurais convolucionais originalmente desenvolvidas para segmentação de imagens em biomedicina. O Stable Diffusion usa principalmente o modelo de Rede Neural Residual (ResNet) desenvolvido para visão computacional.
O preditor de ruído estima a quantidade de ruído no espaço latente e a subtrai da imagem. Ele repete esse processo um número específico de vezes, reduzindo o ruído de acordo com as etapas especificadas pelo usuário. O preditor de ruído é sensível às instruções de condicionamento que ajudam a determinar a imagem final.
Condicionamento de texto
A forma mais comum de condicionamento são os prompts de texto. Um tokenizador CLIP analisa cada palavra em um prompt de texto e incorpora esses dados em um vetor de 768 valores. Você pode usar até 75 tokens em um prompt. O Stable Diffusion alimenta esses prompts do codificador de texto para o preditor de ruído U-Net usando um transformador de texto. Ao definir a seed como um gerador de números aleatórios, você pode gerar imagens diferentes no espaço latente.
O que o Stable Diffusion pode fazer?
O Stable Diffusion representa uma melhoria notável na geração de modelos de texto em imagem. Ele está amplamente disponível e precisa de muito menos potência de processamento do que muitos outros modelos de texto para imagem. Seus recursos incluem texto para imagem, imagem para imagem, arte gráfica, edição de imagens e criação de vídeo.
Geração de texto para imagem
Essa é a forma mais comum de as pessoas usarem o Stable Diffusion. O Stable Diffusion gera uma imagem usando um prompt textual. Você pode criar imagens diferentes ajustando o número inicial do gerador aleatório ou alterando a programação de redução de ruído para efeitos diferentes.
Geração de imagem para imagem
Usando uma imagem de entrada e um prompt de texto, você pode criar imagens com base em uma imagem de entrada. Um caso típico seria usar um esboço e um prompt adequado.
Criação de gráficos, obras de arte e logotipos
Usando alguns prompts, é possível criar ilustrações, gráficos e logotipos em uma ampla variedade de estilos. Naturalmente, não é possível predeterminar o resultado, embora você possa orientar a criação do logotipo usando um esboço.
Edição e retoque de imagens
Você pode usar o Stable Diffusion para editar e retocar fotos. Usando o AI Editor, carregue uma imagem e use um pincel de borracha para marcar a área que você deseja editar. Em seguida, gerando um prompt definindo o que você deseja alcançar, edite ou pinte a imagem. Por exemplo, você pode reparar fotos antigas, remover objetos das imagens, alterar os recursos do assunto e adicionar novos elementos à imagem.
Criação de vídeo
Usando recursos como o Deforum do GitHub, é possível criar pequenos videoclipes e animações com o Stable Diffusion. Outra aplicação é adicionar estilos diferentes a um filme. Também é possível animar fotos criando uma impressão de movimento, como com água corrente.
Como a AWS pode ajudar com o Stable Diffusion?
O Amazon Bedrock é a maneira mais fácil de criar e escalar aplicativos de IA generativos com modelos básicos. O Amazon Bedrock é um serviço totalmente gerenciado que faz os principais modelos de base, incluindo o Stable Diffusion, disponíveis por meio de uma API. Assim, é possível escolher entre vários FMs para encontrar o modelo mais adequado para seu caso de uso. Com o Bedrock, é possível acelerar o desenvolvimento e a implantação de aplicações de IA generativa escaláveis, confiáveis e seguros sem gerenciar a infraestrutura.
O Amazon SageMaker JumpStart, que é um hub de ML que oferece modelos, algoritmos e soluções, fornece acesso a centenas de modelos de base, incluindo modelos de fundação de alto desempenho disponíveis publicamente, como Stable Diffusion. Novos modelos de base continuam sendo adicionados, incluindo o Stable Diffusion XL 1.0, a versão mais recente do modelo de geração de imagem.