A/B-тесты в рекомендательных системах
Как объяснить роль A/B-теста при проверке изменений в рекомендательной системе?
Сначала проговорите ответ вслух или тезисами.
Формулы, план решения, риски и примеры.
Откройте разбор только после своей попытки.
Показать разбор
Короткий ответ
A/B нужен, чтобы проверить causal impact модели на продукт: conversion, GMV/AOV, add-to-cart, retention. Параллельно ставим guardrails: latency, ошибки, отмены, негатив, fairness/coverage.
Подробный разбор
Offline-метрики нужны для отбора моделей, но финальное решение по RecSys принимается через online experiment. В A/B фиксируем единицу рандомизации, длительность, основную метрику и guardrails.
Для рекомендаций основная метрика зависит от места в продукте: CTR, add-to-cart, conversion, GMV, AOV, repeat purchase, retention. Guardrails: latency, error rate, empty recommendations, cancellation/refund, complaints, diversity, coverage, доля промо или маржинальных товаров.
Важно помнить про interference: рекомендации могут менять поведение продавцов, остатки, цены и доступность. Для маркетплейса иногда нужен split по пользователям, регионам, магазинам или кластерам, если есть сильное взаимодействие между участниками.
Типичные ошибки
- Ограничиться CTR и не назвать бизнес-метрику.
- Не упомянуть guardrails.
- Считать offline uplift достаточным доказательством.
Как сказать на собеседовании
- Назови primary metric, guardrails и split unit.
- Отдели offline validation от online experiment.
Из каких этапов состоит современная рекомендательная система
Из каких двух основных этапов обычно состоит рекомендательная система? Объясните 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.
- Приведи пример: миллион товаров -> тысяча кандидатов -> десять рекомендаций.
Что такое cold start для пользователя и item
Как объяснить cold start в RecSys и какие практичные решения предложить для нового пользователя и нового item?
Сначала проговорите ответ вслух или тезисами.
Формулы, план решения, риски и примеры.
Откройте разбор только после своей попытки.
Показать разбор
Короткий ответ
Cold start - ситуация, когда мало истории по пользователю или объекту. Лечится контентными признаками, контекстом, популярным, onboarding-сигналами и controlled exploration.
Подробный разбор
Cold start для пользователя означает, что у нас нет или мало его истории: кликов, заказов, оценок, долгосрочных интересов. Тогда используем контекст: город, ресторан/магазин, устройство, время, текущая сессия, onboarding-вопросы, популярное в сегменте.
Cold start для item означает, что новый товар еще не получил кликов/покупок, поэтому collaborative signals слабые. Здесь помогают контентные признаки: категория, текст, картинка, цена, бренд, состав, ресторан, маржа, наличие. Также можно дать новому item небольшую controlled exploration квоту, чтобы собрать первые сигналы.
В проде нужен fallback cascade: персональные рекомендации, популярное в сегменте, популярное глобально, curated/business rules. Метрики: доля cold-start traffic, coverage новых items, CTR/conversion по fallback-уровням, негативный feedback.
Типичные ошибки
- Обсуждать только новых пользователей и забыть про новые items.
- Предлагать только популярное без сегментации и exploration.
- Не измерять coverage новых товаров.
Как сказать на собеседовании
- Раздели user cold start и item cold start.
- Назови content features и fallback cascade.
Зачем нужны MLflow, пайплайны, PySpark и Feature Store в production ML
Зачем нужны MLflow, пайплайны, PySpark и Feature Store в production ML?
Сначала проговорите ответ вслух или тезисами.
Формулы, план решения, риски и примеры.
Откройте разбор только после своей попытки.
Показать разбор
Короткий ответ
Pipeline воспроизводимо готовит данные и обучает модель, MLflow хранит эксперименты/артефакты, Feature Store синхронизирует offline и online признаки и помогает с freshness.
Подробный разбор
Production ML требует повторяемого контура. Pipeline описывает шаги: сбор данных, чистка, расчет признаков, обучение, валидация, публикация артефакта. PySpark часто нужен, если признаки считаются на больших событиях.
MLflow или аналог хранит эксперименты: параметры, метрики, версии датасетов, model artifacts, кто и когда обучил модель. Это помогает сравнивать версии и откатываться.
Feature Store решает проблему признаков: единое место, где считаются и версионируются признаки для обучения и serving. Особенно важно не получить training-serving skew, когда offline модель обучалась на одних признаках, а online получает другие или устаревшие.
Типичные ошибки
- Перечислить инструменты без объяснения, какую проблему они решают.
- Не упомянуть training-serving skew.
- Забыть про версионирование данных и моделей.
Как сказать на собеседовании
- Для каждого инструмента скажи одну решаемую проблему.
- Свяжи Feature Store со свежестью и консистентностью признаков.