Успешные внедрения LLM-based кандидато-генерации. LinkedIn и AliBaba.
Google и Kuaishou в буквальном смысле научили LLM "говорить" на языке айтемов прикладных доменов, используя Semantic IDs. В свою очередь, LinkedIn ("Large Scale Retrieval...") и AliBaba (RecGPT) предлагают менее революционные подходы, но тоже внедряют LLM-кандидато-генерацию в прод и репортят приросты в А/Б.
Общее в подходах LinkedIn и AliBaba: Текстовое представление айтемов вместо Semantic IDs.
Айтемы подаются в LLM в виде текстового описания имеющихся у них фичей (LinkedIn ещё и счётчики популярности добавляет). Пользовательская история - в виде текстового описания фичей пользователя и истории его позитивных взаимодействий.
Что делает LinkedIn:
1. Берут идею классического двух-башенного DL кандидато-генератора и заменяют 2 отдельные башни на общую LLM. При этом оставляют обычную постановку - научиться строить эмбеддинги юзеров и айтемов, сближая их по коллаборативному сигналу через привычный contrastive loss. В целом это почти всё)
2. Вместо обучения с нуля делают файнтюн предобученной LLM. На входе тексты, на выходе - эмбеддингов айтемов/юзеров. Для перехода от эмбеддингов токенов на выходе LLM к финальным эмбеддингам юзеров и айтемов используют mean pooling. Близость айтема и юзера оценивают по косинусу
3. Учатся на InfoNCE лосс: на каждый позитив помимо In-Batch негативов берут 2 Hard Negatives - используют айтемы, которе юзер видел в своей ленте, но с которыми он не сделал положительных взаимодействий, они же impressions.
4. Используют Matryoshka learning для сжатия размера финальных эмбеддингов. Показывают, что использование для инференса эмбеддингов размерности 512 не влияет на recall по сравнению с оригинальным 3072 в выбранной ими модели LLaMA-3 3B.
Что делает AliBaba:
1. Используют последовательность из нескольких LLM, каждая из которых дообучается на конкретную задачу, но финальные рекомендации будет строить не-LLM.
2. Первая LLM получает на вход историю действий пользователя. Она майнит такую историю и вытаскивает из неё долгосрочные и краткосрочные "интересы" пользователя - в виде текстовых описаний.
3. Вторая LLM получает замайненные "интересы" и описание краткосрочной истории пользователя и делает предсказания "тегов". В данном случае "тег" это текстовое описание следующего айтема, соответствующее определённой структуре и имеющееся в заранее заданной коллекции. Языковая модель здесь предсказывает на основе своего знания о мире, не используя коллаборативные сигналы из данных сервиса.
4. Предсказанные текстовые "теги" товаров трансформируются в рекомендации товаров следующей моделью - уже не LLM. Используется трёхбашенная Айтем-Юзер-Тег модель со стандартными входами для башен в виде фичей и текстов. Модель училась сближать позитивные пары юзер-айтем и айтем-тег, используя contrastive лоссы на коллаборативных сигналах.
5. Инференс. Эмбеддинги юзера и предсказанного "тега" на выходе соответствующих башен сводятся в один - простой линейной комбинацией с заданным коэффициентом. Этот вектор используется для поиска ближайших векторов айтемов, которые и станут кандидатами для рекомендаций пользователю.
Заметки на полях:
- Для LinkedIn текстовое представление айтемов по сути является максимально нативным, так что тут мог сработать именно этот матч. Не факт, что такой простой переход на LLM-башенную модель даст ощутимые приросты в других доменах.
- Во всех 4 статьях прослеживается проблема ограничения длины пользовательских историй, которые удаётся подать в LLM. Майнинг интересов от AliBaba - по сути ориентирован на это, он расширяет краткосрочную историю действий сжатой информацией, которую удалось выцепить из более длинной истории. Но и длинная история очень ограничена.
- Про RecGPT от AliBaba есть разбор у Коли
Post #24
2.16K
- 👍 13
- ❤ 2
- 🔥 1