Назад к подготовке
ВопросЛегкаяmlsd-recsysML System Design на скрининге · Dodo

Из каких этапов состоит современная рекомендательная система

Из каких двух основных этапов обычно состоит рекомендательная система? Объясните candidate generation и ranking коротко, но не поверхностно.

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

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

Загрузка

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

Обычно есть candidate generation, где быстро набираем сотни/тысячи кандидатов, и ranking/reranking, где более дорогая модель сортирует top-K под цель продукта.

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

Базовый ответ: современная RecSys часто делится на два крупных этапа. Первый - candidate generation. Он должен быстро найти ограниченный набор потенциально релевантных объектов из большого каталога: через популярное, item-item, user-item, two-tower, ANN или бизнесовые правила.

Второй этап - ranking или reranking. Здесь кандидатов уже мало, поэтому можно использовать более богатые признаки: пользователь, товар, контекст, цена, наличие, история, свежесть, промо, diversity. На выходе система выбирает top-K и применяет фильтры/ограничения.

Хорошо добавить, что вокруг этих этапов есть retrieval storage, feature store, online serving, A/B-тесты, мониторинг и fallback. Но сначала важно назвать два главных контура и объяснить, зачем они разделены.

Теория

Двухэтапная архитектура нужна из-за масштаба: нельзя дорогой моделью скорить весь каталог на каждый запрос.

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

  • Говорить только "модель рекомендует товары" без разделения retrieval и ranking.
  • Не объяснить, зачем нужен candidate generation.
  • Забыть про фильтры доступности и бизнес-ограничения после ранжирования.

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

  • Начни с candidate generation и ranking.
  • Приведи пример: миллион товаров -> тысяча кандидатов -> десять рекомендаций.