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.