На Тему семантиков айдисов
Глобально есть 3 основных этапа:
1) Подготовка вектора айтемов
2) Подготовка самих семантиков
3) какой нить декодер поверх семантиков
Хочу поделится 2-мя неочевидными на мой взгляд лайфхаками из статей, в которые я верю (но не проверил полностью)
Номер раз - не 1, а N векторов айетмов
В статье OneRec ребята используют Qformer для формирования вектора айтма.
Коротко - на основе контентна айтема готовят сразу 4 вектора для 1 айтема.
И потом применяют kmeans алгоритм сразу к 4 этим векторам
Номер два - использовать LLM для формирования позитивных пар.
Идея простая - давайте возьмем пары айтемов из истории пользователя, которые идут друг за другом.
Тут возникает проблема - что это не всегда что-то осознанное. В статье QARM-2 исследователи используют LLM - Qwen3 0.6B для разметки пар. Подают тайтлы и параметры объявлений из истории пользователя и спрашивают LLM: а есть ли какая то связь?
По результатом репорт - удалось выкинуть 70% нерелевантных пар
Почему верю в оба подхода?
1 вектор айтема может быть сильно беден и отражать только 1 явный сигнал. Для i2i задачи это может быть и не плохо, но в семантиках надо информацию разложить в иерархию, лучше иметь максимально широкое представление про айтем
Разметка LLM уже отлично зашла в нашей другой задаче. Даже небольшая LLM может повысить качество дефолтного датасета. Не ошибка - прогнать свой датасет через LLM и попросить улучшить . Это повысело качество финальной модели
Глобально есть 3 основных этапа:
1) Подготовка вектора айтемов
2) Подготовка самих семантиков
3) какой нить декодер поверх семантиков
Хочу поделится 2-мя неочевидными на мой взгляд лайфхаками из статей, в которые я верю (но не проверил полностью)
Номер раз - не 1, а N векторов айетмов
В статье OneRec ребята используют Qformer для формирования вектора айтма.
Коротко - на основе контентна айтема готовят сразу 4 вектора для 1 айтема.
И потом применяют kmeans алгоритм сразу к 4 этим векторам
Номер два - использовать LLM для формирования позитивных пар.
Идея простая - давайте возьмем пары айтемов из истории пользователя, которые идут друг за другом.
Тут возникает проблема - что это не всегда что-то осознанное. В статье QARM-2 исследователи используют LLM - Qwen3 0.6B для разметки пар. Подают тайтлы и параметры объявлений из истории пользователя и спрашивают LLM: а есть ли какая то связь?
По результатом репорт - удалось выкинуть 70% нерелевантных пар
Почему верю в оба подхода?
1 вектор айтема может быть сильно беден и отражать только 1 явный сигнал. Для i2i задачи это может быть и не плохо, но в семантиках надо информацию разложить в иерархию, лучше иметь максимально широкое представление про айтем
Разметка LLM уже отлично зашла в нашей другой задаче. Даже небольшая LLM может повысить качество дефолтного датасета. Не ошибка - прогнать свой датасет через LLM и попросить улучшить . Это повысело качество финальной модели