Алексей Гусаков на deep tech night рассказал как Яндекс Музыка перешла на end-to-end генеративные рекомендации с новой моделью SONA. Энкодер-декодер модели вернулись!
Новая система называется SONA. В A/B-тесте SONA дала +4,5% Active Users поверх всех улучшений, что были сделаны с 2023 года. От внедрения модели получили эффект больше, чем от всего сделанного за последние годы вместе взятого.
В 2023 мы увидели первые BERT в рекомендациях: SASRec и BERT4Rec. Там история прослушиваний подавалась в энкодер-трансформер, а из результата делался вектор пользователя. Для получения рекомендаций можно было вычислить косинусное расстояния с вектором трека. Ограничение такого подхода в медленном обучении: каждый сабсет истории прослушиваний пользователя нужно обрабатывать как отдельный префикс, отдельным форвардом всей модели. Из-за этого приходилось ограничивать историю 128 треками.
В 2025 появился ARGUS с переходом к генеративной постановке с трансформеров-декодером. Модель последовательно предсказывает следующий музыкальный трек, авторегрессионно, как LLM предсказывает следующий токен. Это позволило подавать в модель 8000 треков за раз и сразу считать ошибку для всех префиксов. Однако сжатие всей истории в один токен теряет много информации. К тому же трансформер был тяжёлый, поэтому его можно было применять только как реранкер. Этап генерации кандидатов оставался отдельным.
Теперь следующая итерация – SONA, настоящая end-to-end система.
Ключевая инновация это новый токенизатор под названием Semantic ID. Грубо говоря one-hot представление для каждого трека заменяется тремя дискретными иерархическими токенами из кодбука. Кодбук формируется на основе мультимодальных эмбеддингов трека с помощью Qwen 2.5-Omni, refinement-трансформера и кластеризации RQ-KMeans. В итоге получается токенизация сохраняющая семантику на разных уровнях абстракции: от общих жанровых черт до специфики конкретного трека.
SONA – это энкодер-декодер. Энкодер часть сжимает историю пользователя, а декодер часть генерирует рекомендации. Одновременно учится и предсказывать следующий трек, и реакцию на него.
SONA сама себе генератор кандидатов и ранкер, потому что использует новую структуру токенов для ретривала прямо во время своих предсказаний. Используется beam search. Сначала предсказываем первый токен из трех, затем второй при условии первого, затем последний при условии двух предыдущих. По сути для получения рекомендации сразу делаем поиск по дереву несколькими форвардами трансформера. Никакого FAISS или HNSW!
Post #4111
2.77K
- 👎 26
- ❤ 16
- 🔥 6
- 🤔 3
- 👍 2