Индустрия рекомендательных систем переживает тектонический сдвиг. Долгое время доминировал классический подход («TradRec»), основанный на многоступенчатых конвейерах фильтрации. Однако сегодня Spotify активно переходит к единой унифицированной генеративной модели на базе трансформеров и больших языковых моделей (LLM).
Шивам Верма заглянул «под капот» музыкального гиганта и рассказал, как компания объединяет данные 750 миллионов пользователей и каталог из сотен миллионов треков, подкастов и видео, чтобы дать пользователям максимальную персонализацию и управляемость (steerability).
Архитектурный сдвиг: От «TradRec» к генеративным рекомендациям
Исторически рекомендательные системы в Spotify и других крупных сервисах строились по классической многоэтапной схеме:
[ Весь каталог (100M+ шт.) ]
│
▼
[ Кандидаты (тысячи) ] <-- Этап генерации кандидатов (Candidate Generation)
│
▼
[ Топ-ранжирование (сотни) ] <-- Несколько этапов ранжирования (Ranking)
│
▼
[ Финальные рекомендации пользователю ]
В этой схеме у каждого продукта (домашний экран, поиск, подкасты, реклама) была своя изолированная команда и своя модель. Spotify уходит от этой разрозненности к единой бэкбон-модели на базе LLM, которая принимает контекст пользователя в качестве промпта и генерирует рекомендации авторегрессионно.
Три кита современной персонализации Spotify
Новая парадигма рекомендаций строится на интеграции трех ключевых компонентов:
- Фундаментальное моделирование пользователя (User Modeling)
- Понимание каталога (Catalog Understanding)
- Управляемая и персонализированная интеграция (Steerability & Personalization)
1. Фундаментальное моделирование пользователя: От векторов к последовательностям
Раньше Spotify сжимал историю действий пользователя в фиксированный вектор с помощью автоэнкодеров. Модель сжимала фичи, затем восстанавливала их, и этот скрытый слой (эмбеддинг) представлял вкусы слушателя.
Сегодня команда Шивама переходит на последовательные модели (sequential models) на базе трансформеров. История активности пользователя подается в модель как динамический контекст (промпт).
Результат: Модели создают единое кросс-контентное пространство (кросс-модальный гиперсферный эмбеддинг), где пользователи, музыкальные треки и эпизоды подкастов сосуществуют вместе. Например, эмбеддинг инженера Spotify может находиться в непосредственной близости от подкастов про технологии и ИИ, а вокруг него группируются релевантные музыкальные треки и аудио-шоу.
2. Понимание каталога: Что такое Семантические ID (Semantic IDs)?
Чтобы LLM могла рекомендовать музыку, ее нужно обучить знанию каталога Spotify. Но как передать модели «смысл» песни или подкаста? Передавать сырые тысячимерные векторы напрямую в текстовую модель неэффективно. Для этого Spotify использует концепцию Семантических ID (Semantic IDs).
- Процесс: Высокоразмерный вектор контента токенизируется и сжимается всего в 4–6 токенов (числовых идентификаторов).
- Иерархия: Эти токены имеют иерархическую структуру. Например, у Арианы Гранде (Ariana Grande) и Бруно Марса (Bruno Mars) первые два токена будут одинаковыми, так как оба артиста относятся к поп-музыке. Остальные токены будут различаться, отражая индивидуальные ниши и особенности их творчества.
Благодаря этому открытые LLM (такие как Llama, Qwen и др.) проходят процедуру постоянного дообучения (Continual Pre-training / Domain Adaptation). Модель учится предсказывать не просто следующее слово, а следующий семантический ID (песню или подкаст), комбинируя свои глобальные знания о мире с внутренними знаниями Spotify.
3. Сборка воедино: «Мягкие токены» и управление вкусом
Обучить LLM на индивидуальных данных каждого из 750+ млн пользователей невозможно — модель просто не вместит столько информации и потеряет способность к обобщению. Решение, которое применил Spotify, называется методом проекции векторов (soft tokenization).
[ Вектор пользователя (User Vector) ]
│
▼ (Проекция)
[ "Мягкий токен" (Soft Token) ] ──> Встраивается прямо в текстовый промпт LLM
│
▼
[ Модель LLM ] ──> Персонализированный ответ
Вектор пользователя проецируется в пространство токенов LLM, создавая «мягкий токен» (soft token). Этот токен динамически вставляется в промпт. В итоге, когда модель генерирует ответ или рекомендацию, она изначально обладает скрытым контекстом о том, кто именно ее об этом просит.
Новые продукты и будущее рекомендаций
Этот технологический фундамент уже позволил Spotify запустить принципиально новые функции, дающие пользователям естественную управляемость (steerability):
- AI DJ и Промпт-плейлисты: Возможность создавать плейлисты (а с недавнего времени и подкасты) с помощью обычных текстовых запросов на естественном языке.
- Профиль вкусов (Taste Profile): Функция, которая делает рекомендации прозрачными. Spotify открыто показывает пользователю, что система думает о его вкусах, и позволяет вручную корректировать эти данные: указывать, какие аспекты стоит «запомнить», а какие — «забыть» (например, если вы включили белый шум для сна или музыку для вечеринки, которая не отражает ваши реальные предпочтения).
Заключение
Переход от классического ранжирования к авторегрессионной генерации рекомендаций с использованием семантических ID и мягких токенов — это новая веха для Spotify. Технология уже успешно внедрена в продакшн для рекомендаций подкастов, показывая отличные результаты на внутренних метриках компании, и в ближайшем будущем будет масштабирована на всю экосистему сервиса.
На основе Personalization in the Era of LLMs - Shivam Verma, Spotify
