Generative Recommender Systems
Классические рекомендательные системы работают по двухстадийной схеме: retrieval сужает множество кандидатов, ranking ранжирует их по релевантности. Генеративные рекомендательные системы (Generative RecSys) переосмысливают эту задачу: вместо скоринга готовых кандидатов модель генерирует представление следующего релевантного объекта.
Semantic ID — основа подхода
Обычно идентификаторы айтемов — это произвольные числа, которые не несут смысла, но в генеративном подходе их заменяют на Semantic ID — иерархические дискретные коды, полученные из кластеризации контентного и коллаборативного представлений. Семантически близкие айтемы разделяют префиксы: похожие коды отражают похожие айтемы, что позволяет переносить знания на длинный хвост и помогает при холодном старте.
Например:
03.11.22.01.85.60.01.10 — стиральная машина, фронтальная загрузка, 8 кг, 1 200 об/мин, белая
03.11.22.01.10.65.02.15 — стиральная машина, фронтальная загрузка, 10 кг, 1 400 об/мин, серебристая
03.45.10.12.00.45.01.00 — микроволновая печь, объём 20 л, мощность 800 Вт, чёрная
Как рекомендация становится генерацией
GenRecSys решают задачу рекомендаций как задачу генерации последовательностей. Существует 3 основные постановки:
🟣 Next-item prediction — модель предсказывает следующий Semantic ID из истории взаимодействий
🟣 Slate generation — модель генерирует упорядоченный список рекомендаций одной выдачей, учитывая взаимное влияние айтемов в списке
🟣 Explanation generation — модель генерирует текстовое объяснение рекомендации
Генеративный retrieval как ключевой механизм
Декодер последовательно генерирует токены Semantic ID, полученный код разрешается через ANN (Approximate Nearest Neighbor) или trie-индекс в конкретный айтем или кластер кандидатов. Sequence-to-sequence рекомендации трактуют историю пользователя как входную последовательность токенов и предсказывают следующий токен. Трансформеры здесь стали архитектурой по умолчанию: self-attention обрабатывает дальние зависимости и гетерогенные токены, декодер совмещает next-item prediction, классификацию интента и генерацию объяснений в одном backbone.
Но есть и сложности. Генерация требует гибкости, retrieval требует детерминизма и покрытия. Коллизии токенизации и ошибки декодирования резко снижают recall. Exposure bias и накапливающаяся ошибка при авторегрессивном декодировании приводят к расхождению между офлайн-метриками и реальным поведением.
Гибридный паттерн в продакшене
В промышленных системах генеративные компоненты встраиваются в существующие пайплайны как дополнительный слой. Retrieval сужает кандидатов, генеративная модель уточняет интент или переранжирует, классический ранкер обеспечивает скорость и стабильность. Чистая end-to-end генерация проигрывает обученному ранкеру на доменах с плотными историческими данными, она дороже в обслуживании и подвержена галлюцинациям.
Три фундаментальные проблемы
Полностью генеративные рекомендательные системы упираются в три открытые задачи:
1️⃣ Двухэтапный процесс оптимизации, при котором генерация Semantic ID и обучение рекомендательной модели разнесены во времени, приводит к семантическому рассинхрону между идентификаторами и финальными эмбеддингами
2️⃣ Semantic IDs отсутствуют в обучающей выборке языковых моделей на этапе претрейна, поэтому модели хуже улавливают заложенную в них семантику, что ухудшает способность к рассуждению над кодами, ограничивает обобщение и кросс-доменный перенос
3️⃣ Существует фундаментальный компромисс между экспрессивностью Semantic ID и вычислительной сложностью генерации: недостаточная длина снижает специфичность репрезентации, в то время как избыточная длина негативно влияет на стабильность декодирования и скорость инференса
Эти фундаментальные проблемы рассмотрим подробнее в следующих постах.
➡️ Часть 2
➡️ Часть 3
#aivkhub #recsys #genrecsys
Классические рекомендательные системы работают по двухстадийной схеме: retrieval сужает множество кандидатов, ranking ранжирует их по релевантности. Генеративные рекомендательные системы (Generative RecSys) переосмысливают эту задачу: вместо скоринга готовых кандидатов модель генерирует представление следующего релевантного объекта.
Semantic ID — основа подхода
Обычно идентификаторы айтемов — это произвольные числа, которые не несут смысла, но в генеративном подходе их заменяют на Semantic ID — иерархические дискретные коды, полученные из кластеризации контентного и коллаборативного представлений. Семантически близкие айтемы разделяют префиксы: похожие коды отражают похожие айтемы, что позволяет переносить знания на длинный хвост и помогает при холодном старте.
Например:
03.11.22.01.85.60.01.10 — стиральная машина, фронтальная загрузка, 8 кг, 1 200 об/мин, белая
03.11.22.01.10.65.02.15 — стиральная машина, фронтальная загрузка, 10 кг, 1 400 об/мин, серебристая
03.45.10.12.00.45.01.00 — микроволновая печь, объём 20 л, мощность 800 Вт, чёрная
Как рекомендация становится генерацией
GenRecSys решают задачу рекомендаций как задачу генерации последовательностей. Существует 3 основные постановки:
🟣 Next-item prediction — модель предсказывает следующий Semantic ID из истории взаимодействий
🟣 Slate generation — модель генерирует упорядоченный список рекомендаций одной выдачей, учитывая взаимное влияние айтемов в списке
🟣 Explanation generation — модель генерирует текстовое объяснение рекомендации
Генеративный retrieval как ключевой механизм
Декодер последовательно генерирует токены Semantic ID, полученный код разрешается через ANN (Approximate Nearest Neighbor) или trie-индекс в конкретный айтем или кластер кандидатов. Sequence-to-sequence рекомендации трактуют историю пользователя как входную последовательность токенов и предсказывают следующий токен. Трансформеры здесь стали архитектурой по умолчанию: self-attention обрабатывает дальние зависимости и гетерогенные токены, декодер совмещает next-item prediction, классификацию интента и генерацию объяснений в одном backbone.
Но есть и сложности. Генерация требует гибкости, retrieval требует детерминизма и покрытия. Коллизии токенизации и ошибки декодирования резко снижают recall. Exposure bias и накапливающаяся ошибка при авторегрессивном декодировании приводят к расхождению между офлайн-метриками и реальным поведением.
Гибридный паттерн в продакшене
В промышленных системах генеративные компоненты встраиваются в существующие пайплайны как дополнительный слой. Retrieval сужает кандидатов, генеративная модель уточняет интент или переранжирует, классический ранкер обеспечивает скорость и стабильность. Чистая end-to-end генерация проигрывает обученному ранкеру на доменах с плотными историческими данными, она дороже в обслуживании и подвержена галлюцинациям.
Три фундаментальные проблемы
Полностью генеративные рекомендательные системы упираются в три открытые задачи:
1️⃣ Двухэтапный процесс оптимизации, при котором генерация Semantic ID и обучение рекомендательной модели разнесены во времени, приводит к семантическому рассинхрону между идентификаторами и финальными эмбеддингами
2️⃣ Semantic IDs отсутствуют в обучающей выборке языковых моделей на этапе претрейна, поэтому модели хуже улавливают заложенную в них семантику, что ухудшает способность к рассуждению над кодами, ограничивает обобщение и кросс-доменный перенос
3️⃣ Существует фундаментальный компромисс между экспрессивностью Semantic ID и вычислительной сложностью генерации: недостаточная длина снижает специфичность репрезентации, в то время как избыточная длина негативно влияет на стабильность декодирования и скорость инференса
Эти фундаментальные проблемы рассмотрим подробнее в следующих постах.
➡️ Часть 2
➡️ Часть 3
#aivkhub #recsys #genrecsys