К тренажеру
ВопросHardproduction-mlРеальный собес

Offline batch vs online inference в RecSys

Модель ранжирования готова. Как вывести ее в прод: offline batch или online inference?

Короткий ответ

Для 1500 видео рационален offline scoring с хранением top-N; online inference нужен при высокой свежести фичей или сложной персонализации в момент запроса.

Полный разбор

Offline путь: регулярный job считает рекомендации, кладет user_id -> list(video_id, score) в Redis/Postgres/feature store, а API быстро отдает список с fallback. Online путь: сервис получает user/context, собирает свежие фичи, скорит модель и отвечает в latency budget.

В обоих вариантах нужны Docker/CI, orchestration, мониторинг freshness, coverage, latency, errors, data/model drift и fallback на baseline при пустом ответе или деградации сервиса.

Теория

Serving design выбирается по freshness, latency, cost и failure mode, а не по тому, какая модель кажется красивее.

Типичные ошибки

  • Не назвать SLO.
  • Не описать fallback.
  • Не мониторить freshness и coverage.

Как отвечать на собеседовании

  • Начни с требований latency/RPS/freshness.
  • Объясни, почему для малого candidate set batch может быть лучше.