Skip to content
Latchkey

O que é um feature store? Servindo features de ML explicado

Um feature store é um sistema central que computa, armazena e serve as features de entrada que seus modelos usam, de forma que treinamento e serving vejam os mesmos valores.

Um feature store resolve um dos problemas mais complicados do machine learning: garantir que as features com que um modelo foi treinado sejam exatamente as features que ele vê em produção. É uma camada compartilhada que engenheiros e cientistas de dados usam para definir features uma vez e reutilizá-las em todos os lugares.

O que é um feature store

Um feature store é a infraestrutura para gerenciar features de ML - as entradas numéricas derivadas de dados brutos, como "valor médio de pedido nos últimos 30 dias". Ele armazena as definições de features, os valores computados e os metadados sobre como cada feature foi produzida. Exemplos populares incluem Feast e Tecton.

O problema do training-serving skew

Um bug clássico de ML é o training-serving skew: uma feature é computada de um jeito no pipeline de treinamento e de um jeito ligeiramente diferente no código de serving, de modo que o modelo em produção se comporta pior do que o offline. Um feature store corrige isso computando as features uma vez e servindo a mesma lógica para ambos os caminhos.

Offline e online stores

A maioria dos feature stores tem duas metades. O offline store guarda grandes valores históricos de features para treinamento, geralmente em um warehouse ou lake. O online store guarda os valores de features mais recentes em um banco de dados de baixa latência para inferência em tempo real. O feature store mantém os dois sincronizados.

Feature stores em CI/CD

As definições de features são código e devem fluir pelo CI: valide as definições, execute o pipeline de features contra dados de amostra e verifique que nenhuma feature tenha nulos ou intervalos inesperados antes de ser publicada. Materializar features pode ser um job de CI agendado que faz backfill do offline store e atualiza o online.

A feature pipeline stage
# Validate and materialize features in CI
steps:
  - run: feast apply              # register feature definitions
  - run: pytest tests/features    # check ranges and nulls
  - run: feast materialize-incremental $(date -I)

Nota da Latchkey

Jobs de materialização leem grandes tabelas históricas e podem ser famintos por memória. Na Latchkey você pode executá-los em runners maiores e fazer cache das pesadas dependências de Python e de dados entre execuções, enquanto o retry automático cobre timeouts transitórios de warehouse ou object store durante um backfill.

Principais conclusões

  • Um feature store computa, armazena e serve features de ML para que treinamento e inferência usem valores idênticos.
  • Ele previne o training-serving skew ao definir cada feature uma vez e reutilizá-la em todos os lugares.
  • As definições de features são código e devem ser validadas e materializadas por meio de jobs de CI.

Guias relacionados