Рекомендательные системы Ozon: эволюция от ANN к KNN на GPU

Команда рекомендательных систем Ozon объявила о значительном технологическом переходе от использования приближенного поиска ближайших соседей (ANN) к точному поиску K-ближайших соседей (KNN) с применением графических процессоров (GPU). Это решение направлено на максимизацию производительности аппаратного обеспечения без компромиссов в качестве рекомендаций, что особенно актуально для специалистов, работающих с рекомендательными системами, поисковыми алгоритмами или масштабными векторными пространствами.

В условиях российского рынка электронной коммерции, который обслуживает десятки миллионов пользователей и сотни миллионов товаров, каждый процент точности и каждый час обработки данных имеют критическое значение. Опыт Ozon демонстрирует, как отраслевые практики перехода от стандартных ANN-индексов к специализированным GPU-решениям для скоринга могут быть успешно адаптированы и масштабированы. Компания уже провела A/B-тестирование, подтверждающее эффективность нового подхода.

Обоснование выбора: почему не pgvector?

Один из часто задаваемых вопросов касается выбора между собственной реализацией и готовыми решениями, такими как pgvector. Хотя pgvector отлично справляется с генерацией кандидатов, например, поиском top-k ближайших элементов по косинусному расстоянию, команда Ozon приняла решение разработать собственное решение по нескольким причинам:

  • Доступность: pgvector не всегда доступен во всех сегментах инфраструктуры, где необходимо функционирование системы памяти Ozon.
  • Приоритет задачи: Генерация кандидатов, хотя и важна, не является самой ценной частью задачи для Ozon. Основная ценность заключается в более глубокой обработке и отборе, что требует специализированных подходов.

Таким образом, переход к точному KNN на GPU является стратегическим шагом для Ozon, позволяющим достичь максимальной точности и эффективности в своих рекомендательных системах, ориентированных на масштабные производственные нагрузки.