🌟 Бонус

Real-time рекомендации

Рекомендации в реальном времени — feature stores, стриминг, инфраструктура

Время изучения: 21 мин

Что значит real-time в рекомендациях

Real-time RecSys не обязательно означает “переобучаем модель после каждого клика”. Чаще это значит, что система быстро учитывает свежие события: обновляет session features, candidate sources, counters, embeddings cache или re-ranking context.

Загрузка интерактивного виджета...

Уровни freshness

  • Batch: пересчет раз в день или час. Просто, дешево, подходит для стабильных предпочтений.
  • Nearline: события попадают в агрегаты за минуты. Хороший компромисс для маркетплейсов и медиа.
  • Online features: последние клики/просмотры доступны прямо в запросе.
  • Online learning: модель или часть параметров обновляется постоянно. Сложно и рискованно.

Типовая архитектура

  • Event stream: impressions, clicks, dwell, purchases, negatives.
  • Stream processing: Kafka/Flink/Spark Streaming, обновление counters и session state.
  • Online store: Redis/Cassandra/DynamoDB/feature store для свежих фичей.
  • Candidate cache: быстрые sources для популярных, персональных и session-based кандидатов.
  • Ranker service: собирает фичи, считает score, применяет re-ranking и guardrails.

Загрузка интерактивного виджета...

Риски real-time систем

  • Feedback loops: система быстро усиливает случайный всплеск интереса.
  • Hot items и skew: один viral item может перегрузить storage/counters.
  • Online/offline skew: фича в training считается иначе, чем в serving.
  • Debuggability: сложнее понять, почему пользователь увидел конкретный айтем.
  • Latency: свежесть не должна ломать SLA.

Как мыслить прагматично

Начинай с вопроса “какая свежесть реально нужна продукту?”. Для новостей и short videos минуты могут быть критичны. Для курсов, мебели или B2B SaaS часто достаточно batch/nearline.