Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Алексей Гурьянов – Как устроена система рекомен...

Алексей Гурьянов – Как устроена система рекомендаций Ozon

Ozon Tech

July 28, 2023
Tweet

More Decks by Ozon Tech

Other Decks in Technology

Transcript

  1. 2 • Как устроена система рекомендаций • Как мы персонализируем

    товарную выдачу • Как мы развиваем систему рекомендаций • А так же какие интересные инженерные задачи возникают во время разработки системы рекомендаций План рассказа
  2. Что такое рекомендации 3 • Показать пользователю самые подходящие ему

    товары (и не только) во время его путешествия по сайту/приложению • Полка рекомендаций: отвечает за место и способ визуализации, а так же логику набора товаров
  3. Требования к системе рекомендаций • В зависимости от контекста должны

    вернуть 5-200 наиболее подходящих товаров • Товарная база — 100+ млн товаров • Напичкана машинным обучением для выявления самых подходящих товаров • Миллиарды событий ежедневно, которые мы должны учитывать • 20K+ RPS в пике Архитектура рекомендаций • На все — примерно 100 ms в 0.9q
  4. Двухуровневая система рекомендаций Архитектура рекомендаций 6 100+ миллионов товаров ~3000-5000

    товаров 5-200 товаров Отбор кандидатов/ Легкое ранжирование Тяжелое ранжирование
  5. URM-server-go Архитектура рекомендаций 7 • Бизнес-логика алгоритмов рекомендаций • Отбор

    кандидатов — urm-storage • Тяжелое ранжирование • In-memory Feature Store
  6. Какие товары больше всего подходят пользователю Z? URM-storage — подходы

    к отбору кандидатов Архитектура рекомендаций 8 Какие товары в категории X самые популярные? Какие товары являются лучшими аксессуарами к товару Y? Инженерно реализуются как запросы в БД по одному ключу
  7. In-memory Feature Store Архитектура рекомендаций 9 • Раз в 24

    часа обновляем «in- memory Feature Store» во всех инстансах сервиса • Хранит признаки и метаданные по подмножеству товаров, которые мы хотим рекомендовать o Простота реализации o Быстродействие Плюсы o Дорого масштабировать по количеству товаров и товарных признаков Минусы o Как следствие — работа на грани стабильности/надежности
  8. Развитие архитектуры — признаки в URM-storage Архитектура рекомендаций 11 URM-storage

    URM- server-go Методы отбора кандидатов 3000-5000 кандидатов + Признаки
  9. Как работает персонализация Персонализированные рекомендации 12 PostgreSQL Kafka User-history- API

    • Регулярная обработка больших массивов данных и сохранение пользовательских данных/агрегатов для последующего использования в алгоритме рекомендаций • Накопление пользовательских событий в realtime и использование их для расчета признаков
  10. Развитие системы рекомендаций Ozon 13 • Встроены почти на всех

    страницах Ozon • Активно развиваются • Десятки полок в продакшене • Постоянно экспериментируем с новыми полками
  11. Развитие системы рекомендаций Ozon Быстрое внедрение новой полки Backend-driven UI:

    Как работает backend-driven UI Легкое конфигурирование алгоритмов рекомендаций
  12. Наши вакансии Ведущий Data Scientist (Deep Learning), Рекомендации и персонализация

    Старший Data Scientist, Товарные рекомендации Разработчик Go, Рантайм рекомендаций 16