Pular para o conteúdo

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.

16 min de leitura · Conteúdo revisado em 23 de outubro de 2026

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.

  1. O diagrama começa pelo prompt de texto, que segue para o codificador de texto.

    Diagrama da arquitetura: Pipeline de difusão latente
    CLPrompt de texto
    CPCodificador de texto
    CPRede de remoção de ruído (UNet)
    CPDecodificador do autoencoder
    CLImagem gerada
  2. 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.

    Diagrama da arquitetura: Pipeline de difusão latente
    CLPrompt de texto
    CPCodificador de texto
    CPRede de remoção de ruído (UNet)
    CPDecodificador do autoencoder
    CLImagem gerada
  3. 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.

    Diagrama da arquitetura: Pipeline de difusão latente
    CLPrompt de texto
    CPCodificador de texto
    CPRede de remoção de ruído (UNet)
    CPDecodificador do autoencoder
    CLImagem gerada
  4. 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.

    Diagrama da arquitetura: Pipeline de difusão latente
    CLPrompt de texto
    CPCodificador de texto
    CPRede de remoção de ruído (UNet)repetida em sequência
    CPDecodificador do autoencoder
    CLImagem gerada
  5. O latente final é decodificado para o espaço de imagem com uma única passagem pelo decodificador.

    Diagrama da arquitetura: Pipeline de difusão latente
    CLPrompt de texto
    CPCodificador de texto
    CPRede de remoção de ruído (UNet)
    CPDecodificador do autoencoder
    CLImagem gerada
AbordagemO que as fontes relatam
Difusão em pixelsTreino 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 latenteUsa 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 GANsSegundo 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.

  1. O diagrama mostra dois ramos que chegam ao mesmo ponto de combinação: um com o prompt e outro sem.

    Diagrama da arquitetura: Um passo de amostragem com CFG
    CPCondicionamento do prompt
    CPToken nulo
    CPRede com prompt
    CPRede sem prompt
    CPCombinação das estimativas
    CPLatente do passo seguinte
  2. Uma única rede neural parametriza os dois modelos; no ramo incondicional entra um token nulo.

    Diagrama da arquitetura: Um passo de amostragem com CFG
    CPCondicionamento do prompt
    CPToken nulo
    CPRede com prompt
    CPRede sem prompt
    CPCombinação das estimativas
    CPLatente do passo seguinte
  3. Cada passo de amostragem avalia o modelo de remoção de ruído duas vezes, uma condicional e uma incondicional.

    Diagrama da arquitetura: Um passo de amostragem com CFG
    CPCondicionamento do prompt
    CPToken nulo
    CPRede com prompt
    CPRede sem prompt
    CPCombinação das estimativas
    CPLatente do passo seguinte
  4. As duas estimativas são combinadas para obter um equilíbrio entre qualidade e diversidade das amostras.

    Diagrama da arquitetura: Um passo de amostragem com CFG
    CPCondicionamento do prompt
    CPToken nulo
    CPRede com prompt
    CPRede sem prompt
    CPCombinação das estimativas
    CPLatente do passo seguinte

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.

AlavancaEfeito relatado
Mais passos de amostragemA qualidade da amostra melhora quando o número de passos aumenta.
CFG ligadoCada passo de amostragem avalia o modelo de remoção de ruído duas vezes.
Difusão no espaço latenteMelhora a eficiência de treino e de amostragem sem degradar a qualidade, segundo os autores.
Compressão forte demais no autoencoderPerde 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.

  1. O diagrama começa pelo cliente, que envia o prompt à API de geração.

    Diagrama da arquitetura: Serviço de geração de imagens
    CLCliente (app ou API)
    NWAPI de geração
    DBEstado dos pedidos
    CPFiltro do prompt
    QFila de geração
    CPWorkers de GPU
    CPFiltro da imagem gerada
    DBImagens geradas
    EDGCDN
    NWMétricas e avaliação
  2. Antes de entrar na fila, o pedido passa por um filtro do prompt.

    Diagrama da arquitetura: Serviço de geração de imagens
    CLCliente (app ou API)
    NWAPI de geração
    DBEstado dos pedidos
    CPFiltro do prompt
    QFila de geração
    CPWorkers de GPU
    CPFiltro da imagem gerada
    DBImagens geradas
    EDGCDN
    NWMétricas e avaliação
  3. A fila entrega os pedidos aos workers de GPU, que executam o pipeline de difusão latente mostrado antes.

    Diagrama da arquitetura: Serviço de geração de imagens
    CLCliente (app ou API)
    NWAPI de geração
    DBEstado dos pedidos
    CPFiltro do prompt
    QFila de geração
    CPWorkers de GPU
    CPFiltro da imagem gerada
    DBImagens geradas
    EDGCDN
    NWMétricas e avaliação
  4. 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.

    Diagrama da arquitetura: Serviço de geração de imagens
    CLCliente (app ou API)
    NWAPI de geração
    DBEstado dos pedidos
    CPFiltro do prompt
    QFila de geração
    CPWorkers de GPU
    CPFiltro da imagem gerada
    DBImagens geradas
    EDGCDN
    NWMétricas e avaliação
  5. A imagem aprovada vai ao armazenamento de objetos e chega ao cliente pela CDN.

    Diagrama da arquitetura: Serviço de geração de imagens
    CLCliente (app ou API)
    NWAPI de geração
    DBEstado dos pedidos
    CPFiltro do prompt
    QFila de geração
    CPWorkers de GPU
    CPFiltro da imagem gerada
    DBImagens geradas
    EDGCDN
    NWMétricas e avaliação
  6. Os workers e o filtro da imagem enviam sinais para o componente de métricas e avaliação.

    Diagrama da arquitetura: Serviço de geração de imagens
    CLCliente (app ou API)
    NWAPI de geração
    DBEstado dos pedidos
    CPFiltro do prompt
    QFila de geração
    CPWorkers de GPU
    CPFiltro da imagem gerada
    DBImagens geradas
    EDGCDN
    NWMé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.