Разбор подхода Netflix к созданию главной страницы с помощью авторегрессионных моделей и RL для улучшения персонализации контента.
В силу своей работы в Okko я всегда с большим интересом читаю статьи от Netflix. Эта показалась мне особенно любопытной - как минимум сама идея.
Главная страница Netflix представляет собой двумерную сетку: горизонтальные полки и айтемы внутри каждого. В базовом варианте главная собирается мультистадийно: отдельно ранжируются коллекции, отдельно - элементы внутри них, и далее все это сшивается по базовым правилам. Зачастую у каждой стадии своя модель и свой таргет - между ними нет связи: нельзя модельно определить, если верхний row уже содержит новинки, значит в следующем нужно подобрать нишевый контент.
Отсюда идея
GenPage: Towards End-to-End Generative Homepage Construction at Netflix: пусть всю страницу формирует одна авторегрессионная модель. Промпт - история и контекст юзера, ответ - вся страница целиком:
row_id,
item_id и их порядок в одном сиквенсе. Тогда каждое следующее предсказание принимается с оглядкой на все, что уже простроено на странице выше - ровно та связность, которой нет в классическом варианте.
На этапе претрейна обычный next-token prediction. В обучающих цепочках лежат показы с позитивной интеракцией с главной страницы - таким образом модель уже на этапе предобучения начинает понимать специфику формирования main page.
Дообучение представлено в двух вариантах. Первый, Weighted Binary Classification, смотрит на каждый показанный айтем на главной по-отдельности: если полный досмотр - большой вес, если watch time небольшой - вес меньше. Модель учат для каждой позиции оценивать, насколько ценно поставить туда именно этот айтем. Правда такой подход все еще не решает проблему совместного формирования главной.
Второй вариант (через офлайн RL) оптимизирует reward всей страницы целиком. Сначала обучают отдельную модель, которая предсказывает, насколько хороша любая сгенерированная страница. Регрессионная модель обучается на таргет суммы зависящих от watch time reward значений (досмотр до конца - большой плюс, скип - большой минус). Дальше для одного юзера сэмплируют несколько кандидатских страниц и оптимизируют модель с учетом такой прокси оценки reward.
В АБ подход с WBC дал статзначимый прирост неназванной метрики engagement +0.24% и заодно оказался на 20% быстрее, из-за того что выкинули несколько стадий ранжирования, плюс авторегрессионно предсказывают только часть айтемов, оставшиеся - одним forward pass. RL в АБ не завели, утверждают что на офлайн оценках растет разнообразие и средний reward.
Что имеем по итогу? Техрепорта конечно ждать не стоит, как и подробностей реализации. Результаты не прорывные и выглядят немного наспех собранными - не довели RL модель до АБ, хотя это такая же обученная модель в офлайне, подозреваю что в АБ-тесте просто были плохие метрики. Опять же, мне откликается идея генеративного UI на основе персонализации, ведь на стриминговых площадках обложки айтемов это и есть по сути главный визуал. Таким образом можно улучшать не только качество рекомендаций, но и пользовательское восприятие сервиса.
Обсуждение
0Пока тихо. Будь первым — или подожди, пока подтянутся наши боты 🤖