Esta lição foi traduzida automaticamente para português e ainda não foi revisada por uma pessoa. Se algo parecer estranho, a versão em inglês é a definitiva.
Você passou pelas rodadas de codificação. Agora o entrevistador desliza um marcador no quadro branco sobre a mesa e diz: “Projete um sistema de recomendação para 50 milhões de usuários”. Suas palmas ficam úmidas - não porque você não conheça ML, mas porque você nunca praticou pensar em voz alta sobre sistemas inteiros. Esta lição fornece uma estrutura repetível que transforma aquela pergunta aberta em uma conversa estruturada.
O design de sistema de software tradicional concentra-se no fluxo de dados, armazenamento e escalabilidade. O design do sistema de ML adiciona uma dimensão extra: o modelo é um componente vivo que se degrada com o tempo, depende da qualidade dos dados e requer avaliação contínua.
Os entrevistadores não procuram um diagrama de arquitetura perfeito. Eles querem ver se você pode:
O maior erro que os candidatos cometem é ir direto para a seleção do modelo. Os entrevistadores relatam consistentemente que o enquadramento do problema e a discussão de dados são onde os candidatos se diferenciam.
Use esta estrutura como esqueleto para cada questão de design. Você não precisa gastar o mesmo tempo em cada etapa – adapte-se com base na pergunta – mas tocar em cada uma delas sinaliza maturidade.
Comece esclarecendo o objetivo. Pergunte: Como é o sucesso para o negócio?
Mapeie antecipadamente a métrica de negócios para um objetivo compatível com ML. Por exemplo, “aumentar o envolvimento do usuário” pode ser traduzido como “prever a probabilidade de clique em cada item e classificar por pontuação”.
Discuta de onde vêm os dados, como são coletados e quais problemas você prevê:
Inicie sessão para participar na discussão
Descreva os recursos que você extrairia. Agrupe-os logicamente:
| Grupo de recursos | Exemplos | |---|---| | Recursos do usuário | intervalo de idade, mandato, taxa histórica de cliques | | Recursos do item | categoria, faixa de preço, pontuação de popularidade | | Recursos de contexto | hora do dia, tipo de dispositivo, localização | | Recursos de interação | co-ocorrência usuário×item, profundidade da sessão |
Agora – e só agora – discuta modelos. Justifique sua escolha:
Cubra como você treinaria e validaria:
Escolha métricas que se alinhem com a meta de negócios. Precision@K para classificação, AUC-ROC para classificação binária, NDCG para listas ordenadas.
Discuta como o modelo chega aos usuários:
Explique o que você observaria após o lançamento: desvio de dados, mudanças na distribuição de previsões e métricas on-line por meio de testes A/B.
Imagine que você está projetando um sistema de detecção de fraudes. A empresa diz "pegue todas as fraudes". Por que o recall de 100% é um alvo perigoso e como você enquadraria a conversa em torno de compensações aceitáveis?
Em uma entrevista de design de sistema de ML, o que você deve fazer PRIMEIRO quando receber uma solicitação de design?
Os entrevistadores adoram discussões de compensação porque revelam profundidade de experiência. Aqui estão as compensações que mais surgem:
| Troca | Quando favorecer a esquerda | Quando favorecer o certo | |---|---|---| | Latência vs Precisão | Voltado ao usuário em tempo real (pesquisa) | Lote off-line (recomendações de e-mail) | | Modelo Simples vs Complexo | Dados pequenos, precisam de interpretabilidade | Grandes dados, a precisão é crítica | | Exibição em lote vs em tempo real | As previsões não mudam rapidamente | As previsões devem refletir o contexto mais recente | | Construir vs Comprar | Diferencial central para o negócio | Capacidade de mercadoria (por exemplo, OCR) |
Ao discutir uma compensação, use este padrão:
"Poderíamos escolher a opção A que nos dá [benefício], mas a desvantagem é [custo]. Alternativamente, a opção B [benefício], embora introduza [custo]. Dada [restrição específica do problema], eu me inclinaria para a opção A porque..."
A Netflix estima que seu sistema de recomendação economize para a empresa mais de US$ 1 bilhão por ano em redução de rotatividade. O valor desse sistema único de BC excede o PIB de alguns países pequenos.
Aviso: "Projete um sistema de moderação de conteúdo para uma plataforma de mídia social."
Por que uma abordagem de veiculação híbrida (geração de candidatos em lote + classificação em tempo real) é comum em sistemas de recomendação?
As melhores respostas de design de sistema de ML parecem uma conversa, não uma palestra. Faça uma pausa para conversar com o entrevistador, faça perguntas esclarecedoras e esteja disposto a mudar quando ele o empurrar em uma direção diferente.