Завтра начинается 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
Пиарят
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
Рассказывают как "обуславливали" двухбашенные модели для генерации кандидатов, чтобы не нужно было уже после стадии кандгена еще дополнительно фильтровать айтемы по нужному условию.
Будет репортаж с места событий :) Планирую посетить воркшоп 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
Рассказывают как "обуславливали" двухбашенные модели для генерации кандидатов, чтобы не нужно было уже после стадии кандгена еще дополнительно фильтровать айтемы по нужному условию.
🔥33❤7👍2
Завтра начинается 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
Про нее уже писал, например, вот здесь.
Двойной пост получился, ну да ладно :)
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
Про нее уже писал, например, вот здесь.
Двойной пост получился, ну да ладно :)
🔥42👍1
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, сказал, что будет за правильные ответы на вопросы давать по стикеру. Я ответил дважды: в первый раз вручил мне стикер, во второй раз не стал, сказал, что лицо запомнил =) На фотографии можно лицезреть как я после выступления вопросы задаю :)
В 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, сказал, что будет за правильные ответы на вопросы давать по стикеру. Я ответил дважды: в первый раз вручил мне стикер, во второй раз не стал, сказал, что лицо запомнил =) На фотографии можно лицезреть как я после выступления вопросы задаю :)
❤49🔥22👍9
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, формируется промпт вида "вот история пользователя:
Подробностей еще много, оставлю для отдельного поста :) На таких мероприятиях можно узнать много ценной информации, которой нигде больше не узнаешь — чем авторы занимаются сейчас, что думают про другие статьи (в данном случае про 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
* используют дебаясинг, так как айтемы в начале сессии и в конце неравнозначны; делают некое перевзвешивание
Послушал 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
* используют дебаясинг, так как айтемы в начале сессии и в конце неравнозначны; делают некое перевзвешивание
🔥41❤4😁1
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. Знаю Олега как очень вдумчивого и опытного специалиста по рексису. Подписывайтесь!
Сегодня снова был 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. Знаю Олега как очень вдумчивого и опытного специалиста по рексису. Подписывайтесь!
❤44👍9🔥1🙏1