Netflix опубликовала техническое описание GenRec — рекомендательной системы, построенной на основе языковой модели. В офлайн-тестах она показала улучшение качества ранжирования на 1,6% по сравнению с действующей системой, которая настраивалась годами. При этом для второго этапа обучения GenRec потребовалось примерно в 40 раз меньше размеченных примеров.
Текущая рекомендательная система Netflix опирается на тысячи вручную созданных признаков, описывающих пользователей, контент и взаимодействия. Такой подход дорого обходится при добавлении новых типов контента — игр, прямых эфиров, подкастов — и при расширении на новые области интерфейса. Готовые языковые модели тоже не подходят для рекомендаций: они склонны отдавать предпочтение популярному контенту, могут предлагать несуществующие в каталоге названия и игнорируют бизнес-правила. GenRec призван заполнить этот пробел.
| Показатель | GenRec | Текущая система |
|---|---|---|
| Качество ранжирования (офлайн) | +1,6% | базовый уровень |
| Размеченные данные (этап 2) | в 40 раз меньше | полный набор |
| Краткосрочная метрика (онлайн) | +0,115% | — |
| Долгосрочная метрика (онлайн) | +0,006% | — |
GenRec обучается в два этапа. На первом этапе открытая языковая модель с открытым весом дообучается на данных Netflix, чтобы понимать каталог и поведение пользователей. На втором этапе модель настраивается специально для ранжирования рекомендаций и обновляется чаще, чтобы учитывать новые названия и меняющиеся предпочтения. Вместо кодирования данных о пользователе в плотные числовые векторы Netflix преобразует историю просмотров в обычный текст: просмотры, продолжительность, оценки, добавления в список и отказы становятся диалогом между пользователем и системой. Модель сама выявляет закономерности, например, предпочтения по жанрам, без ручной разработки признаков.
Для обучения на втором этапе потребовалось примерно в 40 раз меньше размеченных примеров, чем для традиционной системы.

Поскольку полный текст всех взаимодействий превысил бы контекстное окно модели, Netflix агрессивно фильтрует входные данные: события с высоким сигналом, такие как длительные просмотры, сохраняются полностью, короткие клики отбрасываются, а серии просмотров сжимаются. Чтобы модель не предлагала несуществующие названия, добавлен отдельный компонент, который учитывает только реальные позиции каталога. При этом увеличение числа событий в промпте сверх выбранной длины контекста почти не улучшает качество ранжирования, но увеличивает вычислительные затраты.
GenRec работает на vLLM в режиме, когда модель читает входные данные один раз и оценивает все кандидаты за один проход, не генерируя текст. Это позволяет сдерживать затраты. В онлайн-тесте Netflix провела четырехнедельный A/B-эксперимент примерно на 10% трафика, ограниченный поверхностями рекомендаций с предварительными вычислениями. Краткосрочная метрика, отслеживающая поведение пользователей на главном экране, выросла на 0,115%, а долгосрочная ключевая метрика — на 0,006%. Оба улучшения статистически значимы, утверждает Netflix.
Дообучение на втором этапе добавляет от 35 до 50% к производительности базовой модели. Когда базовая модель устаревает на две недели, разрыв увеличивается до 80%, поскольку она перестает отражать новые названия и изменившиеся предпочтения. Рекомендательные модели быстро устаревают. Netflix рассматривает GenRec как часть более широкого сдвига, который также проявляется в проектах PLUM, GLIDE и OneRec-Think: вместо создания специализированных архитектур для каждой задачи одна языковая модель обрабатывает несколько сценариев использования. Работа смещается от создания все большего числа признаков к решению, какие сигналы включать во входные данные и в каком объеме. Инфраструктура также движется в сторону GPU-серверов и инструментов для LLM.
Команда Netflix называет GenRec «ранним, но многообещающим шагом» и описывает систему как сильную альтернативу традиционным рекомендательным моделям. Полная замена существующей системы пока не рассматривается. Netflix уже много лет использует машинное обучение за пределами рекомендательных списков: в 2020 году компания описывала, как графы знаний и карты сходства предсказывают, к какой категории контента относится планируемый тайтл и какие цифры аудитории он может достичь в каждой стране. Тогда языковая модель Google BERT обрабатывала только текстовые резюме названий и передавала машинно-читаемые представления последующим моделям.



