Казалось бы, зачем рекомендательной системе что-то генерировать?
Нам же надо выбрать человеку существующий трек, а не сочинить новый. Но генерировать можно идентификатор этого трека. У Алексея Гусакова на deep tech night как раз был доклад про то, как Яндекс дошел до генеративных рекомендаций без ручного фичеинжиниринга.
Начиналось все довольно привычно: BERT превращает историю прослушиваний в вектор пользователя, дальше ищем близкие векторы треков. В версии 2023 года модель учитывала историю из 128 треков. Потом появился Argus: идея была в том, чтобы предсказывать следующий трек примерно так же, как LLM предсказывает следующий токен. Обучение стало вычислительно эффективнее, историю удалось увеличить до 8000 треков.
Но оставалась неприятная особенность: всю историю пользователя сжимали в один вектор, а подходящие треки искались через простую функцию близости, плюс еще был каскад отбора кандидатов. В итоге это приводило к тому, что если хороший трек потерялся на раннем этапе, можно сколько угодно улучшать финальный ранжировщик, но этот трек пользователь уже не увидит.
В новой модели SONA трек представляют последовательностью из трех кодов, Semantic ID. Их получают из текста и аудио, причем коды сохраняют музыкальную семантику: у похожих треков могут совпадать первые компоненты. Дальше модель учится генерировать эту последовательность и одновременно ранжировать кандидатов по ожидаемому отклику пользователя. То есть next token prediction, только на выходе рекомендация, а не ответ в чатике.
По данным команды, в A/B-тесте SONA дала около +4,5% к числу активных пользователей. Причем поверх предыдущих улучшений, а не относительно какого-нибудь древнего бейзлайна.
Мне как человеку, успевшему позаниматься рекомендашками, и потому к ним неравнодушному, доклад понравился тем, что показывает как успешно прикручивать NLPшные методы к привычным задачам вроде построения рекомендательных систем. И, кстати, перетаскивание методов из NLP в RecSys и обратно всегда было рабочей идеей - есть много похожего в данных.
===
💬Это пост из ленты, которую читает Саша - автор канала Мальцев: Карьера. Маркетинг. AI. @maltsevprosto
Другие каналы по темам:
🤖 AI @maltsevdaily
🧑🎓 Карьеры @maltsevdailyc
🦹 Маркетинга @maltsevdailym
Post #114752
2