Feature Store на собеседовании Data Scientist
Карьерник — Duolingo для аналитиков: 10 минут в день тренируй SQL, Python, A/B, статистику, метрики и ещё 3 темы собеса. 1500+ вопросов в Telegram-боте. Бесплатно.
Содержание:
Зачем разбирать на собесе
Feature store решает train/serve skew — главный production ML pain. На собесе DS / MLE: «зачем feature store», «отличие online и offline».
Что такое feature store
Централизованный сервис для:
- Хранения и версионирования features.
- Train/serve consistency.
- Sharing между ML-командами.
- Time-travel queries (point-in-time correct).
Concept:
Raw data → Feature pipelines → Feature Store → Train + ServeОдин источник истины для features.
Offline vs online store
Offline store — для batch training.
- Стек: Snowflake, BigQuery, S3 + Parquet, ClickHouse.
- Time-travel queries: «что было известно на момент X».
- Большой объём (terabytes).
- High throughput, latency не важна.
Online store — для real-time inference.
- Стек: Redis, DynamoDB, Cassandra.
- Low latency (< 10ms p99).
- Текущие значения, без истории.
- Меньший объём (последний state on каждый user/item).
Один feature может быть в обоих. Pipeline синхронизирует:
Source → Feature transform → Offline (batch) → Online (sync)
↓ ↓
Training InferenceTrain/serve consistency
Главная проблема.
- При training используем сложные SQL-агрегации в DWH.
- При serving — нужны те же features за миллисекунды.
- Если transformation пишется отдельно для train и serve — дрейф (skew) → модель деградирует.
Решение feature store.
- Один definition feature → автоматически выполняется в offline (batch) и online (real-time).
- Backend гарантирует консистентность.
@feature(...)
def avg_orders_30d(user_id):
return SELECT AVG(amount) FROM orders WHERE user_id = X AND ts > NOW() - 30dВ offline — запрос в DWH с time travel. В online — pre-computed value в Redis.
Tools: Feast, Tecton
Feast. Open source feature store. Декларативные definitions, плагины для разных backends.
from feast import FeatureView, Entity
user = Entity(name="user_id")
avg_orders = FeatureView(
name="user_avg_orders",
entities=[user],
source=BigQuerySource(table="metrics.user_avg_orders"),
online_store=RedisOnlineStore(...)
)Tecton. Managed feature store + computation. Полный workflow от raw data до features.
Hopsworks. Альтернатива open source.
Sagemaker Feature Store, Vertex AI Feature Store. Облачные.
Custom. Часто компании пишут свой простой store на Postgres + Redis.
Когда нужен
Подходит:
- Несколько ML-моделей share общие features.
- Нужны real-time predictions.
- Train/serve skew — реальная проблема.
- ML-team большая (5+ человек).
Overkill:
- Одна модель на одной команде.
- Только batch inference.
- < 10 features.
- MVP.
Частые ошибки
Считать FS panacea. Feature store не учит модель — это инструмент для consistency.
Online store без TTL. Старые features копятся, занимают память.
Не делать point-in-time correctness. Tutorials часто игнорируют. Без time-travel — leakage из будущего в прошлое.
Тяжёлые transformation в online store. Online должен быть lookup, не recompute. Heavy compute — в offline pipeline.
Игнорировать backfill. Если feature не существовал — сначала backfill для исторических данных, потом start serving.
Связанные темы
- MLflow и DVC на собесе DS
- Feature Engineering на собесе DS
- MLOps на собесе DS
- Cross-validation на собесе DS
- Подготовка к собесу Data Scientist
FAQ
Feast — production-ready?
Да. Используется в production в большом числе компаний (Tubi, Twitter и др).
Feature store vs DWH?
DWH хранит данные. Feature store — sub-product DWH с фокусом на ML serving + train/serve consistency.
Это официальная информация?
Нет. Статья основана на документации Feast / Tecton.
Тренируйте Data Science — откройте тренажёр с 1500+ вопросами для собесов.