Послушал opening keynote, поглядел на красоту театра Петруцелли, ушел смотреть постеры. Провел большую часть дня у постеров Дипмайнда =) Ниже небольшая выжимка из заметок.
Better Generalization with Semantic IDs: A Case Study in Ranking for Recommendations от Google.
Изначальный настрой с момента выхода статьи был скептический, но глядя на энтузиазм Дипмайнда, будем пробовать. Вместе с ней стоит читать Recommender Systems with Generative Retrieval и Aligning Large Language Models with Recommendation Knowledge. Подробный пост про них отложу, а сейчас напишу кратко:
* есть энкодер, с помощью которого можно получить эмбеды видеороликов. Учили его как автоэнкодер, без пользовательского фидбека
* поверх учим RQVAE на миллиарде айтемов, отобранных с помощью эвристик
* получаем из него те самые семантические айдишники. Их количество фиксированное (8-16 штук), при этом есть иерархичность — более ранние айдишники описывают более верхнеуровневые концепты. Для некоторых задач можно вообще оставить префикс (e.g. для категоризации айтемов)
* семантические айдишники можно использовать по-разному — обучать для них эмбеды; агрегировать мешком эмбедов, и затем подсовывать напрямую в ранжирующую модель
* а можно использовать в генеративной рекомендательной модели. В данном случае берется Gemini, формируется промпт вида "вот история пользователя:
semantic ids ... semantic ids, что порекомендуешь?", и затем модель тюнится на ретривал. Достаточно небольшого трафика (в десятки раз меньшего, чем для моделей прошлого поколения), чтобы ее обучитьПодробностей еще много, оставлю для отдельного поста :) На таких мероприятиях можно узнать много ценной информации, которой нигде больше не узнаешь — чем авторы занимаются сейчас, что думают про другие статьи (в данном случае про Actions Speak Louder Than Words от Меты), какая у них структура R&D отдела, что уже внедрено, etc
Analyzing User Preferences and Quality Improvement on Bing's WebPage Recommendation Experience with Large Language Models от Microsoft.
Статья про рекомендации веб-страниц. Буду краток:
* используют InfoNCE, но про logQ-коррекцию до меня не слышали
* пробовали два вида позиционного дебаясинга: подставлять позицию как фичу и перевзвешивать сэмплы для обучения — не зажгло. Посоветовал подход, который используется в некоторых местах в Яндексе — делать отдельный позиционный бейзлайн и дообучать к нему основную модель как добавку
* графовые нейросетки не дают профит поверх коллаборативной фильтрации над графом совместных кликов. Единственное, что заработало — добавить в граф доп. ребра на основе семантической близости из content-based двухбашенной модели
* финальное ранжирование делается выпуклой комбинацией нейросетевого кросс-энкодера, обученного на релевантность, и кликового градиентного бустинга. Веса подбирают в оффлайне, глядя на парето фронт
* держат какой-то процент случайного трафика (случайного из 30 отобранных кандидатов), измеряют на нем в оффлайне качество алгоритмов
Co-optimize Content Generation and Consumption in a Large Scale Video Recommendation System от Google (YouTube Shorts).
Сама статья была не очень полезна, а вот общение с докладчиком интересное:
* pointwise лосс работает лучше, чем pairwise. Гипотеза команды — так как в сценарии youtube shorts у пользователя нет как такового сравнения разных айтемов, он их просто подряд листает, то и pointwise задача органичней. Похоже на Яндекс Музыку
* в ранкере две тысячи вещественных фичей, и еще две тысячи формируется через эмбеддинги
* кажется, используют hiformer; в статье этот момент сознательно опускают =)
* в проде есть два трансформера над историей пользователя: оффлайновый, обрабатывающий тысячи событий; и рилтаймовый, обрабатывающий сотни. Рилтаймовый учится end-to-end с ранкером, а оффлайновый учится отдельно, но на тот же самый лосс ранкера
* в модельке 14-20 разных голов; одна из основных — регрессия на watchtime
* используют дебаясинг, так как айтемы в начале сессии и в конце неравнозначны; делают некое перевзвешивание









