Эта глава из темы 3 фокусируется на AI/ML workflows, feature pipelines и rollout-контуры. Здесь важно не только предложить рабочую схему, но и показать, как она ведёт себя при росте нагрузки и сбоях.
Используйте структуру разбора: требования -> архитектура -> критический deep dive -> эволюция. Такой подход делает решение прозрачным и интервью-устойчивым.
Offline/Online Parity
Контролируйте консистентность фичей и схему данных между training и serving слоями.
Rollout Safety
Canary, shadow, rollback и drift-alerting должны быть частью базовой архитектуры.
Data Quality
Нужны guardrails для freshness, lineage и предотвращения training-serving skew.
Platform Efficiency
Оптимизируйте стоимость pipelines, feature storage и inference latency.
Playbook прохождения кейса
Определите feature contract
Фаза 1Согласуйте схему и семантику фичей между offline и online контурами.
Постройте rollout-политику
Фаза 2Опишите canary/shadow/rollback и мониторинг качества модели.
Закройте data quality риски
Фаза 3Добавьте проверки freshness, lineage и drift/скос распределений.
Оптимизируйте стоимость
Фаза 4Покажите баланс между SLA инференса и ценой feature/model pipelines.
Контекст
Machine Learning System Design
Базовый обзор архитектуры ML-систем: после него проще аргументировать решения по Feature Store на интервью.
Design a Feature Store - это классическая ML System Design задача. Интервьюер ждёт, что вы покажете, как обеспечить parity между training и inference, как контролировать freshness и что произойдёт при деградации online serving пути.
Границы скоупа главы
Покрываем в этой главе
- Feature contracts и data plane: registry, offline/online stores, materialization и retrieval API.
- Контроль online/offline parity, point-in-time корректности и training-serving skew.
- Надёжность inference feature path: latency/freshness SLA, fallback и operational guardrails.
Что не покрываем
- Оркестрация обучения, выбор модели и управление experiment lifecycle.
- Release governance на уровне model registry: approval policy, canary/shadow rollout и rollback решений.
- Сквозной retraining loop, drift-driven release cadence и ownership всей ML delivery цепочки.
Сквозной lifecycle и release governance разобраны в ML Ops Pipeline.
Problem & Context
Functional requirements
- Единый реестр фичей: owner, schema, entity keys, source-of-truth и версия трансформации.
- Offline retrieval для train/validation с point-in-time корректностью без data leakage.
- Online retrieval для inference с низкой задержкой и предсказуемым API-контрактом.
- Materialization из batch/stream пайплайнов в online store с контролем freshness.
- Backfill и переигрывание истории при изменении feature logic без ручных ad-hoc скриптов.
Non-functional requirements
- Online read latency: p95 < 30 ms. Иначе Feature Store становится bottleneck для user-facing inference path.
- Availability: 99.95%+. Недоступность online store блокирует модели в критичном продуктовой цепочке.
- Freshness SLA: <= 5 минут для hot features. Старые фичи быстро ухудшают качество ранжирования/рекомендаций/антифрода.
- Skew detection: 0 критичных skew без алерта. Training-serving skew должен выявляться до пользовательской деградации.
Scale & Capacity assumptions
Inference traffic
40k-120k RPS
Пиковая нагрузка в online store при recommendation/fraud сценариях.
Feature vectors
50-300 features/request
Требуется батчевый fetch по ключу сущности и эффективная сериализация.
Entity cardinality
100M+ users/devices/items
Большая кардинальность влияет на shard strategy и размер online индекса.
Streaming ingress
1M-3M events/s
Нужны backpressure controls и идемпотентная materialization логика.
Daily offline snapshots
2-8 TB/day
Backfill и point-in-time joins требуют продуманной partition/layout политики.
Связанная глава
ETL/ELT Architecture
Feature Store опирается на зрелые batch/stream pipelines и устойчивую orchestration-модель.
Architecture
В архитектуре Feature Store важно явно разделить ingest-контур, offline контур для обучения и online контур для inference. Так проще контролировать training-serving skew и выдерживать SLA.
Feature Store Architecture
Подсветите контур: ingestion, offline, online или observability
Event Sources
Продуктовые события, CRM, billing, клики, логи
Batch ETL/ELT
Ежедневные/почасовые пайплайны и backfill
Stream Processing
Near real-time трансформации с watermark
Offline Store
Исторические snapshots для train/validation
Feature Registry
Схемы, owners, versions, SLA, lineage
Materialization Service
Upsert в online store, dedup и conflict policy
Online Store
Низколатентный key-value для inference
Serving SDK / Gateway
Стабильный API-контракт для моделей
SLA
Layer responsibilities
Feature Registry
Каталог фичей с schema/versioning, owner, SLA, lineage и статусом готовности для production.
Ingestion & Transform
Batch ETL/ELT + stream processing. Логика расчёта фичей оформлена как переиспользуемые transformation contracts.
Offline Store
Хранение исторических фичей для обучения, replay и reproducible training datasets.
Online Store
Низколатентное key-value чтение для inference. Поддерживает TTL, частичную инвалидацию и hot-key защиту.
Materialization Service
Доставляет рассчитанные фичи в online store, контролирует watermark, late events и exactly-once semantics (где возможно).
Serving SDK / Gateway
Единый API для feature fetch, который фиксирует request schema и защищает клиентов от внутренних изменений.
Quality & Observability
Метрики freshness, availability, skew, null-rate, latency; алерты и дашборды по бизнес-критичным фичам.
Feature contract strategy
Фиксируйте в registry entity key, трансформацию, TTL, freshness SLA и ответственного owner. Это снижает риск hidden skew при обновлениях и упрощает rollback, если модель деградирует.
Deep dives
Point-in-time correctness
Training dataset должен включать только те значения фичей, которые были известны на момент события. Это требует event-time joins и жёстких time travel правил.
Materialization consistency
Batch и stream контуры могут пересекаться. Нужны idempotent upserts, дедупликация и политика разрешения конфликтов по времени/версии.
Training-serving skew control
Сравнивайте распределения фичей между offline train snapshots и online production трафиком; фиксируйте skew budget и авто-rollback при превышении.
Online degradation plan
При сбоях Feature Store сервис inference должен уметь переходить в fallback: cached features, reduced feature set или rule-based baseline.
Trade-offs
Сильная нормализация feature definitions уменьшает дублирование, но замедляет скорость локальных экспериментов команд.
Streaming-first улучшает freshness, но заметно повышает операционную сложность и стоимость on-call поддержки.
Единый global Feature Store упрощает governance, но увеличивает blast radius при ошибках materialization.
Aggressive TTL для online store снижает stale risk, но повышает вычислительную нагрузку и churn в кэше.
Рекомендации
- Начинайте с ограниченного набора high-impact фичей и формализованного owner-моделя на каждую фичу.
- Версионируйте transformations как код и делайте обязательные schema/skew проверки в CI/CD.
- Декомпозируйте SLA на ingest, materialization и online read, чтобы быстро локализовать деградацию.
- Проектируйте fallback path до production rollout, а не после первого инцидента.
Частые ошибки
- Feature logic дублируется в ноутбуках и прод-коде без общего registry и versioning.
- Training snapshots собираются без point-in-time правил и дают скрытый data leakage.
- Online store обновляется без мониторинга freshness/skew, из-за чего деградация заметна только на бизнес-метриках.
- Команда запускает модель без fail-open/fail-safe стратегии при недоступности Feature Store.
References
- Feast documentation - Практический open-source reference по registry, offline/online stores и materialization jobs.
- Hopsworks Feature Store docs - Подход к feature groups, training datasets и online serving в единой платформе.
- Tecton docs - Production-паттерны feature engineering, realtime transformations и feature serving.
- Google Cloud MLOps architecture guide - Системный взгляд на ML delivery pipelines и эксплуатационные контуры.
Связанные главы
- Как устроен раздел задач по System Design - Вводная карта раздела кейсов и общий фреймворк, в который встраивается этот кейс.
- Machine Learning System Design (short summary) - Системный обзор ML lifecycle, где Feature Store занимает ключевое место между data и serving.
- AI Engineering (short summary) - Production-практики для AI-продуктов: evaluation, deployment, governance и операционная зрелость.
- ETL/ELT Architecture - Основа batch-контуров, backfill и orchestration для вычисления фичей.
- Designing Event-Driven Systems (short summary) - Паттерны streaming ingestion и delivery semantics для near real-time feature updates.
- Data Governance & Compliance - Контроль PII, lineage и auditability для чувствительных feature pipelines.
- Observability & Monitoring Design - Метрики freshness, skew и latency как часть общего reliability-контракта.
- ML-платформа в Т-Банке - Практический контекст platform engineering для ML workflows в крупной организации.
