В каком режиме запускалась модель — batch или сервисном
Что проверяют
Доводили ли вы модель до продакшена и понимаете ли, почему выбран именно такой режим. Вопрос про ваш опыт, поэтому следом спросят детали: как часто пересчитывали, какие были требования к задержке, как доставляли признаки и как следили за качеством.
Как отвечать
Начните с прямого ответа про свой проект, затем объясните выбор через требования продукта:
- batch: модель по расписанию прогоняется по всей выборке и пишет прогнозы в таблицу, откуда их читает продукт. Оркестрация через Airflow или аналог, расчёт на Spark или обычном Python. Подходит, когда прогноз нужен раз в час или раз в сутки: скоринг клиентов, прогноз спроса, рассылки. Дёшево, легко перезапустить, можно позволить тяжёлую модель;
- онлайн-сервис: модель отвечает на запрос через REST или gRPC. Обёртка на FastAPI или специализированные серверы вроде Triton, TorchServe, KServe, BentoML. Нужен, когда вход известен только в момент запроса: антифрод на транзакции, ранжирование выдачи. Здесь появляются бюджет задержки (p95, p99), масштабирование под пик и онлайн-доступ к признакам через feature store вроде Feast;
- потоковый режим: отдельный вариант, когда события идут из Kafka и обрабатываются Flink или Spark Structured Streaming. Его не стоит смешивать с онлайн-сервисом.
Хорошо звучит гибрид, если он был: кандидаты считаются ночью в batch, а онлайн-модель лишь переранжирует их по свежему контексту.
Отдельно скажите про эксплуатацию: где хранили версии моделей (MLflow Model Registry или своё решение), как выкатывали новую (shadow, canary, A/B), что мониторили (задержку, долю ошибок, дрейф признаков и прогнозов).
Если модель до продакшена не доходила, скажите честно и опишите, какой режим выбрали бы для своей задачи и почему.
Где спотыкаются
Называют онлайн-режим «обработкой данных в реальном времени». Сервис отвечает на запросы, а потоковая обработка это другая архитектура.
Не упоминают расхождение признаков между обучением и сервингом: в обучении признак считался SQL-запросом по истории, в сервисе его по-своему пересчитывает Python-код, и качество тихо падает.
Отвечают одним словом «batch», без частоты, объёма данных и потребителей прогнозов.