inforetriever | Unsorted

Telegram-канал inforetriever - Information Retriever

1934

Рекомендательные системы глазами RecSys R&D лида Яндекса Недельные дайджесты arxiv/cs.IR, обзоры статей, образовательные посты и не только Author: @kkhrylchenko

Subscribe to a channel

Information Retriever

Итоги года на канале.

Где-то чуть больше года назад я в порыве ночных раздумий понял, что пора бы завести канал. Еще помню, как выбирал название: основной вариант был "arxiv weekly" — именно так называлась еженедельная сводка обзоров статей, которую я вёл в Яндексе. Вариант "Information Retriever" с ретривером на аватарке был скорее шуточный, но каким-то образом реализовался. Ни о чем не жалею =)

Началось все с того, что после ухода Миши Ройзнера @WazowskiRecommends я вызвался подхватить организацию научного семинара по рекомендательным системам в Яндексе. Каждую неделю мы разбирали по две статьи. Я искал докладчиков, сам регулярно выступал и помогал подбирать статьи для выступлений. Чтобы было проще искать статьи, стал выпускать в чате семинара дайджест "arxiv weekly": каждую неделю просматривал все статьи, выходящие в секции arxiv cs/IR, отбирал 5-10 штук, писал про них краткие хайлайты в пару строчек. Постепенно ребята, уходящие из Яндекса, убедили меня что было бы круто перенести "arxiv weekly" в публичное пространство.

Еще в какой-то момент на нетворкингах люди стали благодарить за доклады про трансформерную персонализацию. Когда Саша Сидоров подошел и сказал, что в Wildberries смогли на основе этих докладов что-то внедрить, у меня прямо сдвиг парадигмы произошел =) Появилось понимание, что могу рассказывать что-то интересное и полезное для широкой публики, что эти доклады кто-то смотрит.

В совокупности эти два фактора, вероятно, и сподвигли на создание канала. Первые посты были очень корявые; их чтение вызывает те же ощущения, которые в эпоху вконтакте вызывало перечитывание старых переписок :) Тем не менее, постепенно сформировался какой-то свой, «авторский», стиль; о чем и как я пишу. Дальше идут итоги года в постах и выступлениях.

Выступления:

* Про нейросетевое ранжирование на ML party.
* Про индустриальные тренды рексистем на Датафесте.
* Best practices доклад про трансформерную персонализацию на Turbo ML Conf, который я попытался сделать полезнее и информативнее всех прошлых.
* Про кейсы, в которых нам пригодились статьи на практике на рекомендательном митапе от Сбера.

Посты:

* Про (1) проблемы next item prediction, (2) двухбашенные модели и logQ-коррекцию, (3) обучаемые векторы для рексистем. У нас с командой очень сильное желание сделать свой курс по рексистемам: такие посты похожи на то, что хотелось бы покрыть в курсе. Процесс создания хорошего курса долгий и сложный, пока всё на стадии сбора материала: я собираю, "коллекционирую" различные термины, концепты, теории, с которыми сталкиваюсь при работе и в статьях. Этот процесс может занять годы =)

* Про (1) ранжирование в Пинтересте, (2) ранжирование в Ютубе, (3) рекомендации похожих пинов в Пинтересте. Изначально я собирал много system design заметок про то, как устроены рекомендации в разных известных сервисах. Собирал статьи, парсил блоги на медиуме, искал выступления. Пока что это, пожалуй, один из наиболее сложных типов постов для реализации.

* Про рабочие проекты и команду: (1) чтение статей для r&d, (2) графовые нейросети, (3) нейросетевое ранжирование, (4) чем занимается наша команда, (5) трансформер с миллиардом параметров. Писать про команду приятно и просто, здесь я недорабатываю :)

* Серия постов про праздник рекомендательных систем на ACM RecSys 2024: 1, 2, 3, 4, 5, 6, 7.

* "Кулуарные" посты, в которых пытался передать атмосферу нетворкинга и какие-то приватные, но не очень, обсуждения: (1) конфа вышки, (2) датафест, (3) turbo ml conf, (4) pml conf.

* Обзорные посты с кучей ссылок на статьи: (1) NLP образца 2020-го года, (2) what's on google's deepmind, (3) скейлинг в рексистемах, (4) sigir 2024, (5) топ статей про нейросети в рекистемах.

Спасибо, что были со мной этот год! И до встречи в следующем :)

Читать полностью…

Information Retriever

https://youtu.be/zle8y4R42U4?si=Jsel-1xglATUoPmL

Как же добродушно смеется =)

Читать полностью…

Information Retriever

Статья на Хабре про индустриальные тренды рексистем.

В мае я выступал на датафесте с докладом про тренды рексистем, а сейчас появился пост на Хабре, где мы подробнее расписали содержимое доклада, приложили ссылки на статьи, добавили больше пояснений.

Ссылка — https://habr.com/ru/companies/yandex/articles/857068/

Читать полностью…

Information Retriever

👷 RecSys 2024: всё о рекомендательных системах и тех, кто их делает

ACM Conference on Recommender Systems (RecSys) — крупнейшая международная конференция по рекомендательным системам. В этом году лидеры индустрии представили свои новейшие разработки и исследования в итальянском городе Бари.

Чем запомнилась RecSys 2024, рассказывает наш коллега Кирилл Хрыльченко, руководитель команды R&D рекомендаций в Яндексе.

🔳 P. S. Статьи, которые упоминает Кирилл:

⚪️ Better Generalization with Semantic IDs: A Case Study in Ranking for Recommendations

⚪️ Actions Speak Louder than Words: Trillion-Parameter Sequential Transducers for Generative Recommendations

⚪️ Demystifying Embedding Spaces using Large Language Models

Подписывайтесь:
💬 @Yandex4ML
📹 YandexML">@YandexML

Читать полностью…

Information Retriever

RecSys, финальный день.

RecSys 2024 — всё. Однозначно, это была кульминация всех моих четырёх лет работы над рекомендальными системами. Учитывая, что я уже несколько лет живу в платоновском мире идей мире статей, для меня это было словно будучи анимешником попасть в Коноху. Ну вы поняли :) Следующий рексис будет в Праге. Обязательно постараюсь приехать; и вас к тому же призываю! Увидел вживую как минимум несколько новых подписчиков и коллег, надеюсь увидеть в следующем году еще больше :) А теперь по делу:

Посетил воркшоп ROEGEN, посвященный генеративным моделям.

Сначала был invited talk от Michael Ekstrand, про fairness в рексистемах. Есть пользователи, есть айтемы, не хотим каких-то странных перекосов и стереотипов в рекомендациях. На рексистемы можно смотреть как на задачу аллокации — нужно между пользователями так распределить айтемы, чтобы всё было справедливо нормально. Ещё, по-хорошему, рексистема не должна решать за пользователя что для него будет хорошо — у пользователя должна быть возможность самому решать что он хочет от рексистемы. Эдакие controllable recommender systems. Что еще:
* полезно рисовать график с распределением item exposure: по сути, закон ципфа для айтемов — по одной оси ранг айтема, по другой его популярность. Среди двух алгоритмов с одинаковым качеством ранжирования стоит выбирать тот, у которого площадь под этой кривой больше. Можно здесь еще приплести коэффициент Джини, matthew effect, popularity bias, etc
* люблю, когда в докладах ссылаются на старые статьи и книги. В данном случае это были книжка The Long Tail, статья Recommending and evaluating choices in a virtual community of use 95-го года, а также статья про Manipulation engines от Belkin and Robertson'а, которую я пока не нашёл.

Затем Craig Boutilier из Google Research выступил со своим видением использования LLM в рекомендациях. Пересказал две своих статьи: Demystifying Embedding Spaces using Large Language Models и Embedding-Aligned Language Models. Вторую не читал, а вот первая статья мне очень нравится. Когда она только вышла, канала ещё не было :) LLM научили "понимать" пространство эмбеддингов айтемов, и по произвольному эмбеду айтема генерировать описание. Можно тыкать в случайную точку в пространстве, в которой находится мало айтемов, узнавать у LLM что там за гипотетический айтем, а затем его производить. Free real estate =)

Также было выступление от Jinaling Wang (из группы Minmin Chen в Дипмайнде). Кажется, в итоге от каждой рекомендательной группы Дипмайнда было ровно по одному выступлению; все кратко пересказали свои статьи за ближайший год. Здесь речь шла про:
* Large Language Models as Data Augmenters for Cold-Start Item Recommendation: в оффлайне с помощью LLM генерируем пары для ранжирования, где оба айтема — холодные. Используем для них текстовые описания, и задачу формулируем как "вот описание айтема А, вот айтема Б, какой лучше? Напиши, A или Б". Полученные сэмплы используются как доп. лосс для классической рексистемы
* LLMs for User Interest Exploration in Large-scale Recommendation Systems: предсказываем с помощью LLM интересы пользователя, которые в рексистеме еще не реализовались, а затем в рамках кластера интересов находим конкретные айтемы с помощью классической рексистемы (e.g. двухбашенной модели)

Ещё один пост про рексис я напишу, но в целом путешествение подходит к концу. Давно я, конечно, так интенсивно не постил. Прямо вспомнились первые дни существования канала, когда каждую неделю строчил по три поста :) Буду ждать следующий рексис! Надеюсь, и вы тоже :)

Читать полностью…

Information Retriever

RecSys, день третий.

Сегодня снова был poster day, но общения про статьи было еще меньше. Я с каждым днем всё больше осваиваюсь, сегодня, например, выцепил из толпы авторов HSTU, DCN и донимал вопросами =)

Сначала про рекомендательный дипмайнд. Это три команды, суммарно человек 25-30: одна команда занимается data / model efficiency, context understanding (e.g. DCN, data distillation), другая — трансформерами, масштабированием, генеративкой, LLM'ками (семантические айдишники от них), а про третью могу только спекулировать, так как ни с кем из нее не общался; как будто занимаются эксплорейшном. Основные два продукта, с которыми взаимодействуют — это Ютуб и Реклама; но также стараются распространять технологии на остальные сервисы, через репозитории / документацию.

Про torchrec. С постером про стотерабайтную матрицу эмбеддингов был товарищ из Меты, который активно пушит оупенсорс torchrec'а. Буквально с этой целью он на конфу и пришел! Пообещал через пару недель релиз stable версии, а также блогпост в пайторче. Пару дней назад он обновил документацию. На какие фичи стоит смотреть: jagged тензоры, эффективный эмбеддинг лукап, шардирование эмбедов для распределенного обучения. Было видно, что человек очень горит проектом и всеми силами стоит за оупенсорс! Меня точно убедил попробовать. Команда, делающая torchrec, довольно большая — около 8 человек.

Про создателей Actions Speak Louder than Words. В команде пять core мл инженеров: кроме (1) HSTU, делают еще (2) GPU retrieval (см. пост Миши) и (3) cross-service модели. Суммарно в разработке HSTU участвует примерно 20 человек. Статьи пишут в конце года, когда отдыхают =) Последние года 2-3 используют для своих обучений тот самый torchrec! Выцепил много технических подробностей про HSTU, их пока опущу :)

Подошел в постерном зале к одному директору из Гугла. Выяснилось, что оба любим музыкальные рекомендации. Посетовали что в Спотифае рекомендации плохие, и вообще они технологически очень отстали. Сам сценарий, когда тебе готовят по одному плейлисту каждую неделю — тоже отстойный. Стриминговый сценарий, как в Яндекс Музыке, гораздо лучше — все, что хочется, это нажать кнопочку "play" и получить какие-то новые крутые треки :)

С мл инженером, работающим в Youtube Shorts, обсудили тикток — что у них отдельные рекомендательные алгоритмы для США, Китая и Кореи; что исторически на севере всё более развито из-за того, что условия труда / добычи ресурсов были тяжелее, и нужно было выкручиваться :) На вопрос "на сколько технологически развита Россия" я сказал, что Москва довольно сильно развита инфраструктурно и логистически, но она отличается от остальной России. Внезапно, он спросил "but what about Saint Petersburg?" =)

Познакомился с еще одним инженером из Ютуба. Разговор строился примерно так: поздоровались, я спросил как ему работается в гугле, на что он ответил "capitalism is bad". Я сказал, что примерно на каждую рекламу в Ютубе это вслух повторяю =) Еще у него жена на половину русская, а ее сестра работает в Яндексе рекрутером. Свой человек!

Еще была инженер из инфры Меты, сказала довольно забавную вещь — больше нравится заниматься инфрой, потому что там ты всегда понимаешь как и почему происходят улучшения. А в ML, когда получаешь какой-то прирост, — его сложно нормально обосновать.

C автором DCN, DCN-V2 (и будущих DCN-V3, DCN-V4) тоже поболтали. Спрашивал, как вообще такие штуки можно разрабатывать, откуда идеи приходят — автор сказала, что в основном отталкивается от проблем, которые пытается решать. В случае DCN'ов было сильное стремление сделать более эффективную архитектуру. Так что problem-driven ресерч имеет место быть :)

А ещё Олег Лашинин завёл канал про рекомендательные системы — @recsys_for_all. Знаю Олега как очень вдумчивого и опытного специалиста по рексису. Подписывайтесь!

Читать полностью…

Information Retriever

RecSys, день первый. LargeRecSys x VideoRecSys.

В Google очень сильно верят в Generative Retrieval как универсальную парадигму для обучения рекомендательных систем (статьи Better Generalization with Semantic IDs: A Case Study in Ranking for Recommendations и Recommender Systems with Generative Retrieval). Превращаем айтемы в набор семантических айдишников с помощью RQVAE, затем с помощью трансформера учимся их генерировать. Ed Chi обмолвился, что у них это уже в проде работает; что такая штука очень хорошо дообучается даже на небольшом кол-ве примеров (тысячах). На мои вопросы "а что там с distribution shift'ом? как эту штуку инкрементально учить? как же popularity bias?" Эд сказал что никаких проблем нет, что трансформер это — просто transducer. Думайте сами =)

Был рассказ про webpage-to-webpage рекомендации (explore further) в Bing (статья Analyzing User Preferences and Quality Improvement on Bing’s WebPage Recommendation Experience with Large Language). Никаких ноу хау не заметил, звучало довольно стандартно для индустрии. Пять кандгенов (графовый, коллаборативная фильтрация, двухбашенная модель, etc), ранжирующий градиентный бустинг, нейросетевой кросс-энкодер как фича; используют для двухбашенности InfoNCE с ин-батч негативами и какими-то хард негативами; logQ-коррекции нет. Качество в оффлайне оценивают помощью LLM.

От Нетфликса было довольно поверхностное выступление без технических деталей; докладчик предложил 13 пунктов-поучений, которые я записывать не стал. На фоне прошлых докладов, в которых были пересказы уже прочитанных ранее статей, выглядело в целом посвежее. Когда будет запись — стоит посмотреть :)

Пинтерест выступил с рассказом про Pinnerformer, TransAct и свою новую статью про id-based pre-training. Пиннерформер, конечно, уже выглядит совсем маленьким — 256 событий и очень мелкий трансформер. Еще интересно насколько уменьшилась польза от PinSage эмбеддингов после добавления обучаемых эмбеддингов по айдишникам — спрошу на постер сессии.

Было выступление про HSTU (статья Actions Speak Louder than Words: Trillion-Parameter Sequential Transducers for Generative Recommendations). Я про эту статью рассказывал в посте про масштабирование. Из новой информации — явно сказали, что пытаются энкодер замасштабировать, пробуют FSDP. Сейчас энкодер у них довольно небольшой, 24 слоя размерности 1280. У нас больше :)

Дальше снова выступление от Google: Derek Cheng рассказал, что они уже внедрили DCN-V3 (надеюсь, не этот) и ведут активную разработку DCN-V4. И что активно используют unified embeddings). На мой вопрос "пробовали ли заскейлить unified эмбеддинги до размеров как у Меты?" сказал, что у них такие размеры и есть. Немного подозрительно, в статьях как будто не так.

Дальше было выступление про инфру для обучения / инференса моделей от Меты. Из интересного — есть трейдофф между размером и свежестью модели, пытаются его убрать; сделать сразу и большую, и свежую модель. Придумали некие дельта апдейты — целиком подгружают обновление dense части (энкодера) и частично обновляют sparse часть (эмбеды).

Ну и, наконец, великолепное выступление Ed Chi. Основной тезис — в будущем рекомендательные системы и языковые модели надо смерджить в одну сущность. В какой-то момент выступления достал пять каких-то стикеров с Gemini, сказал, что будет за правильные ответы на вопросы давать по стикеру. Я ответил дважды: в первый раз вручил мне стикер, во второй раз не стал, сказал, что лицо запомнил =) На фотографии можно лицезреть как я после выступления вопросы задаю :)

Читать полностью…

Information Retriever

Завтра начинается RecSys 2024!

Будет репортаж с места событий :) Планирую посетить воркшоп VideoRecSys + LargeRecSys 2024, на котором в этом году будет выступать Саша Петров (чатик @ods_recommender_systems), а также будут доклады от Google, Meta, Pinterest, TikTok, Netflix. Будет выступать Ed Chi, герой поста про путь длиной в тысячу ли до Distinguished Scientist в Google :)

Перед конференцией бегло посмотрел proceedings, чтобы хоть чуть-чуть подготовиться.

Bridging Search and Recommendation in Generative Retrieval: Does One Task Help the Other? от Spotify
Учат обучаемые эмбеды айтемов одновременно на две задачи: предсказание следующего айтема и поиск. Утверждают, что это помогает меньше оверфититься на популярности, регуляризует эмбеддинги. Одно но: эвалы без тайм сплита, откладывают несколько последних взаимодействий пользователя в тест и валидацию =)

Co-optimize Content Generation and Consumption in a Large Scale Video Recommendation System от Google
Хотят оптимизировать не только потребление, но и генерацию контента (UGC платформа, как никак). Для этого добавляют в ранжирование новые таргеты, которые при этом очень спарсовые. Из прикольных фишек — моделируют зависимости между разными сигналами с помощью хитрой смеси экспертов, где часть экспертов работает только на второй таске.

Self-Auxiliary Distillation for Sample Efficient Learning in Google-Scale Recommenders от Google
Утверждают, что полезно учить отдельную голову модели на смесь ground truth меток и предсказаний учителя. А целевую голову, которую потом используем, учить только на ground truth.

EmbSum: Leveraging the Summarization Capabilities of Large Language Models for Content-Based Recommendations от Meta
Ощущение такое, как будто статью от Alibaba / Tencent / Huawei прочитал. Какая-то неестественная конструкция с языковыми моделями и другими трансформерами.

Enhancing Performance and Scalability of Large-Scale Recommendation Systems with Jagged Flash Attention от Meta
Пиарят Jagged Tensor из Torchrec: запилили для них кучу математических операций, включая flash attention; утверждают что сильно ускорились и снизили потребление видеопамяти.

Analyzing User Preferences and Quality Improvement on Bing’s WebPage Recommendation Experience with Large Language от Microsoft
Рассказывают про свой модуль для webpage-to-webpage рекомендаций, а также рассказывают как улучшали датасет для обучения с помощью ЛЛМок.

Improving Data Efficiency for Recommenders and LLMs от Google
Здесь интересен посыл: в Google Deepmind верят, что нужно уметь сжимать данные в небольшие качественные датасеты. Пробуют использовать для этого LLM'ку (чтобы она оценила насколько сэмпл хорош). В рамках статьи прогнали 220 предобучений и 1100 дообучений.

Toward 100TB Recommendation Models with Embedding Offloading от Meta
Эмбеды хранят в оперативке и кэшируют "горячие" в видеопамяти. Завтра пойду спрашивать "а зачем так много, есть ли профит от 100 тб эмбеддингов?", потому что в статье про профит ничего не пишут :)

A Hybrid Multi-Agent Conversational Recommender System with LLM and Search Engine in E-commerce от JD.com
Заходят как-то в бар Manager, User/Item Analyst, Reflector, Searcher, and Task Interpreter. А потом начинают подбирать пользователям товары...

Embedding Optimization for Training Large-scale Deep Learning Recommendation Systems with EMBark от NVIDIA
Очень подробная детальная статья про эмбеддинги в рекомендашках с точки зрения инфры.

Encouraging Exploration in Spotify Search through Query Recommendations от Spotify
Если раньше поиск был больше про сценарии, когда у пользователя есть точное намерение, то сейчас уже начинают задумываться об улучшении качества на срезе более расплывчатых запросов.

Bootstrapping Conditional Retrieval for User-to-Item Recommendations от Pinterest
Рассказывают как "обуславливали" двухбашенные модели для генерации кандидатов, чтобы не нужно было уже после стадии кандгена еще дополнительно фильтровать айтемы по нужному условию.

Читать полностью…

Information Retriever

Practical ML Conf 2024.

Ну что, как всегда — очерки из кулуаров после конференции :)

Про компании:
* яндексоиды из ex-Дзена обустраивают под себя VK: ввели яндексовые перформанс ревью
* в Wildberries подводят итоги первого полугодия после массивного рексис найма
* в Авито активно улучшают рекомендации, судя по кол-ву участников конференции и по кол-ву вопросов про трансформеры и u2i двухбашенные модельки
* в Сбере тоже активно работают над трансформерами, в частности над использованием контентных представлений для айтемов
* еще про Wb: после выхода на работу доступы получать как минимум неделю, а еще на старте могут дать задачку про категоризацию товаров :)
* в Детском Мире нет ресурсов :(
* Яндекс Маркет активно занимается нейросетями: внедрили несколько трансформеров, и нейросетевое ранжирование пробуют (обошлось не без вашего покорного слуги)
* в Яндекс Музыке лучшие музыкальные рекомендации (уже пятый трансформер внедряем)

Остальное:
* найм стажеров — лучшее изобретение человечества
* трансформеры не могут освоить язык дельфинов, нужна смена парадигмы
* как минимум несколько человек подходило поговорить про то, что двухбашенные трансформерные u2i модели выдают не очень разнообразные рекомендации
* люди периодически заговорщически полушепотом спрашивали "а что-нибудь с РЛ'ем делаете?"
* кажется, впервые лицом к лицу столкнулся в России с человеком, у которого тоже есть oura ring
* активно тизерил, что буду делать доклад про наши успехи в масштабировании рексистем в ближайший год

Успел во время нетворкинга осипнуть и через полчаса отсипнуть, не думал, что такое возможно =)

Читать полностью…

Information Retriever

Появилась запись с Turbo ML Conf — https://www.youtube.com/watch?v=NlVXgGJnnX4

Еще советую посмотреть доклад Олега Лашинина про РЛ в рексисе — https://www.youtube.com/watch?v=rjzmqjLWRoM

Читать полностью…

Information Retriever

#arxiv_weekly (05.08.24 — 09.08.24)

Сводка новостей с arxiv recent ir.

1. Товарный поиск: Амазон исследует пользу от query understanding модуля в ранжировании (статья Exploring Query Understanding for Amazon Product Search), а в JD.com улучшают качество классификации интентов на тяжелом хвосте запросов с помощью графовых нейросетек A Semi-supervised Multi-channel Graph Convolutional Network for Query Classification in E-commerce.

2. LLM: в Гугле продолжают покорять рекомендашки языковыми моделями в статьях Leveraging LLM Reasoning Enhances Personalized Recommender Systems от команды Ed Chi (на амазоновских beauty и movies/tv), и PERSOMA: PERsonalized SOft ProMpt Adapter Architecture for Personalized Language Prompting от других товарищей из Google Research (на movielens). У Linkedin вышла статья про LLM и графы, Understanding and Modeling Job Marketplace with Pretrained Language Models.

3. Uncertainty modeling: любопытная статья от Shopee Discovery Ads про моделирование uncertainty для генерации кандидатов. При моделировании тяжелого хвоста айтемов имеем большую неопределенность, влияющую на построение индекса и поиск по нему. Утверждается, что при построении индекса хотим свести неопределенность к минимуму (для высокой релевантности), а при поиске в индексе хотим побольше неопределенности (для новизны). В том числе предлагают как эту uncertainty моделировать в нейросетях. Статья Deep Uncertainty-Based Explore for Index Construction and Retrieval in Recommendation System.

Еще одна статья на тему uncertainty от Alibaba Group: Modeling User Intent Beyond Trigger: Incorporating Uncertainty for Trigger-Induced Recommendation. Чуть статы: при клике на товар-клавиатуру, 46.9% в последствии купят какую-нибудь клавиатуру, 30.8% купят что-нибудь популярное, и 22.3% купят что-то комплементарное (e,g. мышку). В самой статье опять предлагают какие-то "модули": "we design an Explicit Intent Exploit Module (EIEM), Latent Intent Explore Module (LIEM), Intent Uncertainty Measurement Module (IUMM)", вчитываться я не стал :)

4. В тему последнего поста от Миши про генерацию кандидатов на GPU, в Xiaohongshu Inc опубликовали статью с говорящим названием A Real-Time Adaptive Multi-Stream GPU System for Online Approximate Nearest Neighborhood Search.

5. Misc: Huawei / Tencent выпустили обзор Embedding Compression in Recommender Systems: A Survey, а в Yahoo продолжают тюнить факторизационные машины Low Rank Field-Weighted Factorization Machines for Low Latency Item Recommendation.

Читать полностью…

Information Retriever

Turbo ML Conf.

В этот раз обсудили трансформерную персонализацию на более фундаментальном уровне. Поговорили про формирование истории, кодирование событий, а также обсудили как в модели обрабатывается кандидат, для которого считаем скор; и на какую задачу нужно учить модель.

Что обсуждали в кулуарах:
* инфраструктуру (в частности YTsaurus и насколько он хорош)
* зачем нужны аналитики в рексистемах
* как дипмайнд теперь назовет новую версию DCN'а, учитывая что DCN-v3 уже занят
* сколько в Wildberries рекомендательных команд и как они уживаются
* у кого в Т-банке больше гпушек: у ресерча или рнд
* у рексистем есть потолок качества или "насколько мы вообще можем повлиять на траекторию пользователя рекомендациями?"
* тикток, ютуб, kuaishou; онлайн-дообучение; почему ютуб рекомендует видео десятилетней давности
* Яндекс Ритм
* аплифт моделирование
* предстоящий рексис и как на него попасть
* нужна ли галочка для отключения персонализации

Презентацию прикладываю в первом комментарии к посту, запись выступления будет через пару недель. Узнаем, уложился ли я в 20 минут.

Как всегда, спасибо всем, кто подходил и говорил, что читает канал. Это очень приятно :) В этот раз спросили "где пост про РЛ", который я обещал наверно где-то полгода назад... Уверенно ответил "в бэклоге".

Читать полностью…

Information Retriever

Мы ищем стажеров!

👩‍🌾 shorties — это персональная программа, в которой мы выращиваем таланты до полноценных Research Engineer’ов или Research Scientist’ов в зависимости от ваших интересов.

🔭 Intern Research Scientist

Вы будете заниматься написанием статей на top-tier ИИ конференции (NeurIPS, ICLR, ICML) и участием в научном дискурсе: проведение экспериментов, проверка и генерация исследовательских идей, которые направлены на развитие научного знания.


🧪 Intern Research Engineer

Вы будете заниматься созданием новых frontier-технологий и применением Reinforcement Learning в реальных задачах.


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

- - —
@dunnolab

Читать полностью…

Information Retriever

Turbo ML Conf.

Буду выступать 20-го июля на конференции Turbo ML Conf с третьим, юбилейным докладом про трансформерную персонализацию.

В этот раз попробую сделать более фундаментальный рассказ: обсудим на что учить нейросеть, как формировать историю, как кодировать события. Опыт четырехлетней практики в Яндексе.

Приходите понетворкаться пообщаться :)

Читать полностью…

Information Retriever

Scaling Law for Recommender Systems.

Я на Датафесте рассказывал про масштабирование рексистем: хотим как в NLP/CV, чтобы можно было увеличивать модельки и получать серьезные приросты по качеству рекомендаций. Пока таких эффектов не наблюдается, особенно с т.з. dense части моделей (энкодеров). Давайте посмотрим на статьи:

Scaling Law for Recommendation Models: Towards General-purpose User Representations (NAVER, 2021).
Активность пользователя в разных сервисах — это разные модальности, e.g. поиск vs еком. Учат модель на contrastive learning, затем переиспользуют векторы модальностей в downstream тасках. Демонстрируют скейлинг по размеру обучающего датасета и по длине посл-ти событий. Нет таймсплита для оценки качества (делят на train/test по юзерам).

Understanding Scaling Laws for Recommendation Models (Meta, 2022).
Показывают, что типичная для меты нейросетевая архитектура DLRM не скейлится с точки зрения размера энкодера, но скейлится по кол-ву данных для обучения. Прозвучало роковое "parameter scaling is out of steam for the model architecture under study, and until a higher-performing model architecture emerges, data scaling is the path forward", другими словами "надо искать новую архитектуру, чтобы заскейлиться".

Pivotal Role of Language Modeling in Recommender Systems: Enriching Task-specific and Task-agnostic Representation Learning (NAVER, 2022).
Одна из первых работ про LM-ки в рекомендациях: представляют историю пользователя в виде сплошного текста, e.g."tomcruise movies → missionimpossible → mi7 release date → [EOS]", учат языковую модель, тюнят ее под рекомендательный сценарий с двухбашенной моделью. Утверждают, что есть скейлинг по размеру энкодера, но опять-таки нет таймсплита (leave-one-out strategy, когда замеряем кач-во на последнем взаимодействии пользователя).

Scaling Generative Pre-training for User Ad Activity Sequences (Amazon Ads, 2023).
Учат next event prediction, формируют отдельные лоссы по предсказанию всех признаков события. Утверждают, что скейлинг для претрейн лосса по размеру энкодера есть, и что прирост на downstream тасках тоже имеется. Таймсплита нет.

Breaking the Curse of Quality Saturation with User-Centric Ranking (Meta AI, 2023).
Утверждают, что для ранжирующих моделей даже по обучающим данным нет скейлинга. Предлагают user-centric подход: представлять айтемы через обучаемые эмбеддинги пользователей. Показывают, что такой подход скейлится хотя бы по данным.

Scaling Law of Large Sequential Recommendation Models (Gaoling School of Artificial Intelligence, 2023).
Для канала эта статья была историческим моментом, когда я разразился постом на тему неправильных эвалов в рекомендашках :) Учат next item prediction, приходят к выводу что в рексисе скейлинг по энкодеру даже лучше, чем в NLP. Но опять нет тайм-сплита и leave-one-out схема.

Actions Speak Louder than Words: Trillion-Parameter Sequential Transducers for Generative Recommendations (Meta AI, 2024)
Показывают, что софтмакс в трансформере вредит, а затем и остальную часть энкодера очень сильно меняют. Переходят к генеративной постановке и для ранжирования, и для ретривала. Тема скейлинга все еще на раскрыта; только промелькнул абзац "We observe this phenomenon across three orders of magnitude, up till the largest models we were able to test (8,192 sequence length, 1,024 embedding dimension, 24 layers of HSTU)".

Wukong: Towards a Scaling Law for Large-Scale Recommendation (Meta AI, 2024).
Вышла примерно в одно время с прошлой статьей, но при этом предлагает концептуально другой подход с очень кастомным способом стакинга факторизационных машин. Утверждают, что scaling law для энкодера выполняется.

Еще есть серия статей про sparse часть моделей, т.е. матрицы эмбеддингов, которые у Меты/Гугла достигают триллионных размеров (например, см 1, 2, 3).

Читать полностью…

Information Retriever

Топ статей про нейросети для web-scale рексистем.

Недавно Олег Лашинин опубликовал отличный пост про топ рекомендательных моделей, использующих данные в формате (user id, item id, timestamp). Захотелось сделать что-то подобное, но с акцентом на нейросети, индустрию, продакшн и web-scale. Топ отсортирован хронологически:

Wide & Deep Learning for Recommender Systems (2016) — предложили вместе с популярными на то время в рексистемах линейными моделями использовать полносвязные нейросети. Еще в статье довольно хорошие определения меморизации и генерализации :)

Deep Neural Networks for YouTube Recommendations (2016) — на мой взгляд, САМАЯ influential статья про нейросети в рекомендациях, заложившая основы нейросетевого ранжирования и ретривала. Подробно описали переход от линейных моделей к нейросетям в Ютубе.

Graph Convolutional Neural Networks for Web-Scale Recommender Systems (2018) — одна из первых работ про графовые нейросети для web-scale рекомендаций (наряду с Алибабой). Стоит читать вместе с GraphSage, MultiSage, MultiBiSage. В свое время ведущий GNN-ресерчер Jure Lescovec основал ресерч лабу Пинтереста; видимо это была одна из первых статей лабы.

Deep Interest Network for Click-Through Rate Prediction (2018) — в YoutubeDNN вектор пользователя формировался average пулингом над историей просмотров, а в Алибабе его заменили target-aware пулингом (однослойным pointwise аттеншном). Первый шаг в сторону более умной обработки истории пользователя в индустрии.

Sampling-Bias-Corrected Neural Modeling for Large Corpus Item Recommendations (2019) — важное улучшение нейросетевых ретривал моделей, про которое был отдельный пост.

Behavior Sequence Transformer for E-commerce Recommendation in Alibaba (2019) — в этот раз в Алибабе сделали полноценный трансформер для ранжирования; очередной шаг вперед после target-aware пулинга.

Top-K Off-Policy Correction for a REINFORCE Recommender System
(2020) — первый успех внебандитного обучения с подкреплением в рекомендациях. Утверждается, что это было самое большое улучшение качества рекомендаций в Ютубе за годы. Авторы, как и у статей про logQ-correction и DCN-v2, из того самого рекомендательного дипмайнда под руководством Ed Chi.

DCN V2: Improved Deep & Cross Network and Practical Lessons for Web-scale Learning to Rank Systems (2020) — sota (до сих пор!) в моделировании взаимодействия признаков в рекомендательных нейросетках. Очень изящный и простой с точки зрения реализации подход, который повсеместно используется для нейросетевого ранжирования (и мы тоже используем). Ждём DCN-v3 и DCN-v4 :)

PinnerFormer: Sequence Modeling for User Representation at Pinterest
(2022) — все еще одна из лучших статей про нейросетевой кандген. И систем дизайн аспекты обсудили, и про внедрение рассказали. Позже от Пинтереста была еще одна хорошая статья про анализ истории пользователя, для ранжирования — TransAct (2024).

TwHIN: Embedding the Twitter Heterogeneous Information Network for Personalized Recommendation
(2022) — одна из главных моделей, используемых для рекомендаций в X (Твиттере). Хоть это и графовая нейросеть, подход очень сильно отличается от PinSage’а. Трансдуктивность, гетерогенность — если интересно узнать о чем это, призываю почитать статью :)

Monolith: Real Time Recommendation System With Collisionless Embedding Table
(2023) — статья про то, как в ТикТоке учат модели в онлайне с минимальной задержкой. Произвела глубокое впечатление на индустрию, все побежали делать онлайн-обучение =)

Actions Speak Louder than Words: Trillion-Parameter Sequential Transducers for Generative Recommendations
(2024) — глоток свежего воздуха в мире трансформеров для персонализации, постепенно приближающий нас к миру больших моделей. Ключевое — переход к генеративной постановке. Я чуть-чуть рассказывал про статью на дружественном канале Рекомендательной.

Предвосхищая вопрос “а как же SASRec / BERT4Rec?” — они не про индустрию, продакшн и web-scale; но знать их конечно же тоже стоит. Если бы топ выходил за рамки рексистем, я бы однозначно добавил сюда статью про DSSM.

Читать полностью…

Information Retriever

В далеком 2018-м году, уже после Attention Is All You Need, но до BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding, Суцкевер на лекции в MIT пугающе точно описывал что будет происходить в ближайшие годы. В ответ на вопрос “как нам побороть проблему с генеративными LM’ками? Они плохо работают”, он уже тогда отвечал, что скорее всего достаточно замасштабироваться по данным и по модели (e.g. бахнуть тысячу одинаковых слоев), и получится гораздо лучше чем то, что было доступно на тот момент.

Но лекция была не совсем об этом, а гораздо обширней:
* дал интуицию обучению нейросетей и бэкпропу в частности
* сделал небольшое введение в RL
* аналогично, сделал супер краткое введение в meta-learning
* рассказал про self-play, верил в него как способ конвертировать compute в данные
* и даже про alignment рассказал, Deep reinforcement learning from human preferences

Это было ШЕСТЬ лет назад. Пруфы — https://youtu.be/9EN_HoEk3KY?si=T4ef2gJtDPNoZ4so

Читать полностью…

Information Retriever

RecSys митап от Сбера.

Завтра буду выступать на митапе от Сбера. Попробую за 15 минут рассказать кейсы, когда идеи из статей помогали нам на практике. Выбрал следующие пять концептов: калиброванное ранжирование, logq-коррекцию, DCN-v2, unified эмбеддинги и генеративные рексистемы.

Ссылка на трансляцию — https://jazz.sberbank.ru/sber-2p5vw5?type=webinar&role=VIEWER&psw=OAEQUkIGAx9cERdEHRIUDFMbCg.

Презентацию приложу в комментариях после выступления.

UPD: для подключения к трансляции нужно отключить проверку сертификатов, e.g. Для хрома — open -a "Google Chrome" --args --ignore-certificate-errors; или установить некий sberjazz

Читать полностью…

Information Retriever

Google Shopping.

Оказывается, у Гугла есть такая штука, как Google Shopping — екомные рекомендации / поиск. Под капотом гигантский граф из товаров, продавцов, всякой инфы про эти товары (см. блогпост shopping graph explained). Прямо сейчас выкатывается большой апдейт:

1. Интеграция с Gemini: по поисковым запросам внутри платформы генерируется небольшая сводка, которая подсказывает на что стоит обратить внимание при поиске товара. И к рекомендованным товарам генерируются объяснения.

2. Тикток-подобная лента. В Гугле, судя по выступлению Ed Chi на рексисе, очень сильно верят в рекомендательные ленты в формате тиктока. Когда пользователь минимумом усилий может скроллить какие-то объекты, которые красиво отображаются в ленте. И вот здесь они тоже решили запилить такую ленту, в которой будут отображаться картинки и видео с товарами.

Полную новость про апдейт можно почитать в блогпосте Google Shopping’s getting a big transformation.

Ed Chi на днях получил повышение до VP of Research в Дипмайнде. Не знаю, правда, связано ли с этим релизом :)

Читать полностью…

Information Retriever

RecSys, день четвёртый.

Сегодня был последний poster day. Наконец-то довелось пообщаться с Пинтерестом, и опять были какие-то жизненные разговоры с другими инженерами =) Успев обзавестись знакомствами за прошлые три дня, я уже ходил совсем уверенной походкой, кивая и улыбаясь знакомым :) Обо всём подробней ниже.

Bridging the Gap: Unpacking the Hidden Challenges in Knowledge Distillation for Online Ranking Systems от Google.

Есть многоголовая ранжирующая нейросеть для Ютуба. Хочется использовать дистилляцию, чтобы катать в прод модель с более хорошим качеством за те же параметры. Но при этом не хочется использовать "co-training", когда учитель и ученик учатся одновременно на одних и тех же сэмплах. Учат учителя отдельно, складывают его предикты в колоночную БД; у учеников учат отдельную голову на предикты учителя — говорят, что это еще и стабильней работает. Учитель обучается на данных со всех различных поверхностей (поиск, рекомендации, etc), а ученики только на данных с конкретной поверхности. Еще обсудили, что MSE на сигмоиды делать — норм тема :)

Learned Ranking Function: From Short-term Behavior Predictions to Long-term User Satisfaction от Google.

Используют cascade click model, моделируют вероятность клика, выхода из сервиса, а также некую долгосрочную награду. В более поздней итерации добавили условную оптимизацию, учли ограничения на какие-то другие метрики. В результате улучшили consumption / engagement метрики Ютуба. Понимаю, что рассказал очень невнятно — если интересно, лучше почитать статью :)

Taming the One-Epoch Phenomenon in Online Recommendation System by Two-stage Contrastive ID Pre-training от Pinterest.

Наконец-то выпала возможность пообщаться с кем-то из Пинтереста! Я ждал этого годами. Саму статью обсудили бегло, скорее сгружал все накопившиеся вопросы: про pinsage и pinnerformer, про текущие проекты, etc. Тоже используют torchrec. Еще говорят, что triton очень помогает пилить кастомные кернелы для оптимизации. Сейчас делают гетерогенный PinSage, пробуют учить pinnerformer end-to-end на ранжирование, работают над единым ранкером для всех поверхностей; заинтересовались semantic ids и генеративностью. Используют большие матрицы эмбеддингов, до 10ккк параметров.

Пообщался с еще одним инженером из Дипмайнда. Узнав, что я из России, начал расспрашивать меня про зиму — а еще сказал, что большую часть жизни не видел снег; зима ему не понравилась, потому что холодно и лицо морозит :) Я его убеждал, что смена времён года, цикличность природы — это очень красиво. Кажется, он проникся концептом =) Еще говорит, что work-life balance у них нормальный. В свободное время, внезапно, читает Властелин Колец; и хочет добраться до Сильмариллиона.

Разговаривал с инженером из инфры Меты. Обсуждали, что у нас образование гораздо жестче; что у них всё очень сильно разжевывают, а у нас хардкор. Он мне начал рассказывать какой-то анекдот, дескать русский профессор приехал прочитать курс лекций в какой-то зарубежный университет, и за одну лекцию рассказал то, что у них обычно за семестр проходили. Еще почему-то у него было мнение, что у нас очень развито искусство. Не стал его разубеждать, снял рюкзак, и повернувшись спиной продемнострировал на футболке "Демона Сидящего" Врубеля =)

Также поболтал с тимлидом команды, разрабатывающей torchrec; с инженером из mercari; еще инженер из меты почему-то спросил как много люди в России пьют =)

Вечером в театре Петруцелли выступал оркестр. Прикладываю фотографию. В какой-то момент исполняли музыку из Крестного отца :)

Читать полностью…

Information Retriever

RecSys, день второй.

Послушал 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
* используют дебаясинг, так как айтемы в начале сессии и в конце неравнозначны; делают некое перевзвешивание

Читать полностью…

Information Retriever

Завтра начинается RecSys 2024! Part 2.

Short-form Video Needs Long-term Interests: An Industrial Solution for Serving Large User Sequence Models от
Google
Очень похоже на статью от Меты, про которую я рассказывал в одном из ранних постов. Асинхронно считают эмбед пользователя.

Bridging the Gap: Unpacking the Hidden Challenges in Knowledge Distillation for Online Ranking Systems от Google
Еще одна статья про дистилляцию от Гугла. Из интересного: в модели предсказывают не только CTR, но и E(LTV); еще раз говорят про отдельную голову для дистилляции; утверждают что учителя лучше делать не слишком большим, а, например, в два раза больше ученика; иначе возникает слишком большой knowledge gap, из-за которого ученику сложно учиться.

Embedding Based Retrieval for Long Tail Search Queries in Ecommerce от BestBuy
Еще одна статья в копилку довольно простых, но приятных статей с описанием поискового стэка. Берты, биэнкодеры, query-to-query лосс, etc.

Sliding Window Training - Utilizing Historical Recommender Systems Data for Foundation Models от Netflix
Говорят, что плохо брать для пользователя только N последних взаимодействий для обучения, что стоит нарезать из него кучу чанков, учиться на всей истории. Но при этом чанки одного пользователя как будто распихивают по разным эпохам обучения.

Taming the One-Epoch Phenomenon in Online Recommendation System by Two-stage Contrastive ID Pre-training от Pinterest
При переходе к обучаемым айдишникам на задачах типа CTR часто появляется переобучение после первой же эпохи обучения; предлагают бороться с этим супер простой процедурой предобучения для айдишников.

Joint Modeling of Search and Recommendations Via an Unified Contextual Recommender (UniCoRn) от Netflix
Сделали для поиска, item2item и user2item рекомендаций одну модель.

Learned Ranking Function: From Short-term Behavior Predictions to Long-term User Satisfaction от Google
Для тех, кто соскучился по формулам и математике, глядя на прошлые статьи.

Better Generalization with Semantic IDs: A Case Study in Ranking for Recommendations от Google
Про нее уже писал, например, вот здесь.

Двойной пост получился, ну да ладно :)

Читать полностью…

Information Retriever

Давно не писал про рабочие проекты, и вообще давно не писал. Новости в числах:

1. Мы обучили рекомендательный трансформер с миллиардом параметров в энкодере (с улучшением качества). Раньше у нас стандартные конфигурации энкодеров, которые мы повсеместно внедряли, были 3 и 18 млн параметров, и даже это по меркам рексис статей было очень много.

2. Обучили рекомендательный трансформер с длиной истории 8192 (тоже с улучшением качества). Раньше для нас стандартные длины истории в моделях были скорее 256, 512, 1536 - выше и обучить было сложно, и профита особо не видели.

3. Учимся на сотнях миллиардов событий (опять-таки с улучшением качества). Раньше обучались скорее на сотнях миллионов - десятках миллиардов.

4. Ухожу в отпуск на два месяца. На то есть причины, к сожалению. Как говорится, незаменимых людей на работе не бывает. А вот здоровье у вас одно :)

5. Уже четыре года работаю в Яндексе.

А еще еду на следующей неделе на Рексис. Для меня это, конечно, маленький праздник - постараюсь и с вами им поделиться в виде постов :)

Первые три пункта про масштабирование для меня тоже большая радость. Ждите доклад на конференции в ближайшие полгода! И статью тоже попробуем написать, возможно практика написания постов в канале поможет :)

Читать полностью…

Information Retriever

Если увидите такую комбинацию наклеек на PML Conf — подходите пообщаться :)

Читать полностью…

Information Retriever

Related Pins at Pinterest: The Evolution of a Real-World Recommender System.

В далеком 2013-м году два инженера из Пинтереста за три недели склепали первую версию рексистемы для рекомендаций похожих пинов: взяли Pin-Board граф, посчитали мапредьюсом совстречаемости пинов, положили результаты в kv-хранилище. Через два года под развитие этого модуля выделили отдельную команду, и к моменту, когда в 2017-м году была опубликована обсуждаемая статья, уже 40% всех показанных и сохраненных пинов атрибуцировалось рекомендациям похожих пинов.

Что было сделано:

1. Перешли на случайные блуждания (Pixie) вместо мапредьюсного подсчета совстречаемостей. Вдохновлялись наработкой Твиттера аж 2013-го года, WTF: The Who to Follow Service at Twitter. Как минимум забустили качество для более редких, "тяжелохвостовых" пинов, у которых не набиралось достаточное количество соседей в своих бордах.

2. Добавили ранжирование:
* вырастили клики и сохранения пинов на 30% с помощью линейной модели над девятью фичами, использующей только характеристики query/candidate пинов (эмбеды текстов, картинки, категории, etc)
* добавили персонализацию: историю пользователя, соцдем, etc
* перешли на градиентный бустинг: это позволило упростить препроцессинг фичей (нормализацию, бакетизацию, etc), а также дало возможность добавлять query-level фичи
* пересели на pointwise (!) лосс вместо pairwise
* spoiler: позже они перейдут на ранжирующую нейросеть, о чем я рассказывал в посте про эволюцию ранжирования в Pinterest

3. Увеличили полноту/разнообразие кандидатогенерации, добавив больше источников кандидатов:
* Pin2Vec: word2vec над сессиями пользователей, эмбеды пинов из которого используются в ANNS
* поисковые кандидаты: ходят с текстовыми аннотациями query-пина в свой текстовый поиск, и с картинкой в визуальный; помогло с холодным стартом
* "срезовые" кандидатогенераторы: выделили отдельные кандидатогенераторы для более специфичных срезов пинов (e.g. свежие, региональные пины)

4. Про проблемы:
* фидбек луп: не получалось побить продовую ранжирующую модель, обучаясь на её же фидбеке; выделили для обучения 1% трафика, в котором отобранные кандидаты ранжировались случайно. Получили более хорошие модели, чем на исходном большом трафике
* меморизующие счетчики: была еще такая штука как MemBoost, которая изначально использовалась как прибавка к скору Pin-Board совстречаемости; по сути, это взвешенная сумма счетчиков вида "сколько раз при показе данного кандидата по этому запросу пользователи его сохраняли/кликали/etc". После введения ранжирующей модели стали использовать их в качестве фичей. Заметили, что из-за них сложно проводить АБ — эффекты от оцениваемых изменений прорастают через них в другие сплиты, и обратный эксп тоже нормально не поставишь; но ничего с этим не сделали
* столкнулись с тем, что любое изменение в рексистеме инвалидирует оптимальность всех ее компонентов, и всякие захардкоженные гиперпараметры/константы нужно переподбирать; полечили это автоматизацией — при каждом изменении стараются как можно больше всего автоматически перетюнить

5. Еще чуть про инфру:
* было сложно итерироваться, когда весь стек, включая ранжирование, был оффлайновый; каждое изменение ранжирования/кандгена требовало полный переобход всей базы; покрытие запросов тоже было не очень; в итоге перевели ранжирование и большую часть кандидатогенераторов в онлайн
* передавать по сети туда-сюда сырые данные пинов, чтобы посчитать фичи — затратно, система будет упираться в сеть; поэтому делают шардирование исходной базы кандидатов; на каждом шарде хранятся все сырые данные про пины и сразу считаются все нужные скоры / фичи

Это была краткая историческая сводка из 2017-го года. Что произошло за следующие семь лет? To be continued :)

Читать полностью…

Information Retriever

Не так давно я узнал, что в нашей индустрии появился новый тренд. Причем там, где, казалось бы, и так всё неплохо работает и улучшить не так-то просто.

Как мы уже не раз обсуждали, для генерации кандидатов лучше всего работают двух-башенные сети и ANN-индексы для быстрого поиска, например HNSW.

Так вот, сначала Meta, а потом LinkedIn (и по слухам — ТикТок тоже) показали, что в современном мире это можно делать лучше.

Двух-башенные сети на первой стадии всё ещё остаются. Но вот складывать в ANN-индекс не нужно. А нужно… Просто использовать GPU!

При небольшой размерности эмбеддингов, да ещё и в квантизованном виде, на одной карточке A100 можно хранить порядка 100 миллионов документов (а этого хватит, конечно же, всем... ну почти) и успевать с ними со всеми посчитать скалярное произведение за несколько десятков миллисекунд. А для хорошего throughput запросные эмбеддинги стоит собирать в батчи (матрицы), чтобы всё это можно было сделать одним матричным перемножением.

Какие у этого преимущества?

1) Полнота поиска выше. Как бы мы ни любили ANN, их полнота на практике выше 95%, но всё-таки не 100%. А тут мы считаем произведение со всеми объектами в базе.

2) Если обычно мы отбираем одну или несколько тысяч кандидатов из ANN, то здесь можно выдавать сразу 100'000. ANN с таким количеством работают уже не очень хорошо. Только вот что делать дальше с этими 100000? Мета предлагает на следующей стадии ранжировать их моделью потяжелее, mixture-of-logits, MoL (всё ещё двух-башенная, но в конце не произведение, а более сложная сеть), тоже на GPU. И уже результат этого выдавать в тяжелое ранжирование, как и раньше.

3) А ещё такой подход позволяет намного быстрее и чаще обновлять эмбеддинги документов. Их же просто нужно обновить в памяти GPU. В ANN-индексе же это сложнее, поэтому обычно так часто не обновляют.

Выглядит перспективно.

Читать полностью…

Information Retriever

#arxiv_weekly (15.07.24 — 19.07.24)

Захожу сегодня на arxiv recent ir, вижу "DCNv3: Towards Next Generation Deep Cross Network for Click-Through Rate Prediction". Думаю "Ну, новая эпоха нейросетевого ранжирования началась...". Открываю, а там какой-то китайский Anhui University и ни слова про оригинальных авторов DCN, DCN-V2 из Google Deepmind =)

1. Вышел 66-страничный обзор рексистем от канадского Vector Institute: A Comprehensive Review of Recommender Systems: Transitioning from Theory to Practice. Foundational модели, нейросети, графы, РЛ, LLM, мультимодальность, etc

2. Очередная обзорная работа про LLM, в этот раз от Noah's Ark Lab, Huawei: All Roads Lead to Rome: Unveiling the Trajectory of Recommender Systems Across the LLM Era. Утверждают, что развитие рекомендательных LLM происходило по двум разным развилкам, но всё в итоге сошлось в одну область (см. картинку).

3. Статья про преранжирование (стадия между генерацией кандидатов и ранжированием) от Credit Karma. Многовекторные представления пользователей и айтемов, сэмплирование негативов со всех стадий рексистемы, дистилляция и хитрые ранжирующие лоссы в статье RankTower: A Synergistic Framework for Enhancing Two-Tower Pre-Ranking Model.

4. Deep Bag-of-Words Model: An Efficient and Interpretable Relevance Architecture for Chinese E-Commerce от Alibaba Group: обучаемый мешок слов. Вместо "плотного" векторного представления для айтемов/запросов, выучивают широкий эмбеддинг (размера словаря), координаты в котором транслируются на веса слов.

Читать полностью…

Information Retriever

SIGIR 2024.

Бегло глянул опубликованный пару дней назад SIGIR 2024 Proceedings. Смотрел только пейперы от индустрии (не от университетов). Не густо:

1. Новая статья про скейлинг в рекомендашках от Mercado Libre Inc.: Scaling Sequential Recommendation Models with Transformers. Эксперименты ставят на амазоновских датасетах, и опять leave-one-out схема эвала. На картине изображена моя реакция :)

2. Была некая панельная дискуссия от eBay и Spotify про то, достаточно ли нам эмбеддингов в рекомендашках и поиске: Are Embeddings Enough? SIRIP Panel on the Future of Embeddings in Industry IR Systems. Вопрос хороший, интересно к чему пришли =)

3. Snapchat еще на SIGIR 2023 рассказали как используют графовые нейросетки для отбора кандидатов (Embedding Based Retrieval in Friend Recommendation), а здесь решили рассказать как простым советским query expansion смогли улучшить эту же технологию. На первый взгляд кажется, что переизобрели item-based коллаборативную фильтрацию. Статья Improving Embedding-Based Retrieval in Friend Recommendation with ANN Query Expansion.

4. JD.com подали сразу три шортпейпера: раз, два, три. Открыл одну из статей, увидел в абстракте "We introduce a Views User Interest Extractor Layer, Views Feature Generator Layer, Global Label Space Multi-Task Layer", закрыл.

5. Что-то от Google Research и YouTube про a/b тесты (избавление от них?) для улучшения онбординга в YouTube Music: Minimizing Live Experiments in Recommender Systems: User Simulation to Evaluate Preference Elicitation Policies. Судя по всему, учат симуляции пользователя.

6. Data Sciences, Target Corporation (крупный американский еком) применяют процесс Хоукса для предсказания повторных покупок в статье SLH-BIA: Short-Long Hawkes Process for Buy It Again Recommendations at Scale. Если мне не изменяет память, ребята из Т-банка в своей работе Time-Aware Item Weighting for the Next Basket Recommendations тоже процесс Хоукса применяли, но только для предсказания следующей корзины целиком.

7. В Visa Research экспериментируют с графовым трансформером: Masked Graph Transformer for Large-Scale Recommendation, когда мы целиком весь граф запихиваем в аттеншн. Делают этот самый аттеншн линейным; но это все заводится только на маленьких публичных датасетах, не web-scale :(

8. В Amazon рассказали как адаптировали генеративный трансформер для исправления ошибок в поиске к data drift: Striking the Right Chord: A Comprehensive Approach to Amazon Music Search Spell Correction. Используют RL?

9. Ребята из СПБГУ, ПОМИ РАН и Сберовской AI лабы в пейпере Neural Click Models for Recommender Systems адаптируют кликовые модели к рекомендациям.

Если вам понравились какие-то статьи из SIGIR 2024 Proceedings, про которые я не написал, — дайте знать про них в комментариях!

UPD:

10. What Matters in a Measure? A Perspective from Large-Scale Search Evaluation от Microsoft и Amazon - рассуждают про метрики для поиска.

11. От Kuaishou: пользователи устают от похожего контента (тык) и про моделирование переходов между поиском и рекомендациями (тык).

12. Интеграция рекламы в рекомендательную ленту от Meituan в статье Deep Automated Mechanism Design for Integrating Ad Auctionand Allocation in Feed.

Читать полностью…

Information Retriever

#arxiv_weekly (10.06.24 — 14.06.24)

В этот раз чуть более кратко чем обычно, но, надеюсь, все равно полезно. Итак, новинки за неделю:

1. Async Learned User Embeddings for Ads Delivery Optimization
от Meta Platforms: продолжают продвигать асинхронные эмбеддинги пользователей; получают эмбеддинги с помощью трансформера над гетерогенной историей пользователя. Используют для кандидатогенерации, через u2u вытаскивают кликнутую рекламу других пользователей. Как учат трансформер — не рассказывают.

2. Measuring Fairness in Large-Scale Recommendation Systems with Missing Labels от TikTok Inc: исследуют fairness метрики (utility-based, creator-side/item-side group fairness) с использованием случайного трафика.

3. Survey for Landing Generative AI in Social and E-commerce Recsys – the Industry Perspectives: обзор с говорящим за себя названием от разношерстного коллектива авторов из Linkedin, Amazon, Tiktok, Microsoft.

4. Сразу три новых статьи от Kuaishou: про Generative Flow Networks для моделирования ретеншна [1], про калиброванное ранжирование [2] и про оптимизацию времени посылки нотификаций [3].

5. Counteracting Duration Bias in Video Recommendation via Counterfactual Watch Time от Huawei: продолжают борьбу с duration bias.

6. ElasticRec: A Microservice-based Model Serving Architecture Enabling Elastic Resource Scaling for Recommendation Models от KAIST: предлагают свою микросервисную архитектуру для инференса рекомендаций. Dense (MLP) и sparse (эмбеды) части рексистемы в разных шардах, sparse шарды делятся на горячие и холодные, etc.

7. Negative Feedback for Music Personalization от SiriusXM Radio: "The training architecture is a hybrid of SASRec and BERT4Rec" — мораль думайте сами :)

8. Matryoshka Representation Learning for Recommendation от Hong Kong Baptist University: применили матрешку к рекомендациям.

Anna Karenina Strikes Again: Pre-Trained LLM Embeddings May Favor High-Performing Learners — победитель номинации "тайтл недели" :)

Читать полностью…

Information Retriever

#arxiv_weekly (03.06.24 — 07.06.24)

Решил тряхнуть стариной и сделать дайджест за неделю :) Пока что по личным причинам все еще не смогу заниматься этим регулярно, но, надеюсь, в какой-то момент получится вернуть эту практику на постоянной основе.

Item-Language Model for Conversational Recommendation
от Google Research. Тюнить LLM целиком под рекомендательную задачу страшно, так как теряются ее изначальные способности и появляются privacy concerns, а без тюнинга возникает modality gap (качество плохое). Пробуют это побороть, обучив Q-Former энкодер для айтемов, который используется вместе с зафриженной LLM.

Auto-Encoding or Auto-Regression? A Reality Check on Causality of Self-Attention-Based Sequential Recommenders от University of California (в авторах Julian McAuley). Исследуют, что лучше для sequential рекомендаций: auto-encoding (e.g. BERT4Rec) или auto-regression (e.g. SASRec). Используют leave-one-out схему эвала :(

System-2 Recommenders. Disentangling Utility and Engagement in Recommendation Systems via Temporal от FAIR (Meta). Декомпозируют эффект от рекомендаций на краткосрочный (влияние на текущую сессию) и долгосрочный (на будущие сессии). Моделируют ретеншн с помощью процесса Хоукса. Выглядит очень любопытно!

Large Language Models as Recommender Systems: A Study of Popularity Bias от Amazon Music и AWS. Подвержены ли LLM рекомендательному popularity bias'у? Придумывают свою метрику, чтобы это оценить. Делают по ней вывод, что LLM'ки от этого страдают меньше коллаборативных алгоритмов (но и качество у них так себе, судя по статье).

A Bi-metric Framework for Fast Similarity Search от MIT. Пусть у нас есть очень хорошая метрика близости для ANN, но ее тяжело считать. И есть какая-то прокси метрика, которая хуже по качеству, но проще считается. Предлагают алгоритм, который использует сильные стороны обоих метрик.

И чуть более коротко:

On Overcoming Miscalibrated Conversational Priors in LLM-based Chatbots от Microsoft (в авторах есть Tobias Schnabel). Утверждают, что LLM плохо рекомендует на "unspecified" запросах (начинает что-то выдумывать), и из-за особенностей разметки плохо умеет доуточнять интенты в рамках многошагового диалога. Пытаются это побороть.

Появился обзор A Survey of Generative Information Retrieval от National Taiwan University.

Новая модификация Decision Transformer'а от Data 61, см. Maximum-Entropy Regularized Decision Transformer with Reward Relabelling for Dynamic Recommendation.

Две статьи от Walmart: Session Context Embedding for Intent Understanding in Product Search, в которой авторы исследуют насколько полезен контекст (история пользователя) для задачи определения интента пользователя по поисковому запросу в екоме; и Large Language Models for Relevance Judgment in Product Search про то, как лучше затюнить LLM под задачу релевантности в еком поиске.

И есть некая статья от Alibaba под названием Robust Interaction-based Relevance Modeling for Online E-Commerce and LLM-based Retrieval, в которой они тоже что-то делают с релевантностью.

Читать полностью…
Subscribe to a channel