Pular para o conteúdo

Design clássico · Sênior

Headshot personalizado

Projeto de entrevista clássico. Pontos centrais: DreamBooth/LoRA, treino por usuário, agendamento de GPU e consentimento.

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

Resposta curta

Projeto de entrevista clássico. Pontos centrais: DreamBooth/LoRA, treino por usuário, agendamento de GPU e consentimento. O capítulo dez do livro Generative AI System Design Interview chama-se Personalized Headshot Generation, e o livro reúne dez perguntas reais de entrevista sobre sistemas de IA generativa, com soluções detalhadas.

01 · CONTEXTO

O problema: um modelo que conhece uma pessoa

O capítulo dez do livro Generative AI System Design Interview chama-se Personalized Headshot Generation, e o livro reúne dez perguntas reais de entrevista sobre sistemas de IA generativa, com soluções detalhadas.

Um serviço de headshot personalizado recebe poucas fotos de uma pessoa e devolve retratos profissionais dessa mesma pessoa. Em entrevista, o desafio de sistemas de machine learning é combinar um treino por usuário com uma fila de trabalhos e um controle de consentimento.

Segundo os autores do DreamBooth, os grandes modelos de texto para imagem não têm a capacidade de imitar a aparência de sujeitos de um conjunto de referência.

02 · PERSONALIZAÇÃO

DreamBooth e LoRA: ensinar uma pessoa ao modelo

O DreamBooth ajusta um modelo de texto para imagem pré-treinado com poucas imagens de um sujeito, de modo que ele aprenda a ligar um identificador único a esse sujeito. Com o sujeito embutido no modelo, o identificador pode ser usado para sintetizar imagens realistas dele em cenas diferentes.

No paper, um conjunto de três a cinco imagens do sujeito basta para bons resultados, e o treino leva cerca de cinco minutos numa NVIDIA A100 com Stable Diffusion.

Os autores apontam que ajustar camadas condicionadas ao texto dá origem ao language drift. Para preveni-lo, propõem uma perda de preservação de prior, específica da classe.

O LoRA congela os pesos do modelo pré-treinado e injeta matrizes treináveis de decomposição de posto em cada camada da arquitetura Transformer, reduzindo bastante o número de parâmetros treináveis para tarefas posteriores.

Os autores do LoRA se concentraram em modelos de linguagem Transformer, mas escrevem que os princípios são geralmente aplicáveis a qualquer rede neural com camadas densas. Eles também descrevem a criação de muitos modelos customizados que podem ser trocados em tempo real em máquinas que guardam os pesos pré-treinados na VRAM.

03 · ARQUITETURA

O pipeline de ponta a ponta

O diagrama abaixo mostra uma proposta com filas e workers separados para treinar o adaptador de cada pessoa e para gerar os retratos.

  1. No diagrama, o navegador aparece ligado ao gateway da API, e o gateway ao serviço de pedidos.

    Diagrama da arquitetura: Headshot personalizado: pipeline de ponta a ponta
    CLNavegador
    NWGateway da API
    CPServiço de pedidosrecebe o pedido
    DBFotos enviadas
    DBPedidos e consentimentos
    QFila de treino
    CPWorkers de treino com GPU
    DBAdaptadores por usuário
    QFila de geração
    CPWorkers de geração com GPU
    DBRetratos gerados
  2. O serviço de pedidos aparece ligado ao armazenamento das fotos e ao banco de pedidos e consentimentos.

    Diagrama da arquitetura: Headshot personalizado: pipeline de ponta a ponta
    CLNavegador
    NWGateway da API
    CPServiço de pedidos
    DBFotos enviadasfotos
    DBPedidos e consentimentosconsentimento
    QFila de treino
    CPWorkers de treino com GPU
    DBAdaptadores por usuário
    QFila de geração
    CPWorkers de geração com GPU
    DBRetratos gerados
  3. Os workers de treino aparecem ligados às fotos e ao armazenamento de adaptadores. O DreamBooth descreve o ajuste de um modelo pré-treinado com poucas imagens de um sujeito.

    Diagrama da arquitetura: Headshot personalizado: pipeline de ponta a ponta
    CLNavegador
    NWGateway da API
    CPServiço de pedidos
    DBFotos enviadas
    DBPedidos e consentimentos
    QFila de treino
    CPWorkers de treino com GPUtreino do adaptador
    DBAdaptadores por usuárioadaptador
    QFila de geração
    CPWorkers de geração com GPU
    DBRetratos gerados
  4. Os workers de geração aparecem ligados ao armazenamento de adaptadores. O LoRA descreve um modelo pré-treinado compartilhado usado para construir muitos módulos pequenos para tarefas diferentes.

    Diagrama da arquitetura: Headshot personalizado: pipeline de ponta a ponta
    CLNavegador
    NWGateway da API
    CPServiço de pedidos
    DBFotos enviadas
    DBPedidos e consentimentos
    QFila de treino
    CPWorkers de treino com GPU
    DBAdaptadores por usuárioum por pessoa
    QFila de geração
    CPWorkers de geração com GPUmodelo base e adaptador
    DBRetratos gerados
  5. O armazenamento de retratos gerados aparece ligado aos workers de geração e ao serviço de pedidos.

    Diagrama da arquitetura: Headshot personalizado: pipeline de ponta a ponta
    CLNavegador
    NWGateway da API
    CPServiço de pedidos
    DBFotos enviadas
    DBPedidos e consentimentos
    QFila de treino
    CPWorkers de treino com GPU
    DBAdaptadores por usuário
    QFila de geração
    CPWorkers de geração com GPU
    DBRetratos geradosretratos

04 · GPU

Agendar GPU para treino e para geração

No desenho abaixo, treino e geração têm filas e grupos de workers separados, no estilo de uma execução sem servidor orientada a trabalhos.

  1. O serviço de pedidos aparece ligado a duas filas separadas, a de treino e a de geração.

    Diagrama da arquitetura: Headshot personalizado: pools de GPU para treino e geração
    CPServiço de pedidos
    QFila de treinotreino
    QFila de geraçãogeração
    CPWorkers de treino com GPU
    CPWorkers de geração com GPU
    DBAdaptadores por usuário
    DBRegistro de adaptadores
    NWMonitoramento de filas e GPU
  2. Cada fila alimenta o seu próprio grupo de workers com GPU.

    Diagrama da arquitetura: Headshot personalizado: pools de GPU para treino e geração
    CPServiço de pedidos
    QFila de treino
    QFila de geração
    CPWorkers de treino com GPUpool de treino
    CPWorkers de geração com GPUpool de geração
    DBAdaptadores por usuário
    DBRegistro de adaptadores
    NWMonitoramento de filas e GPU
  3. O paper do DreamBooth informa um treino de cerca de cinco minutos numa NVIDIA A100 com Stable Diffusion.

    Diagrama da arquitetura: Headshot personalizado: pools de GPU para treino e geração
    CPServiço de pedidos
    QFila de treino
    QFila de geração
    CPWorkers de treino com GPUtreino por usuário
    CPWorkers de geração com GPU
    DBAdaptadores por usuário
    DBRegistro de adaptadores
    NWMonitoramento de filas e GPU
  4. Os dois grupos de workers aparecem ligados ao armazenamento de adaptadores, ao registro de adaptadores e ao monitoramento.

    Diagrama da arquitetura: Headshot personalizado: pools de GPU para treino e geração
    CPServiço de pedidos
    QFila de treino
    QFila de geração
    CPWorkers de treino com GPU
    CPWorkers de geração com GPU
    DBAdaptadores por usuáriopesos
    DBRegistro de adaptadorespessoa e adaptador
    NWMonitoramento de filas e GPUfilas e GPU

05 · CONSENTIMENTO

Consentimento, retirada e apagamento

O texto do GDPR diz que, quando o tratamento se baseia em consentimento, o controlador deve poder demonstrar que o titular consentiu (art. 7).

O mesmo artigo estabelece que deve ser tão fácil retirar o consentimento quanto dá-lo.

O art. 17 dá ao titular o direito de obter o apagamento dos dados pessoais sem demora injustificada e lista, entre os motivos, a retirada do consentimento em que o tratamento se baseia.

No desenho, o banco de pedidos guarda o registro de consentimento de cada pedido, e um fluxo de exclusão remove as fotos e o adaptador da pessoa. Este texto é material de estudo, não aconselhamento jurídico, e o requisito de conformidade depende do mercado atendido.

Perguntas frequentes

O que é Headshot personalizado?

Projeto de entrevista clássico. Pontos centrais: DreamBooth/LoRA, treino por usuário, agendamento de GPU e consentimento.

O que o design de Headshot personalizado cobre?

Ele está organizado nestas seções: O problema: um modelo que conhece uma pessoa, DreamBooth e LoRA: ensinar uma pessoa ao modelo, O pipeline de ponta a ponta, Agendar GPU para treino e para geração e Consentimento, retirada e apagamento.

Quanto tempo leva Headshot personalizado 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.