Яндекс заменил 15+ рекомендательных моделей одной — и получил прирост сильнее четырёх прошлых поколений
Яндекс опубликовал технический отчёт о Sona — новой генеративной модели для рекомендаций, обученной с нуля.
Главная идея: вместо классического рекомендательного конвейера из генераторов кандидатов, предранжирования и финального ранжировщика — одна модель, которая сразу и подбирает варианты, и сортирует их.
В недельном A/B-тесте на Моей волне в умных колонках с Алисой Sona заменила связку из 15+ компонентов: генераторов кандидатов, предранжирования и тяжёлого ранжировщика на сотнях ручных признаков.
Почему это важно?
Классический каскад стал стандартом не от хорошей жизни. Одна модель долго не могла быстро и точно просеивать миллионы треков. Поэтому систему собирали ступенями: одна модель ищет кандидатов, другая чистит список, третья ранжирует.
Работает, но дорого:
— каждая ступень требует своих данных и обучения
— у каждой свои серверы и логика
— история пользователя пересчитывается несколько раз
— признаки нужно придумывать и поддерживать вручную
— финальный ранжировщик не спасёт трек, если генератор его не нашёл
— любое улучшение одной части нужно подгонять под остальные
Sona устроена иначе.
Один энкодер читает историю пользователя — до 8192 событий: прослушиваний, пропусков и лайков. Этот разбор дальше используется и для поиска кандидатов, и для их сортировки.
Декодер генерирует не сами треки, а их короткие Semantic ID — примерно как языковая модель генерирует слова. Ручных признаков нет: модель учится на сырых логах.
Поиск и ранжирование обучаются вместе через общий энкодер, поэтому система не распадается на набор отдельных моделей, которые каждая оптимизирует свою маленькую задачу.
Чтобы получить качество тяжёлого ранжировщика без его стоимости, используют модель-учителя на 0,6B параметров, обученную на годовых данных. Она оценивает кандидатов во время обучения, а Sona учится повторять эти оценки. В продакшен учитель уже не попадает.
Для экономии длинную историю сжимают: глубокие слои работают только по последним 2048 событиям. Это примерно вдвое снижает стоимость инференса почти без потери качества.
Дообучение тоже автоматизировано: свежие веса уходят в продакшен каждые 10 минут, а путь от действия пользователя до обновлённой модели занимает около 45 минут.
Масштабирование проверяли на трёх конфигурациях: 264M, 485M и 659M параметров. По отчёту, качество стабильно растёт вместе с размером модели и объёмом данных — потолка в проверенном диапазоне пока не видно.
Результаты A/B-теста:
— активная аудитория выросла на 4,53%
— время прослушивания — на 6,30%
— лайки — на 11,42%
— просьбы повторить трек — на 17,99%
Для сравнения: до Sona на этой поверхности сменились 4 поколения трансформерных моделей, и каждое давало к активной аудитории от 0,56% до 1,93%. Один переход на Sona принёс больше, чем все четыре вместе.
Отчёт:
https://arxiv.org/pdf/2608.11015
Post #5885
165