Тренды в RecSys. Финальная лекция курса по рекомендательным системам в ШАД.
Вот и подошла к концу первая итерация нашего курса! Доделываю финальные слайды последней лекции на последнем издыхании)) Опыт очень крутой (надеюсь, не только для меня), как-нибудь позже напишу отдельный развернутый пост по результатам. А пока ловите содержимое финальной лекции:
1. Industry vs Academy, индустриальные тренды и откуда их узнавать. Отставание от других областей, bitter lesson, сами тренды.
2. Масштабирование. Scaling hypothesis, четыре оси масштабирования рексистем. Матрицы эмбеддингов, датасеты, контекст (признаки и история пользователя), энкодеры.
3. Actions speak louder than words. DLRM, inductive bias, генеративная постановка ранжирования и кандгена, HSTU, результаты, критика подхода.
4. LLM x RecSys. Мотивация, эволюция подходов, проблемы, recommendation-language gap.
5. Семантические айдишники. Мотивация, generative retrieval, вариационные автокодировщики, RQ-VAE, public и proprietary сетапы обучения, применения, оценки качества от Google
6. Foundation модели и кросс-платформенность
7. Снова про генеративные модели. OneRec, PinRec — описания подходов и результаты
Что не влезло — RL, mixture of logits, GPU Retrieval, онлайн дообучение, NRT-инференс. И про LLM будет очень поверхностное обсуждение.
P.S: слайды как всегда скину после лекции :)
Вот и подошла к концу первая итерация нашего курса! Доделываю финальные слайды последней лекции на последнем издыхании)) Опыт очень крутой (надеюсь, не только для меня), как-нибудь позже напишу отдельный развернутый пост по результатам. А пока ловите содержимое финальной лекции:
1. Industry vs Academy, индустриальные тренды и откуда их узнавать. Отставание от других областей, bitter lesson, сами тренды.
2. Масштабирование. Scaling hypothesis, четыре оси масштабирования рексистем. Матрицы эмбеддингов, датасеты, контекст (признаки и история пользователя), энкодеры.
3. Actions speak louder than words. DLRM, inductive bias, генеративная постановка ранжирования и кандгена, HSTU, результаты, критика подхода.
4. LLM x RecSys. Мотивация, эволюция подходов, проблемы, recommendation-language gap.
5. Семантические айдишники. Мотивация, generative retrieval, вариационные автокодировщики, RQ-VAE, public и proprietary сетапы обучения, применения, оценки качества от Google
6. Foundation модели и кросс-платформенность
7. Снова про генеративные модели. OneRec, PinRec — описания подходов и результаты
Что не влезло — RL, mixture of logits, GPU Retrieval, онлайн дообучение, NRT-инференс. И про LLM будет очень поверхностное обсуждение.
P.S: слайды как всегда скину после лекции :)
❤43🔥21👍9
Yambda-5B — A Large-Scale Multi-modal Dataset for Ranking and Retrieval.
Ребята опубликовали гигантский музыкальный датасет с прослушиваниями Яндекс Музыки, охватывающий 11 месяцев активности 10 миллионов пользователей. В нём аж 4.8 миллиарда user-item взаимодействий! Я сам не участвовал, но два человека из нашей R&D команды тоже поконтрибьютили.
Это все ещё где-то в 60 раз меньше, чем данные, на которых обучался Аргус. Но, тем не менее, гораздо больше, чем стандартные датасеты, которые часто используют в статьях (сотни тысяч или десятки миллионов взаимодействий). Сделали три разные по размеру версии датасета; и видно, что SASRec начинает выигрывать у других алгоритмов только на датасете “среднего” размера с 500 млн взаимодействий, а на 50 млн проигрывает ItemKNN’у. При обучении нейросеток важно использовать много данных :)
Для деления на трейн/тест используется разделение по времени (time split) вместо leave-one-out. Почему это хорошо, наверное, уже можно не объяснять. Получилось даже так, что на задаче предсказания лайков выигрывает топ популярного, учитывающий затухание по времени. Напомнило статью, в которой затюненный топ популярного выигрывает у других моделей.
Про бейзлайны — SASRec не тюнился, а для остальных алгоритмов гиперпараметры подбирались на валидации по последнему дню трейна. В идеале, валидацию нужно зафиксировать и явно отделить от трейна, чтобы результаты тюнинга моделей можно было сравнивать между разными статьями. Ещё из статьи не совсем понятно, сколько раз запускались обучения отдельных моделей — было ли усреднение результатов запусков с разными сидами. Возможно на датасете такого размера это не так важно.
Важный момент — в качестве целевой задачи для оценки качества решили сделать предсказание лайков / прослушиваний за следующий день. Такая постановка немного похожа на PinnerFormer. Это задача генерации кандидатов, не ранжирования. Причём не привычный исследователям next item prediction, когда мы глядя на историю предсказываем следующее взаимодействие, а именно предсказание каких-то будущих положительных взаимодействий в окне размера один день. Для SASRec’а эмбеддинг пользователя фиксируется на последний момент трейна, и из него делается предсказание сразу всех лайков за следующий день.
По-хорошему, при такой оценке качества SASRec и остальные модели нужно обучать по-другому, решая именно задачу предсказания будущего лайка в окне в один день, а не задачу предсказания следующего лайка. Как это (плюс-минус) делают в Пиннерформере. Возможно тогда отрыв от более эвристических алгоритмов будет еще больше. Мы такие модельки часто обучаем в качестве оффлайновых генераторов кандидатов, пересчитывающих эмбеддинги пользователей раз в день.
Кроме вышесказанного, было бы круто в будущем добавить следующие штуки:
* расширить валидацию и тест до недели
* добавить оценку качества ранжирования (не NDCG для задачи ретривала, а именно для задачи impression-aware ранжирования)
* добавить более стандартную next item prediction постановку
* сделать отдельный срез оценки качества для новых пользователей (возможно какой-то общий эвал, при котором учитываются и новые пользователи тоже), потому что они тоже важны
А ещё ребята написали про датасет пост на Хабре и выложили препринт статьи на архиве.
Ребята опубликовали гигантский музыкальный датасет с прослушиваниями Яндекс Музыки, охватывающий 11 месяцев активности 10 миллионов пользователей. В нём аж 4.8 миллиарда user-item взаимодействий! Я сам не участвовал, но два человека из нашей R&D команды тоже поконтрибьютили.
Это все ещё где-то в 60 раз меньше, чем данные, на которых обучался Аргус. Но, тем не менее, гораздо больше, чем стандартные датасеты, которые часто используют в статьях (сотни тысяч или десятки миллионов взаимодействий). Сделали три разные по размеру версии датасета; и видно, что SASRec начинает выигрывать у других алгоритмов только на датасете “среднего” размера с 500 млн взаимодействий, а на 50 млн проигрывает ItemKNN’у. При обучении нейросеток важно использовать много данных :)
Для деления на трейн/тест используется разделение по времени (time split) вместо leave-one-out. Почему это хорошо, наверное, уже можно не объяснять. Получилось даже так, что на задаче предсказания лайков выигрывает топ популярного, учитывающий затухание по времени. Напомнило статью, в которой затюненный топ популярного выигрывает у других моделей.
Про бейзлайны — SASRec не тюнился, а для остальных алгоритмов гиперпараметры подбирались на валидации по последнему дню трейна. В идеале, валидацию нужно зафиксировать и явно отделить от трейна, чтобы результаты тюнинга моделей можно было сравнивать между разными статьями. Ещё из статьи не совсем понятно, сколько раз запускались обучения отдельных моделей — было ли усреднение результатов запусков с разными сидами. Возможно на датасете такого размера это не так важно.
Важный момент — в качестве целевой задачи для оценки качества решили сделать предсказание лайков / прослушиваний за следующий день. Такая постановка немного похожа на PinnerFormer. Это задача генерации кандидатов, не ранжирования. Причём не привычный исследователям next item prediction, когда мы глядя на историю предсказываем следующее взаимодействие, а именно предсказание каких-то будущих положительных взаимодействий в окне размера один день. Для SASRec’а эмбеддинг пользователя фиксируется на последний момент трейна, и из него делается предсказание сразу всех лайков за следующий день.
По-хорошему, при такой оценке качества SASRec и остальные модели нужно обучать по-другому, решая именно задачу предсказания будущего лайка в окне в один день, а не задачу предсказания следующего лайка. Как это (плюс-минус) делают в Пиннерформере. Возможно тогда отрыв от более эвристических алгоритмов будет еще больше. Мы такие модельки часто обучаем в качестве оффлайновых генераторов кандидатов, пересчитывающих эмбеддинги пользователей раз в день.
Кроме вышесказанного, было бы круто в будущем добавить следующие штуки:
* расширить валидацию и тест до недели
* добавить оценку качества ранжирования (не NDCG для задачи ретривала, а именно для задачи impression-aware ранжирования)
* добавить более стандартную next item prediction постановку
* сделать отдельный срез оценки качества для новых пользователей (возможно какой-то общий эвал, при котором учитываются и новые пользователи тоже), потому что они тоже важны
А ещё ребята написали про датасет пост на Хабре и выложили препринт статьи на архиве.
🔥40👍9❤8💩4🤡1
Конференция «Рекомендательные системы: новые алгоритмы и современная практика»
5 июня будет конференция по рексистемам от Вышки. Именно с неё когда-то в декабре 2023-го года началась рубрика канала под названием “Кулуары” :)
В прошлый раз я пришёл как слушатель и на каждый доклад задавал каверзные вопросы. В этот раз буду в качестве докладчика — жду каверзных вопросов в свой адрес :)
Ссылка на конференцию — https://cs.hse.ru/recsys-2025/?_r=34710201747305273.27909. Ещё не поздно зарегистрироваться!
А ещё там будет постер-сессия, на которой возможно будет постер от наших ребят про Yambda.
5 июня будет конференция по рексистемам от Вышки. Именно с неё когда-то в декабре 2023-го года началась рубрика канала под названием “Кулуары” :)
В прошлый раз я пришёл как слушатель и на каждый доклад задавал каверзные вопросы. В этот раз буду в качестве докладчика — жду каверзных вопросов в свой адрес :)
Ссылка на конференцию — https://cs.hse.ru/recsys-2025/?_r=34710201747305273.27909. Ещё не поздно зарегистрироваться!
А ещё там будет постер-сессия, на которой возможно будет постер от наших ребят про Yambda.
🔥35👍5
RecSys Challenge 2025.
Мы в этом году впервые решили поучаствовать в RecSys Challenge. Соревнование уже подходит к концу, но, надеюсь, успеем что-то сделать :)
Данных не очень много — <10 млн взаимодействий с товарами (покупки, добавления и удаления из корзины), <10 млн поисковых запросов и 150 млн визитов страниц товаров. Домен, судя по всему, grocery-like.
Нужно обучить такой универсальный вектор пользователя (то есть энкодер), чтобы из него можно было легко предсказать купит ли пользователь что-то в течение 14 дней, если да — то какие товары / категории товаров. И еще какие-то три скрытые задачи, описание которых не дано.
Так вот — организаторы допустили таргет лик, и решили добавить еще одну стадию в соревнование, продлив его на 10 дней. Дадут новый датасет. Вообще, сделать контеcт по рекомендательным системам без лика не так-то просто, но от ACM RecSys не ожидал :)
Ссылочка на соревнование
Мы в этом году впервые решили поучаствовать в RecSys Challenge. Соревнование уже подходит к концу, но, надеюсь, успеем что-то сделать :)
Данных не очень много — <10 млн взаимодействий с товарами (покупки, добавления и удаления из корзины), <10 млн поисковых запросов и 150 млн визитов страниц товаров. Домен, судя по всему, grocery-like.
Нужно обучить такой универсальный вектор пользователя (то есть энкодер), чтобы из него можно было легко предсказать купит ли пользователь что-то в течение 14 дней, если да — то какие товары / категории товаров. И еще какие-то три скрытые задачи, описание которых не дано.
Так вот — организаторы допустили таргет лик, и решили добавить еще одну стадию в соревнование, продлив его на 10 дней. Дадут новый датасет. Вообще, сделать контеcт по рекомендательным системам без лика не так-то просто, но от ACM RecSys не ожидал :)
Ссылочка на соревнование
🔥20😁8🤔2
Мультивселенная схлопнулась.
В прошлом марте я написал пост про статьи Google Deepmind по рекомендашкам за последний год. В те времена я даже иногда переводил тг посты на англ и выкладывал на линкедине (тык). И что я сегодня вижу :)
P.S: кто такой Ed Chi можно почитать в другом посте
В прошлом марте я написал пост про статьи Google Deepmind по рекомендашкам за последний год. В те времена я даже иногда переводил тг посты на англ и выкладывал на линкедине (тык). И что я сегодня вижу :)
P.S: кто такой Ed Chi можно почитать в другом посте
🔥45🤔6👏3
Хабр
ARGUS: как масштабировать рекомендательные трансформеры
Привет! Меня зовут Кирилл Хрыльченко. Я руковожу командой, которая занимается R&D для рекомендательных технологий в Яндексе. Одна из наших основных задач — развивать...
Хабростатья про масштабирование рексистем и Аргуса.
Написали большую статью по мотивам недавнего выступления на Датафесте. Я постарался добавить побольше новых подробностей, интересной внутренней кухни и всего такого :)
Если вы инженер и хотите сделать в своей рексистеме что-то похожее — это лучший источник информации про Аргуса. Если пользователь (например, Яндекс Музыки / Маркета / Лавки / Алисы), то это возможность получше понять, что стоит за сформированными для вас рекомендациями.
Статья — https://habr.com/ru/companies/yandex/articles/919058/.
Написали большую статью по мотивам недавнего выступления на Датафесте. Я постарался добавить побольше новых подробностей, интересной внутренней кухни и всего такого :)
Если вы инженер и хотите сделать в своей рексистеме что-то похожее — это лучший источник информации про Аргуса. Если пользователь (например, Яндекс Музыки / Маркета / Лавки / Алисы), то это возможность получше понять, что стоит за сформированными для вас рекомендациями.
Статья — https://habr.com/ru/companies/yandex/articles/919058/.
❤44🔥24👍7👏2
Practical ML Conf 2025.
Я, как и в прошлом году, буду на Practical ML Conf в программном комитете помогать готовить для вас доклады по RecSys :)
Это самая большая конференция по прикладному машинному обучению от Яндекса. В этом году она пройдёт 27 сентября. На конференции будет 6 треков: CV, NLP, Speech, RecSys, MLOps, Data Science. Ещё не поздно подать заявку на выступление (дедлайн через пару дней, 23 июня) — ссылочка.
Я, как и в прошлом году, буду на Practical ML Conf в программном комитете помогать готовить для вас доклады по RecSys :)
Это самая большая конференция по прикладному машинному обучению от Яндекса. В этом году она пройдёт 27 сентября. На конференции будет 6 треков: CV, NLP, Speech, RecSys, MLOps, Data Science. Ещё не поздно подать заявку на выступление (дедлайн через пару дней, 23 июня) — ссылочка.
🔥27👍8
IR семинар.
Уже почти три года я организую в Яндексе семинар по рексистемам (там также разбираются статьи про поиск и рекламу, поэтому он называется "IR семинар"), чуть-чуть упоминал историю его возникновения в посте с итогами года на канале.
Составил облако слов из названий статей, которые мы разобрали за это время (всего был 131 доклад).
Уже почти три года я организую в Яндексе семинар по рексистемам (там также разбираются статьи про поиск и рекламу, поэтому он называется "IR семинар"), чуть-чуть упоминал историю его возникновения в посте с итогами года на канале.
Составил облако слов из названий статей, которые мы разобрали за это время (всего был 131 доклад).
❤28👍3👏2
4 место RecSys Challenge 2025.
Только что закончилось соревнование RecSys Challenge 2025. Если верить лидерборду, наша команда заняла 4-е место. А на втором — ребята из RecSys команды AI лабы Сбербанка (@AleXXL1986), с чем их и поздравляем!
В соревновании нужно было сделать универсальный эмбеддинг пользователя, поверх которого организаторы обучали свою MLP'шку на шесть разных задач (больше деталей в другом посте). Мы сделали конкат нескольких векторов:
* обучили Argus-подобный трансформер над историей пользователя
* обучили графовую нейросеть TwHIN
* вручную скрафтили набор пользовательских фичей
* сделали нейросеть над фичами (PLE от Yandex Research + DCN-v2).
Данных в соревновании было не очень много, поэтому наши нейросетевые подходы давали профит поскольку-постольку))
Отдельно хочется упомянуть нашу любимую рулетку под названием "задача hidden2" :)
Держите мой персональный топ названий команд:
1. cosine-clowns
2. Teletubbies
3. meowTeam
4. recommanders
5. recsysadmin
6. Mission Impossible
7. happysquirrels
8. embednbreakfast
9. Pinocchio
10. NoNameLarrys
Только что закончилось соревнование RecSys Challenge 2025. Если верить лидерборду, наша команда заняла 4-е место. А на втором — ребята из RecSys команды AI лабы Сбербанка (@AleXXL1986), с чем их и поздравляем!
В соревновании нужно было сделать универсальный эмбеддинг пользователя, поверх которого организаторы обучали свою MLP'шку на шесть разных задач (больше деталей в другом посте). Мы сделали конкат нескольких векторов:
* обучили Argus-подобный трансформер над историей пользователя
* обучили графовую нейросеть TwHIN
* вручную скрафтили набор пользовательских фичей
* сделали нейросеть над фичами (PLE от Yandex Research + DCN-v2).
Данных в соревновании было не очень много, поэтому наши нейросетевые подходы давали профит поскольку-постольку))
Отдельно хочется упомянуть нашу любимую рулетку под названием "задача hidden2" :)
Держите мой персональный топ названий команд:
1. cosine-clowns
2. Teletubbies
3. meowTeam
4. recommanders
5. recsysadmin
6. Mission Impossible
7. happysquirrels
8. embednbreakfast
9. Pinocchio
10. NoNameLarrys
❤45🔥23👏9
Andrew Zhai (один из авторов PinnerFormer, TransAct, MultiBiSage и визуального бэкбона пинов) проработал в Пинтересте 9 лет, дошел до Distinguished Engineer, а затем ушел делать свой стартап. Больше двух лет стартап был в стелсе — и вот, час назад, появился этот пост =)
👀31👍11🥴4🔥2❤1
Подтверждаю, мы у себя тоже попробовали. В некоторых сценариях работает лучше, чем наши обычные архитектуры. "На масштабе 100М объектов" — это, наверно, про нас :)
❤1
Forwarded from айти канал
📦 Python пакет для TabM
Небольшая новость для тех, кто следит за DL для табличных данных. Мы тут выпустили Python пакет для TabM — нашей tabular DL архитектуры, о которой я рассказывал раньше.
С момента анонса TabM прошел проверку практикой, и если в одном предложении, то TabM значительно усилил нишу практичных бейзлайнов в табличном DL. То есть взять TabM и получить хорошие результаты люди смогли в самых разных контекстах: и на Kaggle, и на масштабе 100M объектов, и в академических исследованиях.
Пакет делает чуть более доступным как сам TabM, так и эффективное ансамблирование, и предлагает такое:
- PyTorch реализация TabM
- PyTorch слои и функции для построения своих эффективных ансамблей.
- Jupyter/Colab пример с обучением TabM.
💻
Ссылки:
- Пакет
- Colab пример
- Статья
Небольшая новость для тех, кто следит за DL для табличных данных. Мы тут выпустили Python пакет для TabM — нашей tabular DL архитектуры, о которой я рассказывал раньше.
С момента анонса TabM прошел проверку практикой, и если в одном предложении, то TabM значительно усилил нишу практичных бейзлайнов в табличном DL. То есть взять TabM и получить хорошие результаты люди смогли в самых разных контекстах: и на Kaggle, и на масштабе 100M объектов, и в академических исследованиях.
Пакет делает чуть более доступным как сам TabM, так и эффективное ансамблирование, и предлагает такое:
- PyTorch реализация TabM
- PyTorch слои и функции для построения своих эффективных ансамблей.
- Jupyter/Colab пример с обучением TabM.
💻
pip install tabmСсылки:
- Пакет
- Colab пример
- Статья
GitHub
GitHub - yandex-research/tabm: (ICLR 2025) TabM: Advancing Tabular Deep Learning With Parameter-Efficient Ensembling
(ICLR 2025) TabM: Advancing Tabular Deep Learning With Parameter-Efficient Ensembling - yandex-research/tabm
❤19👍10👏1