Назад к подготовке

Online и offline рекомендации под latency constraints

Какие подходы к рекомендациям можно использовать и как выбирать между offline precompute и online inference, если важны latency, RPS и качество?

Ответить самому

Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.

Загрузка

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

Offline подходит для тяжелых моделей, больших feature sets и заранее посчитанных candidate lists. Online нужен для свежего контекста, но требует latency/RPS budget, легких моделей, caching и ограниченного числа кандидатов.

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

В рекомендациях часто есть несколько семейств подходов: popularity/item-to-item, collaborative filtering, content-based embeddings, graph models, two-tower retrieval, transformer/sequential models и reranking. Production-архитектура обычно делит систему на candidate generator и reranker.

Выбор online/offline начинается с freshness и latency. Offline precompute позволяет использовать тяжелые модели, посчитать embeddings/features заранее, сделать сложные reranking heuristics и положить результат в DWH/KV/vector index. Но он хуже реагирует на текущую сессию, новые items и быстрые изменения интересов.

Online inference дает свежий контекст, но ограничен p95 latency, RPS, memory и cost. Поэтому в online часто берут легкие models, small candidate sets, caching, approximate retrieval, feature store и graceful fallback. Хороший ответ на интервью должен явно назвать latency budget и объяснить, какие признаки и модели можно перенести offline.

Теория

Online/offline serving - это trade-off между freshness, latency, cost и сложностью модели.

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

  • Выбрать самую сильную модель без latency budget.
  • Предполагать, что offline precompute всегда достаточно свежий.
  • Не иметь fallback, если online model недоступна.

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

  • Сначала спросите про freshness SLA и p95 latency.
  • Разделите candidate generation, feature precompute и reranking.