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.
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.
No diagrama, o navegador aparece ligado ao gateway da API, e o gateway ao serviço de pedidos.
O serviço de pedidos aparece ligado ao armazenamento das fotos e ao banco de pedidos e consentimentos.
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.
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.
O armazenamento de retratos gerados aparece ligado aos workers de geração e ao serviço de pedidos.
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.
O serviço de pedidos aparece ligado a duas filas separadas, a de treino e a de geração.
Cada fila alimenta o seu próprio grupo de workers com GPU.
O paper do DreamBooth informa um treino de cerca de cinco minutos numa NVIDIA A100 com Stable Diffusion.
Os dois grupos de workers aparecem ligados ao armazenamento de adaptadores, ao registro de adaptadores e ao monitoramento.
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.