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

Вопросы и предложения > @yandex_ml_brand
Download Telegram
Привет! Это канал, посвященный рекомендательным системам. Здесь мы, RecSys-специалисты из Яндекса, будем делиться опытом, рассказывать об интересных случаях из практики, искать ответы на острые вопросы и комментировать свежие статьи. Подписывайтесь, если вам близка тема RecSys и вы не прочь обсудить её в уютной компании единомышленников.
Персонализация рекламы в Meta*
Meta — корпорация с огромным трафиком и сотнями сервисов. Учить user-эмбеддинги под каждую задачу непрактично. Для решения проблемы создан фреймворк SUM (Scaling User Modeling), а для адаптации к изменениям user-фич и поддержки актуальности эмбеддингов — асинхронная онлайн-платформа SUM (SOAP). Они работают в проде и, по словам авторов статьи, дают хороший прирост конверсий и экономят 15,3% затрат на инфраструктуру.

Две башни
В модели 2 главные сущности: башни user и mix. В user-башне собирают фичи — в сумме 1600. Они делятся на dense и sparse — во вторую категорию попадают, например, UserID и PageID. В interaction-модулях применяют DCN-модель и MLP-миксер.

На mix подают результаты в виде двух эмбеддингов размерностью в 96. Они джойнятся с фичами баннера. Обучают mix с помощью multi-task cross-entropy loss. Сюда осознанно не передают user-фичи, «мотивируя» user-башню узнавать о пользователе как можно больше.

SOAP
SOAP получает запрос, по которому из Feature Store достаются и усредняются 2 предыдущих user-эмбеддинга. Их отправляют в downstream-модель — она показывает рекламу. В то же время асинхронно вычисляют и записывают текущие эмбеддинги. Благодаря этому модель получает данные за 30 мс.

Возможная проблема — Embedding Distribution Shift. Появляются новые ID, с которыми юзеры не взаимодействовали, а существующие — устаревают. Поэтому при выкатке новой версии эмбеддингов их логируют. Мы спрашивали авторов, нет ли у них Feature Store с тайм-машиной для расчёта эмбеддингов. Ответ — нет.

Дообучение
Команда попробовала 4 разных подхода к дообучению модели:
— Frozen User Model — дообучение раз в месяц;
— Offline Batch — обновление раз в день;
— Online Real-Time Serving — обновление текущих эмбеддингов;
— Async Online Serving — тот самый SOAP.

В статье есть результаты экспериментов со всеми подходами. Обсудим в комментариях?

Разбор подготовил Константин Ширшов

@RecSysChannel
___
Meta признана экстремистской организацией, а Facebook и Instagram запрещены на территории РФ
5👍2
EBR в рекомендательных системах: перспективы мультизадачности
Статья о любопытном подходе к EBR (Embedding-based retrieval) для учёта нескольких интересов пользователя. Авторы не просто растят diversity и fairness, но и утверждают, что увеличивают общее качество. В статье это показано на примере SASRec, но в теории подход сработает для любых трансформеров над историей пользователя.

Суть — в кластеризации исходного множества айтемов на подмножества, в которые на этапе retrieval ходят отдельными kNN. При этом в каждом кластере обучают отдельный таск и рассматривают задачу в целом как multi-tasking learning (MTL).

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

В экспериментах авторы проводили кластеризацию через K-means на Word2Vec, но также можно использовать уже имеющееся in-house разбиение документов на категории.

Три подхода к MTL
В статье описано три варианта реализации multi-tasking learning. Первый подход — наивный, где на вход добавляется ещё один обучаемый вектор. Работает это не очень хорошо — у модели не получается выучить взаимодействия между фичами.

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

Третий подход — MoE (Mixture of Experts), где используется несколько специализированных сетей — экспертов — для решения одной задачи. Он работает лучше, чем наивный multi-tasking, но хуже, чем покомпонентное умножение, и получается дороже по времени обучения.

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

@RecSysChannel

Разбор подготовил Артём Мышкин
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4