Безопасный rollout ONNX-модели в production
Как безопасно выкатить новую версию ONNX-модели в production: какие проверки сделать до релиза, как включать трафик, что мониторить и как быстро откатиться?
Ответить самому
Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.
Короткий ответ
Нужны versioned artifacts, совместимость схем, staging, shadow/canary, health check с реальным inference, мониторинг latency/error/quality и быстрый rollback на предыдущую активную версию.
Полный разбор
Сначала фиксируем, что именно является релизом: ONNX-файл, preprocessing/postprocessing, schema признаков, версию зависимостей, конфиг порогов и serving image. Все это должно быть версионировано вместе с metadata: дата обучения, данные, offline-метрики, expected input/output schema и совместимость runtime.
До релиза нужны проверки: загрузка модели, inference на контрольных примерах, сравнение с эталонными предсказаниями, проверка типов и shape, representative load test, latency budget и smoke test на staging. Если модель зависит от таблиц или feature store, данные нельзя перезаписывать in-place: лучше публиковать новую версию, валидировать counts/freshness/quality и атомарно переключать active pointer.
В production rollout делаем постепенно: shadow traffic без влияния на пользователя, затем canary на малую долю трафика, затем расширение при нормальных guardrails. Мониторим error rate, p95/p99 latency, timeout, memory/CPU, долю пустых/аномальных ответов, drift входов и бизнесовые proxy-метрики. Rollback должен быть заранее проверенной операцией: вернуть указатель на предыдущую модель или предыдущий сервисный image без ручной пересборки.
Теория
Production ML reliability depends on both service rollout and data/model artifact rollout.
Типичные ошибки
- Tell a vague story with no detection or prevention.
- Only say “we fixed it” without root cause.
- Update serving data in place without an atomic swap.
Как отвечать на собеседовании
- Use the sequence: impact, detection, mitigation, root cause, prevention.
- Mention canary, rollback and active-version pointers.