Ir para o conteúdo principal
Anúncios

Apresentando as Feature Views

Uma maneira mais simples e gerenciada de criar, servir e governar features de ML

por Nick Joung, Ian Ackerman e Julia Brouillette

  • O que é: As Feature Views são um framework gerenciado para definir uma feature de ML uma vez e usá-la em qualquer lugar — a mesma definição alimenta dados históricos para experimentação e treinamento, bem como pipelines de produção para inferência em lote ou em tempo real.
  • O desafio que resolve: Colocar ML em tempo real em produção. Experimente com features em um notebook e coloque-as em produção rapidamente com poucas chamadas de API. Elimine o desvio entre treinamento e serviço (training/serving skew), códigos de features duplicados e infraestruturas frágeis e autogerenciadas de streaming e online store que dificultam a escala do ML.
  • O resultado: As features se tornam objetos governados do Unity Catalog, materializados por pipelines gerenciados, com features de streaming servidas com um p99 de 200 ms de ponta a ponta.

Em um mundo perfeito, as features de ML são criadas apenas uma vez. Mas, para muitas equipes, uma feature que funciona em um notebook ainda se transforma em lógica duplicada, pipelines frágeis, backfills pontuais, integrações complexas de online store e sobrecarga de governança. Para casos de uso em tempo real, como detecção de fraude, personalização e recomendações, essa complexidade se torna ainda mais difícil de absorver porque os modelos dependem de sinais recentes para fazer previsões precisas. Os desafios comuns incluem:

  • Reimplementação da lógica de features em treinamentos históricos e em tempo real
  • Desvio entre treinamento e serviço (training/serving skew) degradando o desempenho do modelo
  • Descoberta e reutilização de features em diferentes casos de uso
  • Realização de backfill de features com longo histórico retroativo na online store
  • Manutenção de infraestrutura de produção complexa em escala
  • Governança e rastreamento de linhagem entre componentes e pipelines

A Databricks tem o prazer de anunciar o Preview Público do Feature Views, um framework para criar pipelines de features gerenciados diretamente no Databricks. Com o Feature Views, você cria uma feature uma única vez e deixa que a plataforma cuide de tudo, desde a experimentação até o fornecimento em tempo real (serving).

O que são Feature Views?

Uma Feature View é uma abstração simples e poderosa que abrange todo o ciclo de vida de ML. Um cientista de dados ou engenheiro de ML define sua lógica de feature — a origem, a entidade, a coluna de série temporal e o cálculo. A partir dessa única definição, o Feature Store da Databricks gera dados históricos precisos no tempo (point-in-time) para experimentação e treinamento. Quando estiverem prontos, os usuários materializam a Feature View, e a Databricks executa as pipelines que calculam os dados de features para uma inferência eficiente.

A mesma definição de feature suporta fontes em batch e streaming. A experimentação e a colocação em produção são as mesmas para ambas as fontes. Mudar de uma fonte em batch para uma fonte em streaming é tão simples quanto escrever algumas linhas de código.

Aqui está a mesma definição de Feature View, sendo executada como uma feature em streaming e em batch.

Por que usar o Feature Views?

1. Uma única definição, sem desvios (skew)

A maior causa de falhas em ML em tempo real é a lacuna entre como uma feature é calculada para o treinamento e como ela é calculada no momento do serving (disponibilização). O Feature Views elimina essa lacuna por padrão: existe uma única definição, e a plataforma calcula os valores de treinamento e os valores de inferência online com base nessa definição única para que eles coincidam. Para as equipes de ML, isso significa muito menos código para manter e um caminho muito mais simples para a produção.

Melhores recomendações para centenas de milhões de viajantes começam com melhores features. O Feature Views reduziu drasticamente nosso código de features — nossos cientistas de dados trabalham mais rápido e focam no que agrega valor ao viajante, não em como calculá-lo.—Jules Marshall, Diretor Sênior de Dados, Skyscanner

2. Genie Code para experimentação

GIF mostrando o Feature Views em ação

Comece a desenvolver de forma rápida e fácil com o SDK do cliente de Feature Engineering e o Genie Code. O SDK simplifica a declaração de features localmente em um notebook, calcula-as instantaneamente de forma correta em dados históricos e monta um conjunto de treinamento preciso no tempo (point-in-time).

Como o Databricks reúne definições de features, dados de features, treinamento de modelos e o MLflow em um único ambiente, os cientistas de dados podem passar da ideia de uma feature para o experimento do modelo em um único notebook.

Com o Genie Code, as equipes podem usar o Feature Views para executar fluxos de trabalho de experimentação de modelos em uma única etapa (one-shot): identificando as fontes de dados corretas, gerando ideias de features e experimentando com modelos e dados em um único notebook.

3. Pipelines prontos para produção que você não precisa operar

Quando uma feature estiver pronta para produção, registre-a no Unity Catalog e chame materialize_features. O Databricks cria e gerencia as pipelines para você, gravando nos armazenamentos online e offline apropriados.

Pronto para produção significa dados de alta qualidade, infraestrutura escalável e confiabilidade para missões críticas. Por baixo dos panos, o Feature Views orquestra produtos GA testados em batalha, como o Lakebase e o RTM, otimizando a colaboração entre os componentes para suportar cargas de trabalho de Feature Serving. Casos excepcionais funcionam de forma nativa, como o backfill de janelas longas, features de streaming ou a expiração de linhas desatualizadas da online store.

4. Dados atualizados em tempo real quando você precisar

Para casos de uso em que cada novo evento deve alterar imediatamente o valor fornecido ao modelo, o Feature Views suporta features de streaming originadas do Kafka, oferecendo uma latência p99 de ponta a ponta de 200 ms desde o evento até a disponibilidade online. Um RollingWindow analisa retrospectivamente a partir do carimbo de data/hora (timestamp) de cada evento com resolução de milissegundos, de modo que uma agregação como "soma das transações nos últimos 10 minutos" esteja sempre atualizada.

Por baixo dos panos, o Databricks orquestra os componentes que tornam isso rápido: o Spark Realtime Mode processa eventos continuamente e atualiza agregações contínuas por evento, em vez de esperar por micro-lotes; o Lakebase serve como uma online store otimizada para streaming que minimiza a amplificação de gravação para upserts frequentes e pequenos; e o Model Serving recupera as features no momento da inferência. Você cria a feature de janela contínua (rolling-window) — a plataforma cria a pipeline.

5. Governado no Unity Catalog, integrado em toda a plataforma

As Features Materializadas são dados e devem ser governadas como dados. No Databricks, as Feature Views são objetos de primeira classe do Unity Catalog — detectáveis, com controle de acesso e rastreadas com linhagem completa. As features são empacotadas com o modelo: quando você registra um modelo com o MLflow, suas dependências de features são gravadas e, no momento da inferência, o Model Serving busca automaticamente as features necessárias — sem código de busca personalizado, sem integrações manuais. Combinado com o MLflow, o Model Serving e o Genie Code, o Feature Views torna o Databricks um local único para desenvolver, implantar e governar toda a sua pilha de ML.

GIF do Genie Code adicionando features a um notebook

O Genie Code é integrado nativamente ao Feature Views, permitindo que os cientistas de dados criem e iterem em features a partir de prompts simples. Peça para adicionar novas features a um notebook, e o Genie Code poderá gerar o código correto no contexto, usando os dados e a governança já existentes no Databricks.

Como as equipes estão usando o Feature Views

  • Equipes de serviços financeiros usam features de streaming RollingWindow para obter sinais de transação em menos de um segundo para detecção de fraude.
  • Equipes de personalização e recomendação capturam a intenção mais recente do usuário na sessão para impulsionar o engajamento, enquanto reutilizam as mesmas definições offline para treinamento de modelos.
  • Equipes de plataforma consolidam pipelines de features anteriormente fragmentados em objetos governados do Unity Catalog, eliminando a carga operacional de online stores e processadores de streaming autogerenciados.

Primeiros passos

Para começar, basta pedir ao Genie para usar Feature Views para criar um novo experimento.

Ele pode ajudar você a definir uma feature, analisar a importância para o seu dataset, criar um conjunto de treinamento e — quando estiver tudo pronto para a produção — registrar e materializá-la. A materialização de streaming também exige um workspace de nível Enterprise em uma região que ofereça suporte ao Lakebase.

Para saber mais, confira a documentação:

O Feature Views permite que você crie uma feature uma única vez e a utilize em experimentação, batch e serving em tempo real — sem precisar gerenciar a infraestrutura subjacente por conta própria. Pegue uma feature de batch existente e veja quão mais forte é o sinal que ela fornece com atualização em nível de milissegundos, e deixe que o Databricks execute os pipelines para chegar lá.

Se você quer trabalhar com esse tipo de problema, estamos contratando.

(Esta publicação no blog foi traduzida utilizando ferramentas baseadas em inteligência artificial) Publicação original

Receba os posts mais recentes na sua caixa de entrada

Assine nosso blog e receba os posts mais recentes diretamente na sua caixa de entrada.