Введение
Feature Store (хранилище признаков) – специализированная система управления данными для машинного обучения, обеспечивающая централизованное хранение, вычисление, версионирование и предоставление ML-признаков. Feature Store стоит между источниками сырых данных и ML-моделями, гарантируя, что одни и те же признаки используются как при обучении, так и при инференсе в production.
Ключевая проблема, которую решает Feature Store – train-serve skew: расхождение между логикой вычисления признаков в offline (обучение) и online (prediction service) средах. Это расхождение является одной из наиболее частых причин деградации ML-моделей после деплоя.
История и контекст
Концепция Feature Store была впервые систематически реализована в Uber (Michelangelo, 2017) и Airbnb (Zipline, 2017). Позже открытые и коммерческие реализации появились от Feast (open source), Tecton, Vertex AI Feature Store (Google), Amazon SageMaker Feature Store, Databricks Feature Store. В России аналогичные решения реализуют крупные финтех-компании (Сбер, Тинькофф) в рамках собственных ML-платформ.
Как это работает
Feature Store обычно состоит из двух уровней:
- Offline store – хранилище исторических признаков для обучения (как правило, data lake или data warehouse: S3 + Parquet, BigQuery). Поддерживает point-in-time correct joins: признаки вычисляются по состоянию на момент события, а не текущему.
- Online store – low-latency хранилище актуальных признаков для real-time inference (Redis, DynamoDB, Cassandra). Обновляется потоком или по расписанию из offline store.
Дополнительные компоненты: Feature Registry – каталог доступных признаков с документацией и версиями; Feature Pipeline – ETL-процесс вычисления и обновления признаков; Materialization – процесс наполнения online store актуальными значениями.
Где применяется
- Рекомендательные системы – хранение и быстрое получение пользовательских и товарных embeddings для real-time рекомендаций.
- Антифрод – признаки транзакционного поведения пользователя с low-latency доступом при скоринге.
- Кредитный скоринг – исторические финансовые признаки с point-in-time correct joins.
- Персонализация – профили пользователей для content-based и collaborative filtering.
- Несколько ML-команд в организации – переиспользование признаков без дублирования вычислений.
Преимущества и ограничения
Преимущества: устраняет train-serve skew; ускоряет разработку через переиспользование признаков; централизованная документация и governance; point-in-time correctness при обучении.
Ограничения: значительные инфраструктурные затраты на поддержку online и offline хранилищ; сложность настройки; overhead при работе с нечасто используемыми признаками; риск «монолитизации» если Feature Store становится узким местом.
Связь с другими понятиями
Дрейф данных – Feature Store помогает обнаружить его через мониторинг статистик признаков. Online Inference потребляет признаки из online store Feature Store с минимальной задержкой. Batch Inference использует offline store для пакетной выборки признаков. MLflow логирует, какие версии признаков использовались при каждом обучении. DVC версионирует сырые данные до Feature Store.