Головна▸Статті▸MLOps та продакшн ML системи

Feature Stores у продакшені

Побудова та операції feature stores - online/offline serving, версіонування фіч, консистентність та патерни інтеграції.

mysimulator teamОновлено 2026-01≈ 3 хв читання▶ Open the simulation

Feature store - це централізована система для зберігання, управління та обслуговування ML фіч. Вона вирішує проблему консистентності фіч між навчанням та serving, дозволяє sharing фіч між командами та надає єдине джерело правди для визначень фіч.

Де використовується

Feature stores забезпечують ML платформи в різних галузях:

Компанії з feature stores: Uber (Michelangelo), Airbnb (Zipline), Netflix, Spotify, LinkedIn.

Типова архітектура

┌─────────────────────────────────────────────────────────────┐
│                     Feature Store                          │
├─────────────────────────────────────────────────────────────┤
│  ┌─────────────────┐    ┌─────────────────┐               │
│  │  Offline Store  │    │  Online Store   │               │
│  │  (Historical)   │    │  (Low-latency)  │               │
│  │  - Parquet/S3   │    │  - Redis        │               │
│  │  - BigQuery     │    │  - DynamoDB     │               │
│  └─────────────────┘    └─────────────────┘               │
│           │                      │                         │
│           ▼                      ▼                         │
│  ┌─────────────────────────────────────────────┐          │
│  │         Feature Registry/Catalog            │          │
│  └─────────────────────────────────────────────┘          │
└─────────────────────────────────────────────────────────────┘
        │                              │
        ▼                              ▼
   Training                       Inference
   (batch)                        (real-time)
Компонент Призначення Типова технологія
Offline store Історичні фічі для навчання S3/Parquet, BigQuery
Online store Low-latency serving Redis, DynamoDB
Feature registry Визначення, метадані Custom, Feast registry

Що робимо на практиці

  1. Визначити вимоги до фіч - Які фічі, яка свіжість, яка латентність?
  2. Спроєктувати схему фіч - Entity, features, timestamps
  3. Побудувати transformation pipelines - Raw data → features
  4. Зареєструвати фічі - Визначення, власники, документація
  5. Матеріалізувати в stores - Offline та online за потреби
  6. Валідувати консистентність - Training/serving skew checks
  7. Обслуговувати фічі - API для online, point-in-time для offline
  8. Моніторити використання та якість - Tracking, alerting
  9. Версіонувати та еволюціонувати - Обробка schema changes
  10. Sharing між командами - Discovery, reuse

Baseline з Feast

from feast import FeatureStore, Entity, Feature, ValueType
from feast import FileSource, FeatureView
from datetime import timedelta

# Визначити entity
customer = Entity(name="customer_id", value_type=ValueType.INT64)

# Визначити feature view
customer_features = FeatureView(
    name="customer_features",
    entities=["customer_id"],
    ttl=timedelta(days=1),
    features=[
        Feature(name="total_purchases", dtype=ValueType.INT64),
        Feature(name="avg_order_value", dtype=ValueType.FLOAT),
    ],
    source=customer_source,
)

# Використання feature store
store = FeatureStore(repo_path=".")

# Training: отримати historical features
training_df = store.get_historical_features(
    entity_df=entity_df,
    features=["customer_features:total_purchases"]
).to_df()

# Serving: отримати online features
online_features = store.get_online_features(
    features=["customer_features:total_purchases"],
    entity_rows=[{"customer_id": 1001}]
).to_dict()

Опції Feature Store

Опція Тип Найкраще для
Feast Open source Початок, гнучкість
Tecton Managed Enterprise, real-time
Databricks Feature Store Integrated Databricks користувачі
Vertex AI Feature Store Managed GCP користувачі
SageMaker Feature Store Managed AWS користувачі

Ключові концепції

Point-in-time correctness: Фічі повинні обчислюватися станом на час prediction, не поточний час.

Training/serving skew: Різниці між фічами, обчисленими для навчання vs serving, спричиняють деградацію моделі.

Feature freshness: - Batch фічі: Оновлюються hourly/daily - Streaming фічі: Оновлюються в real-time - On-demand фічі: Обчислюються в момент запиту

Моніторинг та метрики

Метрика Опис Ціль
Serving latency P50/P99 час отримання фіч < 10ms P99
Feature freshness Час з останнього оновлення Залежить від SLA
Training/serving skew Різниця розподілів < threshold
Feature coverage % запитів з усіма фічами > 99%

Типові проблеми

Чекліст продакшену

Перед деплоєм: - [ ] Визначення фіч задокументовані - [ ] Transformations протестовані та валідовані - [ ] Point-in-time correctness верифіковано - [ ] Online/offline консистентність перевірена - [ ] Латентність вимогам відповідає

Після деплою: - [ ] Feature freshness моніториться - [ ] Distribution drift відстежується - [ ] Serving latency моніториться - [ ] Pipeline health alerting - [ ] Cost моніторинг

Інструменти

Категорія Інструменти
Feature stores Feast, Tecton, Hopsworks
Offline storage S3/Parquet, BigQuery, Snowflake
Online storage Redis, DynamoDB, Cassandra
Transformation Spark, Flink, dbt
Orchestration Airflow, Prefect, Dagster

Пов'язані сторінки

Додаткове читання

Спробуйте наживо

Дослідіть пов'язану модель на практиці: відкрийте Feature Store Skew Detector і змінюйте параметри під час роботи. Усе лишається у вашому браузері.

▶ Відкрити симуляцію Feature Store Skew Detector

Що ви знайшли?

Додати кроки відтворення (опційно)