Design clássico · Sênior
Texto→imagem
Projeto de entrevista clássico. Pontos centrais: difusão latente, CFG, passos vs latência, CLIP score e filtros de segurança.
Resposta curta
Projeto de entrevista clássico. Pontos centrais: difusão latente, CFG, passos vs latência, CLIP score e filtros de segurança. Um sistema de texto para imagem recebe um prompt em linguagem natural e devolve uma imagem. O Stable Diffusion, um exemplo público, é descrito como um modelo de difusão latente de texto para imagem capaz de gerar imagens foto-realistas a partir de…
01 · CONTEXTO E REQUISITOS
O que o sistema precisa fazer
Um sistema de texto para imagem recebe um prompt em linguagem natural e devolve uma imagem. O Stable Diffusion, um exemplo público, é descrito como um modelo de difusão latente de texto para imagem capaz de gerar imagens foto-realistas a partir de qualquer texto de entrada. Em entrevista, o tema cai em ML system design.
Os requisitos funcionais são aceitar um prompt, devolver uma imagem e permitir novas tentativas. Entre os não funcionais, pesam no desenho a latência por imagem, o custo de GPU por imagem, a qualidade percebida pelo usuário e a segurança do conteúdo gerado.
02 · DIFUSÃO LATENTE
Por que difundir no espaço latente
Um modelo de difusão gera a imagem por muitos passos sequenciais. Segundo os autores do Stable Diffusion, treinar e avaliar esse modelo diretamente em pixels exige avaliações repetidas no espaço de alta dimensão das imagens RGB; além disso, avaliar um modelo já treinado é caro em tempo e memória, porque a mesma arquitetura roda em sequência por muitos passos.
O aprendizado passa por estágios com papéis diferentes. O primeiro é a compressão perceptual, que remove detalhes de alta frequência mas aprende pouca variação semântica; no segundo estágio, o modelo generativo aprende a composição semântica e conceitual dos dados.
A proposta é treinar primeiro um autoencoder que fornece um espaço de menor dimensão, perceptualmente equivalente ao espaço dos dados, e treinar a difusão nesse espaço latente. O estágio de autoencoding precisa ser treinado uma única vez e pode ser reaproveitado em vários treinos de difusão.
O diagrama começa pelo prompt de texto, que segue para o codificador de texto.
No modelo documentado na model card, a saída não agrupada do codificador de texto entra na rede de remoção de ruído via cross-attention.
A rede opera em um espaço latente de menor dimensão, perceptualmente equivalente ao espaço dos dados, fornecido por um autoencoder, e a difusão é treinada nesse espaço latente.
O custo de inferência vem de a mesma arquitetura rodar em sequência por muitos passos, o que torna a avaliação cara em tempo e memória.
O latente final é decodificado para o espaço de imagem com uma única passagem pelo decodificador.
| Abordagem | O que as fontes relatam |
|---|---|
| Difusão em pixels | Treino e avaliação exigem avaliações repetidas no espaço de alta dimensão das imagens RGB, e a mesma arquitetura roda em sequência por muitos passos. |
| Difusão latente | Usa um espaço de menor dimensão, perceptualmente equivalente ao espaço dos dados, e decodifica a amostra latente com uma única passagem pelo decodificador. |
| Comparação com GANs | Segundo os autores, a amostragem sequencial da difusão latente ainda é mais lenta que a das GANs. |
A taxa de compressão também é uma decisão de projeto: compressão fraca deixa a compressão perceptual para o modelo de difusão, e compressão forte demais perde informação e limita a qualidade alcançável. Os autores concluem que a difusão latente melhora a eficiência de treino e de amostragem sem degradar a qualidade.
03 · TEXTO E GUIDANCE
Do prompt à imagem: condicionamento e CFG
O texto condiciona a difusão por cross-attention: os autores do LDM projetaram um mecanismo geral de condicionamento baseado nela, e no modelo documentado na model card a saída não agrupada do codificador de texto alimenta a UNet por esse caminho.
O classifier-free guidance (CFG) controla o equilíbrio entre qualidade e diversidade sem um classificador separado. Classifier guidance complica o pipeline de treino porque exige treinar um classificador extra; no CFG, treinam-se em conjunto um modelo condicional e um incondicional e combinam-se as estimativas dos dois. No experimento de texto para imagem do LDM, aplicar esse guidance melhora muito a qualidade das amostras.
O diagrama mostra dois ramos que chegam ao mesmo ponto de combinação: um com o prompt e outro sem.
Uma única rede neural parametriza os dois modelos; no ramo incondicional entra um token nulo.
Cada passo de amostragem avalia o modelo de remoção de ruído duas vezes, uma condicional e uma incondicional.
As duas estimativas são combinadas para obter um equilíbrio entre qualidade e diversidade das amostras.
04 · PASSOS E LATÊNCIA
Passos, qualidade e latência
Os autores do CFG lembram que o número de passos de amostragem tem impacto grande na qualidade da amostra e relatam que a qualidade melhora quando o número de passos aumenta.
O artigo do LDM compara a velocidade de amostragem para diferentes números de passos com o amostrador DDIM contra o FID. Em relação à difusão em pixels, a difusão latente com compressão moderada alcança FID menor e throughput maior.
| Alavanca | Efeito relatado |
|---|---|
| Mais passos de amostragem | A qualidade da amostra melhora quando o número de passos aumenta. |
| CFG ligado | Cada passo de amostragem avalia o modelo de remoção de ruído duas vezes. |
| Difusão no espaço latente | Melhora a eficiência de treino e de amostragem sem degradar a qualidade, segundo os autores. |
| Compressão forte demais no autoencoder | Perde informação e limita a qualidade alcançável. |
O número de passos é uma alavanca natural entre qualidade e tempo de resposta. Ao discutir custo, pergunte quanto de GPU cada imagem consome e como isso muda com o número de passos e com o uso de CFG. Ofereça perfis de geração, como um rascunho rápido e uma versão final, e deixe claro o que se perde em cada um.
05 · AVALIAÇÃO
Como medir se a imagem é boa
O artigo do LDM usa o FID para comparar variantes do modelo. Já o CLIPScore foi proposto para avaliar legendas de imagens sem a necessidade de referências, com foco em compatibilidade entre imagem e texto, e complementa métricas baseadas em referência.
06 · SEGURANÇA E SERVIÇO
Segurança e desenho do serviço
Os autores do LDM listam riscos sociais: fica mais fácil criar e disseminar dados manipulados ou espalhar desinformação e spam; modelos generativos também podem revelar seus dados de treino; e modelos de aprendizado profundo tendem a reproduzir ou agravar vieses presentes nos dados.
O repositório do Stable Diffusion não recomenda usar os pesos fornecidos em serviços ou produtos sem mecanismos adicionais de segurança. Seu script de amostragem de referência incorpora um módulo verificador de segurança para reduzir a probabilidade de saídas explícitas.
No desenho do serviço, uma fila separa o recebimento do pedido da execução na GPU: o cliente recebe um identificador, os workers consomem a fila e o estado do pedido fica em um armazenamento próprio.
O diagrama começa pelo cliente, que envia o prompt à API de geração.
Antes de entrar na fila, o pedido passa por um filtro do prompt.
A fila entrega os pedidos aos workers de GPU, que executam o pipeline de difusão latente mostrado antes.
Na documentação do Diffusers, o Safety Checker compara, no espaço de embeddings, a probabilidade de classe de conceitos nocivos fixos contra a imagem depois de gerada.
A imagem aprovada vai ao armazenamento de objetos e chega ao cliente pela CDN.
Os workers e o filtro da imagem enviam sinais para o componente de métricas e avaliação.
Perguntas frequentes
O que é Texto→imagem?
Projeto de entrevista clássico. Pontos centrais: difusão latente, CFG, passos vs latência, CLIP score e filtros de segurança.
O que o design de Texto→imagem cobre?
Ele está organizado nestas seções: O que o sistema precisa fazer, Por que difundir no espaço latente, Do prompt à imagem: condicionamento e CFG, Passos, qualidade e latência, Como medir se a imagem é boa e Segurança e desenho do serviço.
Quanto tempo leva Texto→imagem e qual é o nível?
Leva cerca de 16 minutos para ler e tem nível Sênior.
Agora projete você mesmo
Rode este caso como uma entrevista na escola de System Design: você toma as decisões, o tutor as questiona e você vê a nota do seu desenho.