Design clássico · Staff
Síntese de imagem em alta resolução
Projeto de entrevista clássico. Pontos centrais: VQ-VAE/VQGAN, compressão latente e super-resolução.
Resposta curta
Projeto de entrevista clássico. Pontos centrais: VQ-VAE/VQGAN, compressão latente e super-resolução. Gerar imagens de alta resolução é tema do livro Generative AI System Design Interview: o capítulo 8 tem exatamente esse título. Este caso o trata como um problema de projeto de sistemas de machine learning.
01 · CONTEXTO
Por que alta resolução é um problema de custo
Gerar imagens de alta resolução é tema do livro Generative AI System Design Interview: o capítulo 8 tem exatamente esse título. Este caso o trata como um problema de projeto de sistemas de machine learning.
Duas pesquisas abertas mostram onde o custo aparece. Transformers são expressivos, mas computacionalmente inviáveis para sequências longas, como imagens de alta resolução. Já modelos de difusão que operam direto no espaço de pixels costumam consumir centenas de dias de GPU na otimização, e a inferência é cara por exigir avaliações sequenciais.
02 · COMPRESSÃO LATENTE
Três maneiras de gerar sem tocar nos pixels
O VQ-VAE é a base da compressão discreta: o codificador emite códigos discretos, e não contínuos, e o prior é aprendido em vez de fixo. Com um prior autoregressivo sobre essas representações, o modelo gera imagens de alta qualidade.
O artigo Taming Transformers combina CNNs, que aprendem um vocabulário de constituintes da imagem, com transformers, que modelam a composição desses constituintes em imagens de alta resolução.
Os modelos de difusão latente aplicam a difusão no espaço latente de autoencoders pré-treinados, o que reduz de forma significativa os requisitos computacionais em comparação com a difusão em pixels. Esse é o argumento de custo em escala para trabalhar no espaço latente.
| Abordagem | Compressão | Gerador |
|---|---|---|
| VQ-VAE | Codificador que emite códigos discretos | Prior autoregressivo aprendido |
| Taming Transformers | CNNs aprendem um vocabulário de constituintes da imagem | Transformer modela a composição dos constituintes |
| Difusão latente | Autoencoder pré-treinado define o espaço latente | Modelo de difusão aplicado nesse espaço |
03 · SERVIÇO
Do pedido à imagem final
O diagrama abaixo mostra um serviço assíncrono que gera no espaço latente, decodifica e refina a imagem em cascata.
No diagrama, o cliente chama o gateway de API, que coloca o pedido na fila de jobs.
O worker de geração opera no espaço latente de um autoencoder pré-treinado, em vez de operar direto no espaço de pixels.
No diagrama, o decodificador do autoencoder recebe a saída do worker e a passa ao refinador.
Modelos generativos podem ser encadeados com modelos de super-resolução; é essa cascata que o refinador representa neste diagrama.
Um refinador baseado em difusão, como o SR3, parte de ruído gaussiano puro e refina a saída de forma iterativa, com uma U-Net treinada para remover ruído em vários níveis.
No diagrama, a imagem final vai para o armazenamento e é entregue ao cliente pela CDN.
04 · TREINO
Treinar em dois estágios
O diagrama abaixo separa o treino do autoencoder, que define o espaço latente, do treino do gerador, que opera nesse espaço.
No diagrama, o dataset de imagens alimenta o treino do autoencoder.
Em uma versão discreta, como no VQ-VAE, o codificador emite códigos discretos, e não contínuos, e o prior é aprendido.
No diagrama, as representações latentes ficam guardadas em armazenamento e servem de entrada para o treino do gerador.
No artigo Taming Transformers o gerador é um transformer que modela a composição dos constituintes da imagem; na difusão latente, o gerador é um modelo de difusão aplicado no espaço latente.
Operar no espaço latente reduz de forma significativa os requisitos computacionais, em comparação com a difusão em pixels.
No diagrama, os checkpoints alimentam a avaliação de amostras, cujas medidas seguem para as métricas de treino.
05 · DECISÕES
Pixels ou latente, e como condicionar
| Espaço de operação | Custo relatado |
|---|---|
| Difusão em pixels | Costuma consumir centenas de dias de GPU na otimização, e a inferência é cara por avaliações sequenciais |
| Difusão latente | Reduz de forma significativa os requisitos computacionais em relação à difusão em pixels |
Para controlar o resultado, camadas de cross-attention tornam a difusão um gerador flexível para condicionamentos gerais, como texto ou caixas delimitadoras.
Perguntas frequentes
O que é Síntese de imagem em alta resolução?
Projeto de entrevista clássico. Pontos centrais: VQ-VAE/VQGAN, compressão latente e super-resolução.
O que o design de Síntese de imagem em alta resolução cobre?
Ele está organizado nestas seções: Por que alta resolução é um problema de custo, Três maneiras de gerar sem tocar nos pixels, Do pedido à imagem final, Treinar em dois estágios e Pixels ou latente, e como condicionar.
Quanto tempo leva Síntese de imagem em alta resolução e qual é o nível?
Leva cerca de 17 minutos para ler e tem nível Staff.
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.