Наша рекомендательная система не просто находит подходящие товары среди сотен миллионов кандидатов. Она учитывает наличие, историю просмотров, разнообразие рекомендаций… Множество условий.
Раньше мы использовали двухэтапный подход: 1) ANN-поиск находил ближайших кандидатов; 2) отдельные Spark-задачи применяли к ним фильтры и бизнес-логику.
В статье рассказываем, почему решили отказаться от этой схемы и перенесли поиск и фильтрацию на GPU.
Если вкратце: иногда задача становится проще, а результат эффективнее, если не придумывать сложный способ сократить работу, а позволить современному железу сделать всю работу целиком.
Мы позволили, и в итоге:
Как реализовали подход на GPU, какие оптимизации позволили сделать полный перебор практически применимым, во что превратилась архитектура системы и какие результаты получили в экспериментах — всё это тоже есть в статье.
#ozontech_habr #ML #bigdata



