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

Online serving архитектура реранкера

Как встроить ML-реранкер в существующий поиск, если candidate generation уже возвращает itemIds?

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

Добавить reranking service: принять userId/query/itemIds, достать фичи, batch-score моделью, отсортировать и вернуть top-N.

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

Сервис лучше держать отдельным при ясном API и latency budget. Он должен score-ить кандидатов batch-wise, иметь feature store/cache, fallback на baseline, мониторинг качества/скорости и версионирование моделей. Для популярных товаров часть item features и scores можно precompute.

Если кандидатов много, перед реранкером нужен дешевый pre-ranking/top-K cap, иначе тяжелая модель попадет в request path на слишком большом множестве объектов.

Теория

Реранкер обычно стоит после retrieval/pre-ranking и должен обрабатывать ограниченный top-K.

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

  • Скорить по одному item.
  • Передавать тяжелые признаки через API.
  • Не иметь fallback и p95/p99 latency.

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

  • Нарисуй data flow.
  • Назови границы сервисов и budget на scoring.