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

Рекомендательная система с нуля

Нужно спроектировать рекомендательную систему или ML-платформу с нуля. Как выбирать архитектуру, данные, candidate generation и ranking?

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

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

Загрузка

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

Отталкивайтесь от поверхности продукта и доступных сигналов. Обычно нужен простой baseline, затем двухэтапная схема: candidate generation для recall и reranking/business rules для точности, разнообразия и ограничений.

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

Сначала фиксируется продуктовая поверхность: feed, matching, похожие товары, игры, подборки или другая рекомендация. От нее зависят labels, окно истории, negative sampling, offline metrics и guardrails. Для новой системы полезно начать с простого baseline: популярное, item-to-item, content-based похожесть или ручные правила.

Практичная архитектура обычно двухэтапная. Candidate generation достает сотни или тысячи кандидатов через collaborative signals, content embeddings, item-to-item similarity, graph methods, popularity или user history. Reranker дальше использует более тяжелые признаки, business constraints, diversity, freshness и safety rules.

Самая рискованная часть - данные. Нужны interaction logs, exposure logs, user/item attributes, timestamps и понятное определение positive/negative. Для холодного старта систему можно запускать через контентные признаки, popularity и exploration, а затем улучшать на online feedback.

Теория

В рекомендательных системах retrieval и ranking разделяют, потому что recall, precision, latency и бизнес-ограничения решаются разными слоями.

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

  • Начать с deep model без baseline и data audit.
  • Игнорировать exposure bias и negative sampling.
  • Забыть про latency, freshness и fallback.

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

  • Используйте схему candidate generator плюс reranker.
  • Явно назовите источники данных, labels и online validation.