Учёные научили генеративные рекомендации учитывать несколько целей без переобучения модели
Современные рекомендательные системы всё чаще строятся на генеративных моделях: система формирует не отдельные оценки товаров, а целые упорядоченные списки (подборки), например, ленту товаров или контента. На практике такая подборка должна удовлетворять не только релевантности запросу, но и дополнительным условиям: ограничениям на атрибуты товаров (скажем, разнообразие категорий) или требованиям справедливости (fairness), например, равномерного показа разных продавцов или авторов.
Существующие подходы к учёту таких дополнительных целей делятся на два лагеря, и оба неудобны. Первый, постобработка уже готовой выдачи техниками, разработанными для негенеративных систем; такой подход не учитывает, что генеративная модель выдаёт список последовательно, шаг за шагом. Второй, встраивание дополнительных целей прямо в обучение модели; это работает, но требует переобучения, что на практике непосильно для крупномасштабных промышленных систем, где модель обновляется редко и дорого.
Авторы предлагают третий путь: лёгкий слой декодирования, который добавляется поверх уже готовой авторегрессионной генеративной модели во время её работы (инференса) и не требует изменения или переобучения самой модели. Формирование подборки описывается как задача онлайн-оптимизации с ограничениями: элементы списка выбираются один за другим, и на каждом шаге баланс между релевантностью и дополнительными целями пересчитывается динамически, в зависимости от того, сколько «запаса» по каждому ограничению ещё осталось не выполненным. Технически это реализовано через стохастическую прямо-двойственную (primal-dual) схему аппроксимации, которая на лету подстраивает веса релевантности и дополнительных целей в процессе генерации.
Авторы дают теоретические гарантии: оценки того, насколько сильно решение может нарушать ограничения, и оценки регрета (величины потерь по сравнению с оптимальным решением, если бы все ограничения были известны заранее). Метод проверен не только офлайн, на исторических данных, но и в крупномасштабном онлайн A/B-эксперименте на реальной рекомендательной системе. Результат: подход стабильно улучшает компромисс между целями, а по дополнительным (не связанным с релевантностью) целям даёт прирост на 1,8%, при этом удовлетворённость пользователей (основная метрика) не пострадала, то есть выигрыш достигнут «бесплатно».
Ключевые факты
- Задача: генеративные рекомендательные системы формируют упорядоченные подборки (слейты), которые должны удовлетворять не только релевантности, но и доп. ограничениям, например, по атрибутам товаров или по справедливости показа.
- Проблема существующих методов: постобработка не учитывает последовательную природу генеративной выдачи, а встраивание доп. целей в обучение требует дорогого переобучения модели в промышленных масштабах.
- Решение: лёгкий слой декодирования поверх уже обученной авторегрессионной модели, без изменения или переобучения самой модели.
- Механизм: онлайн-оптимизация с ограничениями через стохастическую прямо-двойственную схему, баланс релевантности и доп. целей подстраивается на каждом шаге по остатку «запаса» ограничений.
- Проверка: офлайн-эксперименты плюс крупный онлайн A/B-тест на реальной системе, прирост дополнительных целей на 1,8% при нулевой цене для удовлетворённости пользователей.
Почему это важно
Генеративные рекомендательные системы становятся стандартом, но добавление к ним бизнес-ограничений (справедливость показа, разнообразие атрибутов и т. п.) до сих пор означало либо грубую постобработку без учёта того, как модель на самом деле генерирует список, либо переобучение самой модели, дорогую и медленную операцию для крупных промышленных систем. Предложенный метод решает это без переобучения: достаточно добавить отдельный слой на этапе вывода ответа, что резко снижает цену внедрения многоцелевой оптимизации.
Кому это важно
В первую очередь, инженерам и исследователям, которые строят и эксплуатируют крупномасштабные генеративные рекомендательные системы (маркетплейсы, ленты контента, стриминговые сервисы) и хотят добавить к ним ограничения по справедливости или атрибутам товаров, не перезапуская цикл переобучения основной модели.
Как это применить
Метод реализуется как отдельный слой декодирования, который подключается поверх уже готовой авторегрессионной генеративной модели рекомендаций. Элементы подборки выбираются последовательно; на каждом шаге вес между релевантностью и дополнительными целями пересчитывается динамически исходя из того, сколько по каждому ограничению «осталось выполнить» до конца формирования списка. Основная модель при этом не меняется и не переобучается, интеграция сводится к добавлению вычислительного слоя на этапе генерации ответа.
Можно ли доверять
Да, с оговорками. У работы есть теоретические гарантии (оценки нарушения ограничений и регрета) и, что важнее для практики, не только офлайн-эксперименты на исторических данных, но и крупномасштабный онлайн A/B-тест на реальной рекомендательной системе с измеримым результатом (+1,8% по доп. целям без потерь в удовлетворённости пользователей). Это заметно надёжнее, чем типичная для таких статей проверка только в симуляции. При этом в тексте не названы ни конкретная компания, ни продукт, где проводился A/B-тест, сверить масштаб и контекст эксперимента независимо нельзя.
Риски и подводные камни
Прирост в 1,8% по дополнительным целям, скромная величина, и неясно, насколько она значима в конкретном бизнес-контексте, который в источнике не раскрывается. Название компании, продукта и предметной области, где проводился онлайн-тест, не приводится, поэтому результат сложно перепроверить или сравнить с другими системами. Метод также требует, чтобы дополнительные цели и ограничения были заранее корректно сформулированы, качество этой формулировки на практике определяет, насколько полезен будет слой декодирования.