Telegram Group & Telegram Channel
OneRec: Unifying Retrieve and Rank with Generative Recommender and Preference Alignment [2025]

У рекомендательных инженеров есть мечта - каким-то образом обучить одну модель, которая будет напрямую выбирать айтемы из огромной базы, без всяких multi-stage ranking костылей. Каким-то образом она должна совмещать в себе скорость методов кандидатогенерации и качество моделей ранжирования.

Одним из ответов на данный вызов называют генеративные рекомендации. Я уже писал про статью о Generative Retrieval (TIGER) от гугла. Суть этого подхода заключается в обучении семантических ID-шников для айтемов, делающих осмысленным генерацию айтема декодерным трансформером.

Здесь подход похожий, но авторы утверждают, что запустили такую систему в прод вместо всей системы ранжирования и получили профит. От TIGER система достаточно сильно отличается, давайте посмотрим внимательнее.

Начнём с того, что авторы не используют никакие RQ-VAE для генерации семантических ID. Вместо этого на датасете из эмбеддингов айтемов N раз применяют "Balanced K-means" - вариацию алгоритма, в которой форсируется одинаковый размер кластеров. После каждого из N применений из векторов вычитают центроиды - получается почти как в RQ-VAE, но по-другому.

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

Каждое видео заменяется на последовательность его семантических ID + разделитель. На этих данных мы самым обычным образом обучаем декодер, максимизируя вероятность выдачи "хорошей сессии". Один внимательный инженер заметил, что это по сути одна итерация Cross Entropy Method, со всеми вытекающими - например, тут отсутствует оценка индивидуальных действий.

Но это только предобучение. После этого применяют "DPO с дополнительной reward model", но это не RLHF, а свой велосипед.

Сначала RM обучают по сессии предсказывать награду - наличие лайка или суммарный watchtime. Далее генератор просят выдать N последовательностей, которые RM ранжирует и выбирает лучшую и худшую - эти пары и будут использоваться для обучения DPO.

Получается, что авторы, лишь бы не использовать RL, игнорируют наличие у них Reward Model и используют метод, разработанный для того, чтобы не обучать Reward Model. Как опытный RL-щик, одобряю.

Онлайн-результаты такие: 0.1B-декодер даёт +0.57%, 1B-декодер даёт +1.21% и 1B + их DPO даёт +1.68%. Очень интересный результат, думаю, мы тоже будем копать в какую-то такую сторону. Чем меньше у системы кусков и моделей, тем лучше с практической точки зрения.

@knowledge_accumulator



tg-me.com/knowledge_accumulator/271
Create:
Last Update:

OneRec: Unifying Retrieve and Rank with Generative Recommender and Preference Alignment [2025]

У рекомендательных инженеров есть мечта - каким-то образом обучить одну модель, которая будет напрямую выбирать айтемы из огромной базы, без всяких multi-stage ranking костылей. Каким-то образом она должна совмещать в себе скорость методов кандидатогенерации и качество моделей ранжирования.

Одним из ответов на данный вызов называют генеративные рекомендации. Я уже писал про статью о Generative Retrieval (TIGER) от гугла. Суть этого подхода заключается в обучении семантических ID-шников для айтемов, делающих осмысленным генерацию айтема декодерным трансформером.

Здесь подход похожий, но авторы утверждают, что запустили такую систему в прод вместо всей системы ранжирования и получили профит. От TIGER система достаточно сильно отличается, давайте посмотрим внимательнее.

Начнём с того, что авторы не используют никакие RQ-VAE для генерации семантических ID. Вместо этого на датасете из эмбеддингов айтемов N раз применяют "Balanced K-means" - вариацию алгоритма, в которой форсируется одинаковый размер кластеров. После каждого из N применений из векторов вычитают центроиды - получается почти как в RQ-VAE, но по-другому.

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

Каждое видео заменяется на последовательность его семантических ID + разделитель. На этих данных мы самым обычным образом обучаем декодер, максимизируя вероятность выдачи "хорошей сессии". Один внимательный инженер заметил, что это по сути одна итерация Cross Entropy Method, со всеми вытекающими - например, тут отсутствует оценка индивидуальных действий.

Но это только предобучение. После этого применяют "DPO с дополнительной reward model", но это не RLHF, а свой велосипед.

Сначала RM обучают по сессии предсказывать награду - наличие лайка или суммарный watchtime. Далее генератор просят выдать N последовательностей, которые RM ранжирует и выбирает лучшую и худшую - эти пары и будут использоваться для обучения DPO.

Получается, что авторы, лишь бы не использовать RL, игнорируют наличие у них Reward Model и используют метод, разработанный для того, чтобы не обучать Reward Model. Как опытный RL-щик, одобряю.

Онлайн-результаты такие: 0.1B-декодер даёт +0.57%, 1B-декодер даёт +1.21% и 1B + их DPO даёт +1.68%. Очень интересный результат, думаю, мы тоже будем копать в какую-то такую сторону. Чем меньше у системы кусков и моделей, тем лучше с практической точки зрения.

@knowledge_accumulator

BY Knowledge Accumulator




Share with your friend now:
tg-me.com/knowledge_accumulator/271

View MORE
Open in Telegram


Knowledge Accumulator Telegram | DID YOU KNOW?

Date: |

Why Telegram?

Telegram has no known backdoors and, even though it is come in for criticism for using proprietary encryption methods instead of open-source ones, those have yet to be compromised. While no messaging app can guarantee a 100% impermeable defense against determined attackers, Telegram is vulnerabilities are few and either theoretical or based on spoof files fooling users into actively enabling an attack.

Telegram today rolling out an update which brings with it several new features.The update also adds interactive emoji. When you send one of the select animated emoji in chat, you can now tap on it to initiate a full screen animation. The update also adds interactive emoji. When you send one of the select animated emoji in chat, you can now tap on it to initiate a full screen animation. This is then visible to you or anyone else who's also present in chat at the moment. The animations are also accompanied by vibrations. This is then visible to you or anyone else who's also present in chat at the moment. The animations are also accompanied by vibrations.

Knowledge Accumulator from us


Telegram Knowledge Accumulator
FROM USA