Arquitetura real · Pleno
Airbnb: valor de imóveis
Arquitetura real em produção. Pontos centrais: zipline, do protótipo à produção e bighead.
Resposta curta
Arquitetura real em produção. Pontos centrais: zipline, do protótipo à produção e bighead. O Airbnb reconhecia que produtos de dados são caros de fazer. Projetos como ranking de busca personalizado e preço inteligente exigiram, cada um, muito tempo dedicado de ciência de dados e de engenharia.
01 · CONTEXTO
Prever o valor de um anúncio antes que ele renda
O Airbnb reconhecia que produtos de dados são caros de fazer. Projetos como ranking de busca personalizado e preço inteligente exigiram, cada um, muito tempo dedicado de ciência de dados e de engenharia.
O caso do post é a previsão do valor de vida do cliente (LTV), que captura o valor projetado de um usuário para um horizonte de tempo fixo, em geral em dólares. Em marketplaces, conhecer o LTV permite distribuir o orçamento entre canais de marketing com mais eficiência. O time foi além do histórico e previu o LTV de novos anúncios com machine learning.
02 · VISÃO GERAL
Quatro etapas, uma ferramenta para cada
Cientistas de dados costumam estar acostumados a engenharia de features, protótipo e seleção de modelo, mas levar um protótipo à produção pede habilidades de engenharia de dados que eles podem não ter. O post se organiza em quatro tópicos, cada um com a ferramenta usada.
| Etapa | Ferramenta | O que ela entrega |
|---|---|---|
| Engenharia de features | Zipline | Repositório de features de treino em níveis como anfitrião, hóspede, anúncio e mercado |
| Protótipo e treino | scikit-learn | Pipelines que descrevem como transformar as features e quais modelos treinar |
| Seleção de modelo | Ferramentas de AutoML | Seleção e benchmark de modelos |
| Produção | ML Automator | Tradução do notebook Jupyter em pipeline do Airflow |
Na prática do Airbnb, engenharia de features costuma significar escrever consultas Hive do zero, e esses pipelines raramente eram reaproveitáveis. O Zipline reúne features validadas por outras pessoas em projetos anteriores e, quando várias entram no treino, faz os joins por chave e preenche o histórico do conjunto de treino.
A pessoa de ciência de dados parte do repositório de features e reaproveita as que já foram validadas.
O repositório faz os joins por chave e preenche o histórico para montar o conjunto de treino.
No notebook, um pipeline especifica as transformações por tipo de feature e o modelo a treinar.
Ferramentas de AutoML entram para acelerar a seleção do modelo.
Com o notebook integrado, o ML Automator o converte em pipeline de produção.
03 · PROTÓTIPO E MODELO
Pipelines, AutoML e a escolha do XGBoost
O modelo usou mais de 150 features. Entre elas, as de preço incluem diária, taxa de limpeza e preço relativo a anúncios semelhantes; as de qualidade incluem notas de avaliação, número de avaliações e comodidades.
Os pipelines garantem que os dados sejam transformados de modo consistente no treino e na pontuação, o que resolve um problema comum de inconsistência ao traduzir protótipo em produção. Eles também separam as transformações do ajuste do modelo, e trocar o estimador é o caminho para fazer seleção de modelo.
| Opção | Ponto forte | Ponto fraco |
|---|---|---|
| Modelo linear esparso | Muito interpretável | Pode não ser complexo o bastante para generalizar bem |
| Modelo baseado em árvores | Flexível para capturar padrões não lineares | Pouco interpretável |
Seguros e análise de crédito exigem interpretabilidade para evitar discriminar clientes. No caso do LTV, o time usou ferramentas de AutoML para acelerar a seleção e viu o XGBoost superar de forma significativa modelos de referência como resposta média, regressão ridge e árvore de decisão única. Como o objetivo era prever valores, aceitou um modelo que privilegia flexibilidade sobre interpretabilidade.
04 · PRODUÇÃO
Do notebook ao pipeline diário
Um pipeline de produção é bem diferente de um protótipo no laptop: surgem perguntas sobre retreino periódico, pontuação eficiente de muitos exemplos e monitoramento do desempenho ao longo do tempo. Para isso o Airbnb construiu o ML Automator, que traduz um notebook Jupyter em um pipeline de dados do Airflow, pensado para quem tem pouca experiência em engenharia de dados.
O contrato é pequeno. Uma configuração do modelo diz onde está a tabela de treino, quanta computação alocar e como os scores são calculados; a função fit define o treino e a função transform vira uma UDF de Python para pontuação distribuída.
A pessoa de ciência de dados entrega um notebook com a configuração do modelo e as funções fit e transform.
Depois que o notebook é integrado, o ML Automator embrulha o modelo treinado em uma UDF de Python e cria o pipeline do Airflow.
O pipeline roda como um job em lote diário, que encapsula serialização de dados, agendamento do retreino e pontuação distribuída.
O treino lê a tabela de treino indicada na configuração, com a computação definida ali.
A função transform, embrulhada como UDF, pontua os exemplos de forma distribuída quando necessário.
Os scores alimentam decisões como a alocação de orçamento entre canais de marketing.
05 · LIÇÕES
Custo menor e limites do relato
Segundo o autor, combinar as ferramentas encurtou muito o ciclo de desenvolvimento e o custo de desenvolver modelos ficou significativamente menor. O design guiado por notebook reduz a barreira de entrada, e os notebooks usados em produção são garantidos como corretos, autodocumentados e atualizados.
Na época do post, outras equipes já exploravam ideias de produtos de ML com a mesma abordagem.
Perguntas frequentes
O que é Airbnb: valor de imóveis?
Arquitetura real em produção. Pontos centrais: zipline, do protótipo à produção e bighead.
O que o design de Airbnb: valor de imóveis cobre?
Ele está organizado nestas seções: Prever o valor de um anúncio antes que ele renda, Quatro etapas, uma ferramenta para cada, Pipelines, AutoML e a escolha do XGBoost, Do notebook ao pipeline diário e Custo menor e limites do relato.
Quanto tempo leva Airbnb: valor de imóveis e qual é o nível?
Leva cerca de 15 minutos para ler e tem nível Pleno.
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.