Problem
Data scientists compute features in notebooks for training while engineers reimplement them for production serving. The mismatch, called training-serving skew, degrades model accuracy and teams duplicate work.
Also known as: ml-feature-store, online-offline-feature-store
Centralize definition, computation and serving of machine learning features for consistent training and inference.
Data scientists compute features in notebooks for training while engineers reimplement them for production serving. The mismatch, called training-serving skew, degrades model accuracy and teams duplicate work.
A feature store manages the inputs to machine learning models as shared, versioned assets. It addresses two problems: duplicated feature code and mismatches between how features are computed for training versus production.
Features are declared against an entity such as user or merchant, with a source and transformation. Materialization jobs compute values and write them to both stores.
sources --> transform (batch/stream)
|--> offline store (history, columnar) --> training sets
+--> online store (latest per key) --> inference API
model request: get_features(user_id=42, ["orders_7d", "avg_basket"])
Point-in-time joins are central. For a label at time T, the offline store returns the feature value as known at T, never later. Without this, training includes information unavailable in production, and offline metrics look better than reality.
Freshness varies by feature: daily batch for slow signals, streaming aggregation for counters such as clicks in the last ten minutes. Some features are computed on request from the incoming payload and do not need storage.
Medium - online and offline stores
High - materialization pipelines and monitoring
Medium - point-in-time semantics
Online and offline values diverge causing skew
Training data leaks future values
Stale online features after a failed materialization job