Information Retriever
3.45K subscribers
254 photos
1 video
8 files
127 links
Download Telegram
PLUM: Adapting Pre-trained Language Models for Industrial-scale Generative Recommendations.

А вот и обещанная новая статья про семантические айдишники от Google. Много подробностей про то, как подружить LLM и рекомендательные системы; на примере прода Ютуба.

1. Улучшили семантические айдишники:
* теперь семантический энкодер принимает на вход не единое векторное представление айтема, а “мультимодальное” — несколько векторов, соответствующих разным контентным сигналам (модальностям), e.g. отдельный вектор для названия, описания, видео и тд (здесь конкретики по модальностям нет, я чуть фантазирую)
* multi-resolution codebook — раньше у них был один общий кодбук на все шаги генерации семантических айдишников. Теперь утверждают, что на каждом новом шагу генерации нужно кодировать “остаточную” энтропию с прошлых шагов, поэтому можно на каждом уровне уменьшать размер используемого кодбука
* progressive masking — при обучении RQ-VAE случайным образом маскируют хвост семантических айдишников, то есть больше фокусируются на ранних уровнях айдишников. Утверждают, что таким образом форсится более сильная иерархичность айдишников
* добавили contrastive learning на со-встречаемость айтемов — сближают айтемы, которые встречаются рядом в истории пользователя. То есть теперь при обучении RQ-VAE учитывается коллаборативный сигнал

2. Описали CPT (continuous pre-training) стадию:
* стартуют с предобученной LLM (Gemini)
* половину датасета строят из behavioral данных — последовательностей просмотров пользователей (и, видимо, предсказывают следующий просмотр)
* вторую половину — из метаданных айтемов (задачи а-ля ‘У видео <sid> следующее название: <название>’)
* по мере обучения смотрят и как растет качество рекомендаций (первая задача), и насколько хорошо модель восстанавливает метаданные (вторая задача), и как сильно деградируют способности естественного языка модели

3. Есть и третья, SFT (supervised fine-tuning) стадия:
* подают на вход модели watch history | user features | context features
* учат ее в ответ генерировать семантические айдишники нужного айтема
* учатся не на всех айтемах, а как-то сэмплируют их исходя из награды (фидбека пользователя), и еще взвешивают лосс на этот фидбек

4. Про прод:
* используют модель для генерации кандидатов
* используют beam search; говорят, что он по качеству лучше чем случайное декодирование, но теряет в разнообразии (логично)
* модель дообучают; говорят, что модель гораздо более sample efficient, чем их прошлое поколение — ежедневно используют для дообучения 250 млн сэмплов, когда прошлые модели использовали миллиарды
* длина контекста — 1500 токенов, что примерно соответствует сотне последних просмотров пользователя
* в A/B тесте добавили свою модель как новый источник кандидатов, сравниваются с контролем, в котором увеличили количество кандидатов (чтобы оно было равное в обеих группах) — показывают приросты по метрикам и для шортсов, и для обычных YouTube видеороликов
* их прошлая флагманская продовая модель — трансформер над историей пользователя. Когда ее упоминают, ссылаются на Top-K REINFORCE работу (в которой был RNN-based генератор кандидатов)

Что еще могу выделить:
* проверили скейлинг модели, но по-умному — зафиксировали бюджет на compute и смотрели какого размера модель выгодней взять; получилось, что 900M выгодней 3B
* инициализация модели с LLM-чекпойнта (с Gemini) докидывает не очень много качества. НО: добавляет few-shot способности — в конце статьи есть пара примеров, когда модель отвечает на вопросы, на которые ее не учили, в стиле “а какая тема у <sid>”. Модель без LLM претрейна такое не умеет
* в related work цитируют OneRec как пример работы с семантическими айдишниками
* длина истории конечно все еще очень маленькая, 100 событий. Это подозрительно. Я на RecSys подходил и спрашивал про это, Lichan Hong ответил что-то типа “у нас есть модели и с большой длиной истории”. Но статьи они что-то про них не пишут :)
🔥253
Всегда приятно, когда появляются новые интересные статьи про рекомендашки, выходят опенсорс-релизы и проводятся новые контесты. Со своей стороны хочется иногда такое подсвечивать, чтобы это замечало как можно больше людей. Поэтому держите первый пробный дайджест с новостями около рекомендашек:

1. На YouTube канале ACM RecSys начали появляться записи с прошедшей конференции ACM RecSys’25, которую я освещал чуть выше. Например, есть keynote от Google, keynote про kumo.ai от Jure Lescovec, выступление от Саши Плошкина (@ploshkin) про яндексовый датасет Yambda, а также выступления про статью Time to Split от AIRI и Sber AI Lab; и про статью про Item Cold Start от Sber AI Lab. У Лёши Васильева, выступавшего на втором докладе от Sber AI Lab, есть тг-канал @recsys_themes, на котором Лёша пишет про конференции, контесты и другие активности. И у Жени Фролова, руководящего командой соавторов из AIRI, есть тг-канал @amazing_research, в котором Женя делится своими мыслями про ресерч и науку.

2. Стартовал новый VK RecSys Challenge. Большой призовой фонд, огромный датасет (можно использовать буквально весь VK-LSVD), необычная задача: рекомендовать не клипы для пользователей, а пользователей к клипам. В прошлом году я занял второе место; посмотрим, что будет в этом :) Ещё есть академический трек для студентов со своим отдельным призовым фондом, что тоже хорошо. У главного организатора, Саши Пославского, тоже есть тг-канал @ds_league; Саша как раз десять минут назад написал пост про контест :)

3. Ряды больших рекомендательных датасетов, включающие музыкальную Yambda от Яндекса (4 млрд user-item взаимодействий) и тикток-подобный VK-LSVD от VK (40 млрд взаимодействий), пополнились гигантским e-com датасетом от Т-Банка (135 млрд взаимодействий) под названием T-ECD. Кирилл Ляхнович (@Klhnvich), команда которого делала этот релиз, написал хабростатью.

4. Андрей Атаманюк (@wrapper228) из Wildberries написал большой хабропост про то, почему растут нормы популярных айтемов при обучении двухбашенных моделей. Осторожно, много математики! На мой взгляд можно было бы и полноценную научную статью написать :)

5. В начале лета Марк Нарусов (@mark_nar) из Яндекс Лавки написал целую статью про то, как ребята отказались от стадии генерации кандидатов в рекомендациях. Так как в Лавке небольшой каталог (десятки тысяч айтемов), это вполне реально сделать. В статье много инженерных подробностей, даже упоминается DJ — внутренняя яндексовая платформа для создания рекомендательных сервисов, которую когда-то разрабатывала команда Миши Ройзнера (тг-канал @WazowskiRecommends). Fun fact: Лавка была четвертым сервисом, в который мы внедрили ARGUS :)

6. Данил Комаров из Ламоды рассказал на Хабре про эволюцию рекомендаций в Ламоде. В статье много всего: ALS’ы, буст разнообразия, тяжелые реранкеры, переход от оффлайн рекомендаций к онлайновым.

7. Под руководством Александра Дьяконова (@AlexanderDY) в VK собирается полноценная рексис ресерч команда, которая будет писать статьи, делать опенсорс-релизы, участвовать в контестах и всё такое :)

8. Совсем скоро, 24-25 октября, пройдет ML конфа от Вышки под названием Fall into ML 2025, на которой будет много постеров с A*-конференций, а также основная программа с докладами. Нашел среди постеров много знакомых. Есть и ребята из Yandex Research, с работами по табличному диплернингу (TabM) и по графовому ML, и рексис-статьи (как минимум, Time to split от AIRI и Sber AI Lab). Кажется, еще не поздно зарегистрироваться :) UPD: я там тоже буду с постером!

9. Не могу не упомянуть, что ChatGPT активно идет в рекомендации — сделали новую персонализированную фичу Pulse ; начали встраивать рекомендации от других платформ (e.g., от Spotify, Shopify, Etsy и тд), сделали собственную тикток-ленту с AI-generated контентом.

10. Новости из статейного мира: вышла новая статья про семантические айдишники от Google (см. прошлый пост), в которой рассказывается про внедрение в Youtube; также вышла статья про семантические айдишники от Alibaba, а ещё инженеры из Kuaishou написали статью про прикручивание текстового ризонинга в OneRec.
🔥4011👍5
В X (Twitter) активно предпринимают попытки заменить классическую рекомендательную систему языковой моделью (Grok). Как я понимаю, этот процесс длится уже какое-то время. Судя по твиту, подвижки есть (или нет?). Жаль, что ребята из твиттера статьи не пишут, и мы вероятно не скоро узнаем какие-либо технические подробности этого процесса :)
🔥19🥴128🤡2
Fall into ML 2025.

Вчера был на конференции Fall into ML 2025 в ВШЭ. Познакомился с большим количеством ребят из вышки. Теперь я буду преподавать и заниматься исследованиями на базе ВШЭ, поэтому надо начинать постепенно интегрироваться в местное коммьюнити :)

Атмосфера отличалась от тех конференций, которые я обычно посещаю: здесь она была более научная. Круто, что у наших ребят так много работ на A/A* конференциях.

Почти все время я простоял у постера c нашей статьей про logQ, поэтому нетворкинг был довольно ограниченный. Что обсуждали в кулуарах:

* в Рексис сообществе сейчас турбулентные времена: уходы, переходы, реструктуризации. Тряска почти никого не обошла стороной :)

* зазывал студентов на свой семестровый курс по рексистемам, который буду читать в ВШЭ в новом году. Тизер: название — “Нейросетевые рекомендательные системы”. Пообещал не рассказывать в середине курса про SVD :)

* задавали вопросы про то, по каким темам буду делать исследования. Я поделил их на два типа — что буду делать со студентами, а что сам. Себе я выделил примерно две темы, по которым уже начал что-то делать и уверен, что смогу написать A/A* статьи. Студентам, если что, тоже достанутся хорошие темы :)

* с KDD пришли отзывы по Аргусу — accept, accept, weak accept, weak accept. Notification (решение по принятию статьи на конфу) будет в начале ноябре. Ждём :)

* если есть 10-20 A100 карточек, можно делать почти любой рексис ресерч. Вот с одной 3090 уже приходится ограничивать себя :) Пока что я, например, не могу полноценно заниматься разговорными рексистемами, а руки чешутся :) Буду следить за литературой и складировать идеи.

* в задаче предсказания следующей корзины естественным образом появляется несколько позитивов, поэтому нашу улучшенную logQ коррекцию нужно как-то модифицировать (так как она рассчитана только под один позитив). Хорошая тема для статьи.

* обсуждали, нужно ли применять logQ-коррекцию вне рекомендательного домена — например, для обучения всяких CLIP’ов. Вывод такой, что если хочется учить правильные распределения (соответствующие данным) — нужно.
35👍13❤‍🔥7🔥3👏2
Введение в рексистемы.

Сегодня прочитал студентам первого курса ПМИ ФКН ВШЭ вводную лекцию по рекомендательным системам.

Раньше никогда не делал такие вводные лекции — обычно ограничивался парой слайдов в начале каждого доклада в духе "есть множество пользователей, множество айтемов, информационная перегрузка, хотим рекомендации".

Здесь же выпала возможность максимально подробно рассказать, зачем нужны рекомендательные системы, а также показать пару простых, интуитивно понятных рекомендательных алгоритмов.

Так как лекция была для первокурсников, в ней было больше картинок и меньше математики :)

Прикладываю в посте пару слайдов, сама презентация — в комментариях.
🔥6914👍72👏2
Не могу не поделиться!

Я периодически пытаюсь генерировать полезные иллюстрации к лекциям и докладам, но обычно выходит плохо и непригодно. Приходится делать всё самому и ограничиваться простенькими минималистичными иллюстрациями.

А с помощью новой nanobanana сходу по заметкам к лекции сгенерировалось что-то очень даже прикольное.

Кажется, приближаемся к точке, когда лекции можно будет делать очень быстро :)
🔥40🤮12👎4🤔4😐21
Аргуса приняли на ACM KDD 2026!

Теперь ждите репортаж с острова Чеджу летом :)
1🔥1046👍3
Нейросетевые рекомендательные системы.

А ещё я сегодня прочитал гостевую лекцию про нейросети в рекомендациях в рамках курса Deep Learning 2 на ФКН ВШЭ.

О чём говорили:
1. Зачем нужны рексистемы и как они устроены (слегка переписанный кусочек из моей лекции для первокурсников)
2. Почему в рекомендациях хороши нейросетевые модели
3. Классические нейросетевые архитектуры для генерации кандидатов и ранжирования
4. Frontier: трансформеры, масштабирование, RL, генеративные модели, semantic IDs

К лекции был семинар, который провёл Артём Матвеев — разобрали Unified Embeddings, PLE (Piecewise Linear Encoding) и DCN-v2. Показали, что на Yambda нейросеть выигрывает у катбуста в задаче ранжирования :)

У курса есть Git-репозиторий, куда выкладываются материалы занятий: https://github.com/thecrazymage/DL2_HSE.

Слайды лекции присылаю следующим сообщением; а запись занятия и семинар позже появятся в репозитории.

Курс выглядит прикольно — например, есть лекция про Bitter Lesson от Вани Рубачёва :)

Спасибо Мишану @ne_mishan за приглашение!
🔥436🎉3