Рекомендательная [RecSys Channel] – Telegram
Рекомендательная [RecSys Channel]
2.62K subscribers
169 photos
3 videos
87 links
Канал про рекомендательные системы от ml-специалистов Яндекса. Делимся опытом, обсуждаем новые подходы и интересные статьи.

Вопросы и предложения > @yandex_ml_brand
Download Telegram
FedUD: Exploiting Unaligned Data for Cross-Platform Federated Click-Through Rate Prediction, Alibaba

Эта статья о том, как с помощью знаний о пользователе с разных доменов бустить качество CTR-модели на домене основном.

Просто собрать данные с разных доменов в одном месте и централизованно обучить модель не получится — это не конфиденциально. Для того чтобы безопасно обрабатывать чувствительные данные, существует подход Vertical Federated Learning (VFL): обучение происходит на каждом домене по отдельности, а полученные верхнеуровневые представления собираются в общую модель.

Но есть нюанс: собрать таким образом можно только выровненные представления (aligned data). Авторы статьи предлагают, как утилизировать на основном домене unaligned data — данные, к которым почему-то не получилось присоединить полезную информацию с других доменов.

Для aligned data обучение будет состоять из двух фаз (как на схеме):

1. На каждом домене своя сетка получит эмбеддинг пользователя, после чего передаст его сетке главного домена (вместо сырых данных — высокоуровневые представления). Эмбеддинг главного домена копируется на две головы.
2. Первая голова пытается выучить эмбеддинг другого домена. Происходит дистилляция: эмбеддинг главного домена проходит через MLP и через MSE сближается с эмбеддингом второстепенного домена (или доменов). Во второй голове эмбеддинг из главного и второстепенного доменов конкатятся, прогоняются через MLP и идут в BCE loss.

Когда готова голова, которая предсказывает эмбеддинг с другого домена, можно обучаться и на unaligned data: только во второй голове вместо эмбеддинга с другого домена используется эмбеддинг, предсказанный дистилляционной головой.

Результаты подтверждаются офлайн-экспериментами на открытом и приватном датасетах. Ориентируясь на AUC и LogLoss, авторы сравнивают предложенный подход:

— с другими VFL-моделями (которые используют как aligned, так и aligned + unaligned данные);
— с Wide&Deep (без кросс-домена).

@RecSysChannel
Разбор подготовил Сергей Макеев
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥54
User-Creator Feature Polarization in Recommender Systems with Dual Influence

Сегодня разбираем необычную статью, содержащую много математики.

Авторы изучают две проблемы link prediction:

Filter bubbles — сегрегация в графах, когда модель обособляет кластеры друг от друга, вместо того чтобы предсказывать что-то принципиально новое. В терминах рекомендательных систем — insufficient recommendation diversity, проблема на стороне нейросети.

Polarization — пользователи разбиваются на кластеры и взаимодействуют только внутри них, не видя альтернативных мнений. В терминах рексистем — insufficient creation diversity, проблема на стороне поставщика контента.

Для описания рекомендательных систем авторы предлагают использовать упрощённую модель из двух матриц: пользователей и создателей контента. Каждый пользователь и каждый создатель в момент времени t описываются своим вектором. В каждый момент времени вектора спроецированы на единичную сферу.

Пользователю i рекомендуют создателя j, после чего эмбеддинг пользователя i обновляется в зависимости от влияния на него j-го создателя. Обновляется и эмбеддинг создателя: на основе эмбеддингов тех, кому его рекомендовали.

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

Доказывали так: эмбеддинги пользователей и создателей меняются довольно плавно. Вероятность того, что каждого создателя порекомендуют каждому пользователю, больше 0. Тогда система схлопнется либо в 1 кластер (consensus), либо в 2 (bi-polarization).

При этом, если рекомендовать только top-k создателей, зануляя для остальных вероятности или relevance-скоры (скалярные произведения user на creator), можно избежать поляризации и забустить diversity, так как появятся нулевые вероятности.

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

@RecSysChannel
Разбор подготовил Сергей Макеев
Please open Telegram to view this post
VIEW IN TELEGRAM
👍92🔥2
Towards Understanding the Overfitting Phenomenon of Deep Click-Through Rate Prediction Models

Сегодня делимся статьёй о резком переобучении CTR-моделей в начале второй эпохи, a.k.a. one-epoch phenomenon.

Этой проблеме подвержены модели со структурой вида categorical features with large sparsity ➡️ Embedding ➡️ MLP.

Чтобы понять, можно ли справиться с феноменом, авторы всесторонне его анализируют. Так, на качество обучения CTR-моделей не влияют:

— число параметров модели;
— вид функций активации и батч сайз;
— weight decay и dropout (без dropout, кстати, лучше).

Из-за чего же тогда могут переобучаться модели? По результатам экспериментов, есть несколько причин:

— Оптимизаторы. Чем быстрее сходимость, тем сильнее отрицательное влияние на обучение. Наиболее подвержены эффекту Adam и RMSPROP.
— Высокие LR: эффект наблюдается только если они больше 10⁻⁷.
— Кардинальность фичей. Чем меньше уникальных эмбеддингов, тем слабее эффект. Авторы рассматривали FILTER (использовали m% эмбеддингов наиболее частых ID, остальные — в один эмбеддинг), Hash (создавали табличку с m% строк от общего числа ID, далее — хэшировали ID в эмбеддинги).

Обязательное условие one-epoch феномена — сдвиг между распределениями p(x_{trained}, y) и p(x_{untrained}, y), вызванный обучением на фичах высокой кардинальности, например, ID товаров. Если этот сдвиг есть, модель поверх эмбеддинг-слоёв моментально переобучается под p(x_{trained}, y).

На картинках показаны нормы изменений параметров слоёв. Легко заметить, что в начале второй эпохи резко меняются параметры слоёв поверх эмбеддингов. Это доказывает разницу в распределениях p(x_{trained}, y) и p(x_{untrained}, y).

Можно, конечно, просто не использовать эмбеддинги товаров, чтобы избежать переобучения, но это сильно просадит пиковое качество. Вывод авторов — обучать CTR-модели лучше в одну эпоху.

@RecSysChannel
Разбор подготовил Сергей Макеев
Please open Telegram to view this post
VIEW IN TELEGRAM
👍75🔥3
Diffusion-based Contrastive Learning for Sequential Recommendation

Сегодня разбираем статью о подходе Contrastive Learning в Sequential Recommendation (SR).

Авторы ставят под вопрос существующие методы аугментации цепочек последовательных заказов с целью генерации новых цепочек:

— Маскирование и переупорядочивание истории пользователя, представленной разреженными товарами, может исказить предпочтения.
— Подмена айтема похожим (CoSeRec) не учитывает контекст, так как использует лишь информацию о взаимной встречаемости товаров.
— Двойной forward pass c разными dropout-масками (DuoRec) тоже теряет смысловую последовательность.

Вместо перечисленного предлагается использовать guided-диффузию для оценки условного распределения айтема, обусловленного на контекст прошлых и будущих заказов. Чтобы сблизить латентное пространство диффузионки и SR-модели (в этом случае — SASRec), их обучают вместе, end-to-end, деля между ними эмбеддинги айтемов.

Кодирование последовательности и SR-модель: history += positional embeddings ➡️ transformer ➡️последний токен последовательности. Следующий айтем предсказывается через скалярное произведение векторного представления истории пользователя и эмбеддингов айтемов.

Цель обучения — минимизировать BCE со случайными негативами.

Аугментация

Из последовательности S извлекается подмножество S' с фиксированным соотношением |S'| / |S|. После чего элементы S' заменяются на семантически близкие айтемы, предложенные диффузионкой.

Контрастивное сближение аугментированных последовательностей

Берётся батч последовательностей, каждая из которых аугментируется дважды с помощью случайных подмножеств, после чего аугментации кодируются трансформером. Две аугментированные версии одной последовательности считаются позитивными и противопоставляются оставшимся 2*(batch_size — 1) аугментированным последовательностям, которые выступают как негативы. Лосс рассчитывается с помощью кросс-энтропии.

Диффузия для аугментации

Последовательность прогоняется через трансформер, после чего на полученных эмбеддингах начинается диффузионный процесс. Зашумляются эмбеддинги только тех элементов, которые будут заменены. Остальные элементы обуславливают обратный процесс, они — тот самый контекст. Обратный процесс моделируется двунаправленным трансформером.

Итоговый лосс рассчитывается в end-to-end сценарии, где суммируются три компоненты: BCE для SR-модели, контрастивное сближение и VLB для диффузионки.

@RecSysChannel
Разбор подготовил Сергей Макеев
Please open Telegram to view this post
VIEW IN TELEGRAM
👍122🔥2
Real-time Indexing for Large-scale Recommendation by Streaming Vector Quantization Retriever

Сегодня разберём статью об обучаемом в реалтайме индексе кандидатов от ByteDance (TikTok).

Retrieval — ключевой этап в рекомендательных системах. Он ASAP отбирает тысячи потенциально релевантных кандидатов в рекомендации из огромного пула документов. Ограничения по времени заставляют системы полагаться на индексы, но традиционные подходы имеют свои недостатки.

Один из самых популярных подходов — HNSW в связке с Two-Tower-моделью. Однако у него хватает минусов:

— Индекс нужно регулярно перестраивать, что занимает много времени.
— При построении индекса не учитывается таргет.
— Two-Tower хуже моделирует user-item взаимодействия.

Авторы статьи предлагают новый подход к построению индекса — streaming vector quantization, который обеспечивает:

Index Immediacy — быструю адаптацию к действиям пользователей, так как индекс дообучается в реальном времени. Это особенно важно для TikTok.
Index Reparability — устойчивость к деградации. В отличие от HNSW Two-Tower, steaming VQ не перестраивается, поэтому нужно убедиться, что качество индекса не начнёт деградировать со временем.
Index Balancing: отсутствие bias в пользу популярного контента.
Multi-task Learning: при обучении индекса можно одновременно учитывать разные рекомендательные таргеты.

На картинке — схема двух хронологических этапов, из которых состоит streaming VQ:

Retrieval Indexing. С помощью VQ-VAE из всего корпуса документов отбираются несколько тысяч кандидатов, близких к эмбеддингу пользователя.
Retrieval Ranking. Более сложная модель с кросс-аттеншном сортирует результаты предыдущего этапа, отправляя лучшие на финальное ранжирование.

По словам авторов, внедрение streaming VQ в TikTok значительно улучшило ключевые продуктовые метрики, полностью заменив другие подходы к генерации кандидатов.

@RecSysChannel
Разбор подготовил Владислав Тыцкий
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥65
TWIN V2: Scaling Ultra-Long User Behavior Sequence Modeling for Enhanced CTR Prediction at Kuaishou

Сегодня разбираем статью от команды китайской платформы коротких видео Kuaishou.

За последние 3 года у 2% пользователей платформы накопилось от 100 тысяч до миллиона событий в истории. Несмотря на небольшую долю таких пользователей, они генерируют 60% трафика. В целом 95% трафика исходит от пользователей с более чем 10 тысячами событий, поэтому масштабирование моделей под длинные последовательности в Kuaishou критично.

Система обработки пользовательской истории в Kuaishou состоит из двух этапов. General Search Unit (GSU) отбирает наиболее релевантные события из всей истории. Затем Exact Search Unit (ESU) обрабатывает этот отфильтрованный список.

Первая версия TWIN могла работать только с 10 тысячами событий в истории — примерно 3–4 месяца активности пользователей. Этого оказалось недостаточно, и новая версия расширяет этот лимит.

Как происходит обработка истории

При офлайн-обработке размер истории пользователя уменьшают примерно в 10 раз. К каждому событию из истории привязан его Completion Ratio (=playing time / video duration) — на их основе события разбиваются на 5 групп, чтобы в каждой группе у видео были примерно одинаковые значения. Затем группы иерархически кластеризуются методом k-means, пока мощность кластеров не достигнет определенного значения. Кластеризацию делают на основе эмбеддингов от внутренней рексистемы Kuaishou.

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

Между кандидатом и каждым кластером считают нечто похожее на attention, но без софтмакса: просто скалярные произведения, к которым добавляют логарифм размера кластера, чтобы усилить значимость кластеров, более интересных пользователю. Дальше отбирают топ-100 кластеров по полученным скорам, после чего в ESU они проходят через трансформер с обычным attention’ом.

Исследователи проводили эксперименты на собственных логах, сравнивая разные методы отбора наиболее релевантных событий из истории. A/B-тесты показали значимый прирост метрик Watch Time и Diversity.

@RecSysChannel
Разбор подготовил Сергей Макеев
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥52
Какие рексис-тренды будут развивать в Яндексе в 2025 году

Трендов, которые могут повлиять на рексис в этом году, — довольно много. Мы решили разузнать, на какие из них точно планируют сделать упор в Яндексе. Для этого поговорили с Группой исследования перспективных рекомендательных технологий. А на карточках собрали самые горячие направления, по мнению команды исследователей.

@RecSysChannel
14🔥7👍3
From Features to Transformers: Redefining Ranking for Scalable Impact

Сегодня разбираем статью от Linkedin, в которой Фёдор Борисюк и команда делятся результатами внедрения HSTU-подобной модели. Публикация интересна тем, что объединяет ключевые тренды 2024 года: идею target-aware из HSTU и использование semantic IDs из TIGER.

В работе обозначено несколько целей:

1) Избавиться от большого количества hand-crafted фичей
Авторы хотят показать, что их небольшая модель с базовыми фичами может переиграть сложные подходы и дать высокие результаты в ранжировании.

2) Использовать list-wise подходы вместо point-wise
Исторически ранжирующие модели Linkedin использовали point-wise подход, то есть оценивали каждый айтем независимо от прочих. В статье утверждается, что вероятность клика на конкретный айтем зависит не только от него самого, но и от других совместно показанных айтемов. Из-за этого авторы отказываются от point-wise и переходят на list-wise ранжирование. Ещё эта мера помогла им избавиться от rule-based бизнес-логики в обработке выходов моделей.

3) Scaling law в рекомендациях
Если в NLP и CV scaling law продемонстрирован многократно, то в RecSys — лишь в единицах исследований. Авторы ссылаются на работы, которые показывают, что при правильном увеличении модели можно увидеть scaling law (HSTU, Wukong, HLLM). Им самим удалось добиться этого, используя всего семь ключевых фичей, основанных на разных ID.

Решение, предложенное в статье, — модель под названием LinkedIn Generative Recommender (LiGR), которая собирает воедино перечисленные доработки.

До LiGR LinkedIn использовали в проде для ранжирования две отдельные point-wise модели, которые предсказывали несколько типов взаимодействия: Click Tower — вероятность клика и длительного просмотра поста; Contributions Tower — лайки, комментарии и репосты. Все фичи проходили через fully-connected слои, выдавая на выходе вероятности событий.

В LiGR авторы полностью отходят от предыдущего подхода и используют sequential-архитектуру. На вход модели подаётся хронологическая история интеракций пользователя в виде последовательности токенов, где токен — агрегация представлений признаков айтема из истории пользователя. На выходе для каждого айтема модель выдаёт вектор, где каждая компонента отвечает за отдельный тип взаимодействия.

Вдохновляясь HSTU, авторы используют target-aware постановку (в истории пользователя явно представлены не только айтемы, но соответствующие им действия совершенные пользователем) и gated attention — измененный механизм внимания с использованием гейтинга.

Также авторы предлагают использовать дополнительные attention блоки, работающие только в рамках сессий. Идея, заимствованная из SNG (Session-based Neural Graphs), заключается в том, что внутри одной сессии все айтемы могут учитывать друг друга для уточнения финальных скоров.

Эксперименты и эффекты

Один из главных результатов — исследователям удалось показать, что scaling law действительно работает. Они попробовали масштабировать практически все аспекты: флопсы, размеры эмбеддингов, размеры трансформера. В сравнении с HSTU их подход показал лучшее качество.

Ещё одно наблюдение — простое увеличение длины sequence length при фиксировании других параметров дало ощутимый рост метрик.

Один из самых заметных эффектов от внедрения модели — рост Daily Active Users (DAU) на 0,27%.

В качестве итога можно сказать, что у авторов получилось полностью отказаться rule-based подхода, основанного на устаревших принципах. А наибольший прирост производительности был получен за счёт скейлинга.

@RecSysChannel
Разбор подготовил Владимир Байкалов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍177🔥6
FuXi-𝛼: Scaling Recommendation Model with Feature Interaction Enhanced Transformer

Сегодня разбираем статью от Huawei Noah’s Ark Lab об их новой рекомендательной модели FuXi-𝛼.

HSTU — одно из главных достижений индустрии за прошлый год. Среди важных архитектурных решений, которые вошли в эту модель, можно выделить отказ от Feed-Forward Network (FFN) блока и модификацию attention, куда, помимо прочего, добавили дополнительную компоненту для более явного учёта позиционной информации.

Авторы FuXi-𝛼 утверждают, что без FFN-блока очень сложно качественно учитывать неявное (implicit) взаимодействие между признаками. Более того, временную и позиционную информацию они считают настолько важной, что для корректной работы с ними недостаточно простой правки attention.

Основных изменений в модели FuXi-𝛼 два:

1. Модификация HSTU-attention. Его заменили на FuXi-блоки с Adaptive Multi-channel Self-attention (AMS). Они кодируют семантическую информацию о последовательностях стандартным образом, беря за основу HSTU-модификацию attention. А вот позиционная и темпоральная информация в новом блоке обрабатываются отдельно, в специальных обучаемых матрицах. Подробнее о том, как это работает, — на центральной схеме.

2. Возвращение FFN, от которого отказались в HSTU. При этом, добавили гейтинг и residual connections почти в каждый слой архитектуры, чтобы градиенты могли течь по любому маршруту (правая схема).

Для проверки получившейся модели авторы выбрали публичные датасеты MovieLens (1M и 20M), KuaiRand и собственный индустриальный датасет. FuXi-𝛼 показывала лучшие результаты по всем метрикам и хороший скейлинг как на small, так и на large моделях. Например, на KuaiRand NDCG@50 FuXi-𝛼-Large выше HSTU-large на 9%, а HitRate@50 — на 7%. А согласно онлайн-экспериментам в Huawei Music, внедрение FuXi-𝛼 позволило вырастить среднее время прослушивания на 5,1%.

@RecSysChannel
Разбор подготовил Руслан Кулиев
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍43
Beyond Item Dissimilarities: Diversifying by Intent in Recommender Systems

Сегодня разбираем статью, в которой предлагается новый подход к диверсификации рекомендаций, основанный на понимании пользовательских интентов.

Авторы хотят решить проблему разнообразия контента, предлагаемого пользователям. Для этого они предлагают учитывать при формировании рекомендаций пользовательские интенты, а не ограничиваться только схожестью юзер-айтемов. Намерения пользователей могут меняться в зависимости от дня недели, времени суток и контекста — например, они могут проявлять интерес к спорту, учёбе или отдыху. Учитывая эти факторы, можно сделать выдачу более разнообразной и релевантной.

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

Идея в том, чтобы перейти от p(item | user) к p(item | user, intent) = p(item | user) * p(intent | user, item) / p(intent | user). От неё берут матожидание по априорной p(intent | user), получают вероятность того, что айтем подходит юзеру с учётом всех возможных интентов.

Это значение возводится в степень γ (гиперпараметр) и умножается на скор ранжирующей мод ели. Таким образом учитывается как user-item-релевантность, так и intent-aware-релевантность, формируя итоговый скор рекомендации.

1) Выбираем айтем с наибольшим скором и ставим его на первую позицию. Дальше повторяем процесс.

k+1) Переходя от позиции “k” к “k+1”, считаем, что k-ый айтем не подошёл пользователю. С учётом этого обновляем распределение интентов по теореме Байеса, находя апостериорное распределение. После этого пересчитываем скоры, но теперь матожидаем не по априорному, а по апостериорному распределению.

Этот пересчёт снижает вероятность однотипных рекомендаций и добавляет разнообразие в выдачу.

@RecSysChannel
Разбор подготовил Сергей Макеев
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥43
OneRec: Unifying Retrieve and Rank with Generative Recommender and Iterative Preference Alignment

Сегодня разбираем хайповую статью от Kuaishou — второго по популярности сервиса коротких видео в Китае. Авторы утверждают, что создали одностадийную рекомендательную систему OneRec, где генерация кандидатов и их ранжирование объединены в одной модели.

Архитектура модели

— Используют архитектуру «энкодер-декодер»: энкодер обрабатывает историю действий (на вход принимает только позитивные поведения: лайки, подписки, шеры, просмотры), а декодер генерирует всю сессию целиком.
— Вместо предсказания следующего айтема строит всю траекторию пользователя.
— Использует технику Direct Preference Optimization (DPO), причём итеративно — модель оценивает реворд каждой сессии и постепенно его увеличивает.

Энкодер — это обычный трансформер с N слоями. Между сессиями используют специальный токен-сепаратор.

Декодер устроен сложнее: в нём есть каузальный self-attention внутри сессии и cross-attention на энкодер (стандартная схема для декодеров). FFN-слой заменили на смесь экспертов. Это важно, чтобы избежать «узкого горлышка» и дать модели запомнить больше деталей о хороших сессиях. Такой подход увеличивает число параметров, но не требует лишних вычислений: в каждом проходе активируются только 4 эксперта из 24. За счёт этого растёт ёмкость модели без большого увеличения FLOPs. Ещё в декодере есть токены начала и конца сессии, последний предсказывается моделью.

Подробнее об устройстве

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

Подход с прямой генерацией ID уже использовали ранее, например, в работе TIGER. Но там не удалось сделать его end-to-end: модель работала как ретривал, но не заменяла ранжирование — эту стадию пришлось оставить. Авторы Kuaishou утверждают, что решили эту проблему.

Для видео они используют собственный мультимодальный эмбеддинг QARM. Берётся мультимодальная LLM, которая обрабатывает текст, изображения и аудио, её элайнят на рекомендательный сигнал и в конце применяют квантизацию.

С квантизацией есть нюанс. Обычно, как в той же TIGER, применяют RQ-VAE для получения семантических ID и построения семантических токенов. Но авторы пишут, что этот метод работает плохо из-за эффекта «песочных часов»: большинство айтемов мапятся в одни и те же ID, а остальные остаются невостребованными. В результате код-бук используется неэффективно.

Авторы предлагают заменить RQ-VAE на residual K-Means. Сначала вектор кластеризуется на K групп, затем для каждого объекта вычисляют разницу с центроидом его кластера и повторяют кластеризацию для этих разностей. Этот процесс выполняется несколько раз, а в итоге получается код из нескольких ID. Чтобы коды использовались равномерно, делают балансировку — стараются распределять видео по кластерам примерно поровну.

Генерировать хотят не просто сессии, а сессии с высокой ценностью. По критериям Kuaishou, сессия — это последовательность из 5–10 видео. Она считается удачной, если пользователь посмотрел хотя бы 5 роликов, провёл за просмотром больше определённого времени или проявил активность: лайкнул, добавил в коллекцию, поделился. Эти правила позволяют отобрать качественные сессии и использовать их в обучении. В самих сессиях каждый айтем представлен набором семантических ID.

Что в итоге

Авторы пишут, что систему удалось не только разработать, но и внедрить в прод. Она заменила многостадийную архитектуру, упростив процесс, и при этом увеличила время просмотра на 1,6%.

Результаты могли бы быть впечатляющими, однако в статье есть несколько непонятных моментов. Например, неясно, есть ли в новой архитектуре учёт длинной истории. Кроме того, выглядит так, будто у модели нет реактивности к дизлайкам и негативному фидбеку.


@RecSysChannel
Разбор подготовил Виктор Януш
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1310👍7🤯1
Wukong: Towards a Scaling Law for Large-Scale Recommendation

Сегодня разбираем не новую, но важную статью на тему scaling law в RecSys. В домене NLP он сводится к идее: чем больше модель, тем выше её качество. Но в современных рекомендательных системах нет такой явной зависимости. Мотивация авторов в том, чтобы создать архитектуру, которая, прежде всего, хорошо масштабируется по параметрам.

Исследователи утверждают, что достигли своих целей:

1) создали архитектуру, которая позволяет улавливать сложные взаимодействия признаков высокого порядка;

2) добились плавного масштабирования качества в зависимости от размера датасета, объёма вычислений (GFLOP) и ограничений по параметрам.

В статье по большей части рассматривают подход sparse scaling, суть которого в том, чтобы добавить множество эмбеддингов и за счёт этого масштабироваться по числу параметров. Однако это не совсем то, к чему стремятся авторы, по двум причинам. Первая: если просто добавить много новых эмбеддингов, не будут улавливаться нетривиальные взаимодействия. Вторая: при таком подходе не используется потенциал современных GPU, а только задействуется дополнительная видеопамять.

Ключевая инновация статьи — использование серии последовательно расположенных факторизационных машин (Factorization Machines, FMB). Это как раз и позволяет учитывать нетривиальные взаимодействия высоких порядков.

Общую схему архитектуры можно описать так: сначала берутся Dense embeddings — это преобразование всех признаков в эмбеддинги. Затем следует блок Interaction Stack, состоящий из нескольких Wukong-слоёв, каждый из которых разделён на два простых блока: Factorization Machine Block и Linear Compress Block.

Interaction Modules Stack состоит из l одинаковых слоёв (interaction layers), причём каждый слой постепенно захватывает всё более высокие порядки взаимодействия признаков. Для слоя i cтека его результаты могут содержать взаимодействия признаков произвольного порядка от 1 до 2i.

Авторы указывают, что чем важнее фича, тем большая размерность эмбеддинга ей выделяется. Затем все эти эмбеддинги объединяют, конкатенируют и через MLP преобразуют в d-dimensional векторы.

На внутреннем датасете исследователей насчитывается около семисот фич, среди которых есть не только категориальные, но и Dense-фичи. Их тоже пропускают через MLP, чтобы привести к одинаковым представлениям. Получив эти эмбеддинги, авторы переходят к следующему слою.

Также авторы пишут, что используют собственную оптимизированную версию факторизационных машин. Отмечается, что в большинстве современных датасетов число фичей ощутимо больше размерности эмбеддингов. Поэтому они вводят определённые упрощения, которые нацелены на оптимизацию вычислительных затрат, а не на улучшение качества. Но в целом FMB можно считать околодефолтными.

Также в статье рассказывается, как именно можно масштабировать предложенную архитектуру. Во-первых, можно увеличить число слоёв в блоке Interaction Stack. Во-вторых, допускается повышение размерности эмбеддингов, которые генерируются каждой внутренней компонентой. Наконец, авторы отмечают, что можно настраивать гиперпараметры, чтобы сбалансировать производительность и качество модели.

В финале авторы показывают результаты на шести общедоступных датасетах: по метрике AUC модель почти везде превосходит другие решения. При этом по LogLoss на ряде датасетов (особенно там, где высокая вариативность) Wukong не всегда занимает первое место.

В целом, полученное решение действительно показывает поведение, близкое к scaling law: при увеличении числа параметров и размера датасета качество предсказаний закономерно возрастает.

@RecSysChannel
Разбор подготовил Константин Ширшов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53🔥3