МОДУЛЬ 23 · Middle+ · 3 час

Кто чинит модель в три часа ночи

Модель побила бейзлайны — самое лёгкое позади. Дальше пайплайны, честный эксперимент, мониторинг и ответ на вопрос, кто за всё это отвечает.

Пройти модуль в симуляторе Все 23 урока

Первые два модуля бесплатны, без карты. Остальные — по подписке $20/мес.

🏢 Ситуация

Модель прогноза спроса для «СуперМегаРитейла» побила все бейзлайны. Виктор:

«Поздравляю, самое лёгкое позади. Теперь — то, что отличает систему от модели: обучающие пайплайны, честный эксперимент, интеграция в процессы закупок, мониторинг и ответ на вопрос "кто чинит в 3 часа ночи". Допиши design doc до конца — это твой экзамен на настоящего мидла с прицелом на сеньора.»

🎯 Ваша задача

  1. Разделить training pipeline и inference pipeline; понять роль feature store.
  2. Спроектировать A/B-эксперимент и отчёт о результатах (debrief).
  3. Построить мониторинг четырёх уровней и различать типы дрейфа.
  4. Спроектировать fallback'и, release cycle и владение системой.

📚 Теория

Training pipeline ≠ inference pipeline

Обучение и инференс — разные системы с разными требованиями:

Training Inference
Запуск по расписанию/триггеру 24/7 или батчем к дедлайну заказа
Требования воспроизводимость, дешёвая переигровка латентность, надёжность, fallback
Опасность тихая деградация данных падение сервиса в час пик

Их общая точка — признаки: они обязаны считаться одинаково там и там (иначе training/serving skew). Отсюда feature store или, минимум, общая библиотека фичей + логирование фактических признаков инференса.

Пайплайн обучения должен быть тестируемым: юнит-тесты на трансформации, property-based тесты («прогноз ≥ 0», «сумма долей = 1»), smoke-обучение на сэмпле в CI.

A/B-тест системы и debrief

Дизайн эксперимента для прогноза спроса нетривиален: юнит рандомизации — не пользователь, а магазин (спилловеры внутри магазина). Ключевые решения из книги:

Мониторинг: четыре уровня и типы дрейфа

Книга делит мониторинг ML-системы на уровни: входные данные → модель → выход модели → принятие решений. Плюс обычное здоровье сервиса (латентность, ошибки).

Постепенный дрейф поведение меняется медленно: плановое переобучение

Внезапный дрейф локдаун, смена процесса, релиз: алерт + fallback + пересборка

Повторяющийся дрейф сезоны, праздники, дни недели: закладываем в дизайн системы

Три типа концепт-дрейфа и реакция на каждый: постепенный лечится плановым переобучением, внезапный — алертами и fallback'ом, повторяющийся — учётом в самой модели.

Словарь, который спрашивают на собеседованиях:

Реакции: переобучить на свежем, перестроить модель, включить fallback. Чтобы понять частоту переобучения — «тест на старение»: обучите модель на данных до T и измерьте деградацию качества по мере удаления от T.

Интеграция: API, релизы, fallback'и

Что запомнить

  • Training и inference — разные пайплайны с общими признаками; skew убивает тихо.
  • A/B для систем: юнит рандомизации ≠ пользователь; debrief-документ обязателен, даже (особенно) при отрицательном результате.
  • Дрейф бывает данных / концепта / выхода; тип дрейфа определяет реакцию.
  • Fallback-иерархия и владение (accountability, bus factor, runbook) — то, что делает систему живучей.

Дальше в модуле: Практика

Пошаговый разбор решения, код и квиз на 5 вопросов.

Открыть модуль →

Соседние уроки

22 Advanced · Метрики, данные, валидация, бейзлайны

Программа целиком — 23 урока