От «равных» весов к «умным»: OTPO для более точного Alignment LLM. alignment llm.. alignment llm. llm.. alignment llm. llm. OTPO.. alignment llm. llm. OTPO. алайнмент.. alignment llm. llm. OTPO. алайнмент. взвешивание токенов.

Оптимальный транспорт, чтобы взвешивать в ответе модели то, что действительно важно

Контекст

Языковые модели уже давно вышли за рамки поисковой строки: они пишут код, тексты и помогают с ресёрчем. Сегодня доступ к ним — через мобильные приложения и API — есть у каждого. Ассистенты становятся частью повседневности: от советов по личным вопросам и факт-чекинга (при том, что модели честно предупреждают о возможных ошибках) до планов питания и выбора следующего отпуска.

С ростом мощности моделей растёт и требование к доверию: можно ли опираться на их ответы и согласованы ли они с человеческими ценностями и предпочтениями? Это давняя тема. Перед публичным релизом модели обычно дообучают на данных человеческих предпочтений (запрос, выбранный ответ, отклонённый ответ). Вокруг алайнмента (alignment) накопилось много подходов; самый популярный — Direct Preference Optimization (DPO) за счёт простоты и эффективности.

Но у DPO есть системное ограничение: он равномерно взвешивает токены при подсчёте вероятности ответа. Люди же естественно придают больший вес смысловым кускам. Пример:

Пользователь: Назови столицу Франции
LLM: Столица Франции — Париж. Это красивый город с множеством достопримечательностей.

Для нас критично одно слово — «Париж». DPO же даёт одинаковый вклад «Парижу», «это», «красивый» и т.д., размывая обучающий сигнал.

Попытки поправить это уже были — например, SimPO и SamPO. В мае 2025 появился ещё один вариант: OTPO. Идея простая: использовать оптимальный транспорт, чтобы автоматически поднимать веса семантически ключевых токенов и ослаблять второстепенные. Дальше разберём, как это работает и почему помогает точнее согласовывать поведение модели с человеческими предпочтениями.

Почему равномерное взвешивание токенов не работает

Чтобы понять, зачем нужно взвешивать токены, посмотрим, как именно устроен DPO. Типичный пайплайн такой: модель предварительно обучают на корпусах из триллионов токенов (сама модель содержит миллиарды/триллионы параметров), затем делают «инструкционное дообучение (SFT) и уже после — оптимизацию предпочтений методом DPO, чтобы алайнить поведение с человеческими предпочтениями перед публичным релизом.

DPO сравнивает лог-правдоподобия выбранного и отклонённого ответов на уровне токенов. Для каждого примера с выбранным ответом y_w и отклонённым y_l вычисляется целевая функция:

Изображение из статьи о DPO

Изображение из статьи о DPO

πθ (Pi_theta) — это оптимизируемая модель, π_ref (Pi_reference) — эталонная модель, а π∗(y|x) обозначает вероятность отклика y при заданном пользовательском вводе x.

Вероятность π∗(y|x) раскладывается на вычисления по токенам. Для выбранного отклика, состоящего из токенов [t₁, t₂, …, tₙ], логарифм вероятности выражается как:

log π∗(y|x)=Σᵢ log π(tᵢ|x, t₁…tᵢ₋₁)

Каждый токен вносит свой вклад в суммарную лог-вероятность последовательности, и никакого механизма, позволяющего придавать больший вес значимому содержанию по сравнению с «пустыми» словами, не существует. Давайте рассмотрим пример данных предпочтений.

Запрос: What is the capital of France?
Выбранный ответ: The capital of France is Paris.
Отклоненный ответ: The capital of France is Italy, which is actually incorrect.

DPO складывает лог-вероятности токенов с одинаковым весом:

  • Выбранный: log P("The") + log P("capital") + log P("of") + log P("France") + log P("is") + log P("Paris") + log P(".")

  • Отклоненный: log P("The") + log P("capital") + ... + log P("Italy") + ... + log P("incorrect") + log P(".")

Критическая фактическая разница — “Paris” vs “Italy” — но в DPO они получают тот же вес, что и артикли/предлоги и прочие служебные токены. Возникает рассинхрон между тем, на чём фокусируется оптимизация, и тем, что реально важно человеку.

Отсюда и смещение к многословию: из-за аддитивности по длине длинные ответы дают больший суммарный вклад в метрику, и модель может неявно «вознаграждаться» за болтологию. Когда смысловые токены усредняются вместе со стилистическими, обучающий сигнал становится шумным и менее надёжным — качество обучения по предпочтениям падает.

Решение очевидно: в расчёте вероятности ответа поднимать вес действительно значимых токенов и ослаблять второстепенные. Именно это и делает OTPO.

Взвешивание токенов на основе оптимального транспорта (OTPO)

Теперь, когда мы разобрались, почему равномерные веса в DPO — это проблема, посмотрим, как OTPO решает её через теорию оптимального транспорта. Мы трактуем оптимизацию предпочтений как транспортную задачу — какая минимальная стоимость преобразования одного ответа в другой?

Например, какова стоимость превращения «Столица Франции — Париж» в «Столица Франции — Италия»? Большинство токенов совпадают, но замена «Париж» → «Италия» — это серьёзная семантическая трансформация.

Формально OTPO строит два распределения массы на носителях из токенов: выбранного ответа (источник) и отклонённого (приёмник). Стоимость переноса отражает семантическую близость пар токенов: близкие пары (например, «Париж» и «Лондон») имеют низкую стоимость, далёкие (скажем, «Париж» и «яблоко») — высокую.

Алгоритм находит транспортный план с минимальной общей стоимостью — по сути, как перераспределить массу между парами токенов. Масса действительно тянется к семантически близким парам (с низкой стоимостью). Однако веса токенов получают суммированием оптимального транспортного плана Γ по соответствующему измерению (без умножения на стоимость); стоимость влияет лишь опосредованно — через Γ. Это поднимает вклад смысловых различий (например, “Paris” ↔ “Italy”) и ослабляет второстепенные — тем самым адресуя проблему равномерного взвешивания в DPO.

Математическая основа OTPO

Теперь перейдём к математической основе OTPO. Алгоритм включает три ключевых компонента: построение матрицы стоимостей, решение задачи оптимального транспорта и вычисление взвешенных потерь по токенам.

Шаг 1. Матрица стоимостей

OTPO начинается с построения матрицы стоимостей M, которая измеряет семантическое расстояние между каждой парой токенов. Для i-го токена в выбранном (w) ответе и j-го токена в отклонённом (l) ответе стоимость задаётся как:

M[i][j]=( h[w][i] — h[l][j] )²

где h[w][i] и h[l][j] — это скрытые представления токенов на последнем слое модели. Это евклидово расстояние отражает семантическую близость. Похожие токены, такие как “Paris” и “London”, имеют низкую стоимость, а далёкие, например “Paris” и “apple”, — высокую.

Шаг 2: Задача оптимального транспорта

OTPO формулирует взвешивание токенов как задачу несбалансированного оптимального транспорта:

Изображение из статьи OTPO

Изображение из статьи OTPO

Здесь Γ — это транспортный план (переменная, которую мы ищем), сопоставляющий токены между выбранным и отклонённым ответами. Ω управляет энтропийной регуляризацией. Слагаемые с KL-дивергенцией обеспечивают, чтобы маргинальные распределения Γ были близки к наивным равномерным весам DPO. Решение Γ* показывает, как оптимально переносить вероятностную массу между токенами выбранного и отклонённого ответов.

Шаг 3: Вычисление весов токенов

На основе решения задачи оптимального транспорта мы получаем веса для отдельных токенов путём суммирования по измерениям:

Изображение из статьи OTPO

Изображение из статьи OTPO

Здесь Γ(i,j) обозначает вес, присвоенный паре токенов (i, j) из выбранного ответа w и отклонённого ответа r. Эти веса в дальнейшем используются в функции потерь DPO вместо равномерного взвешивания.

Разница в вознаграждении с новым методом взвешивания также представлена на изображении из статьи.

От «равных» весов к «умным»: OTPO для более точного Alignment LLM - 23

Результаты экспериментов и ограничения

OTPO тестировали на разных задачах, но в контролируемых условиях. В задачах суммаризации он показал прирост качества примерно на +8,6 % относительно лучшего бейзлайна (SamPO), судья — GPT-4o. На проверке устойчивости к смещению в пользу более длинных ответов (length bias) на датасете UltraFeedback и на моделях меньшего размера, таких как Llama-3 8B, OTPO выдавал более короткие ответы. Предварительные результаты указывают, что метод помогает снизить многословие и повышает долю ответов, которые людей устраивают чаще.

Однако масштаб экспериментов пока недостаточен, чтобы делать обобщённые выводы об эффективности метода на разных типах задач; на ряде датасетов результаты получились неоднозначными. Кроме того, OTPO вычислительно затратен: требуется считать матрицу стоимостей и транспортный план. В качестве оценщика качества ответов использовалась сама LLM, после чего ответы дополнительно проверялись вручную небольшой группой рецензентов. Эти процедуры полезны, но их надёжность существенно зависит от оценщиков и может смещаться в пользу некоторых типов данных.

Заключение

Алайнмент LLM с человеческими предпочтениями остаётся одной из центральных тем исследований, и OTPO показывает обнадёживающие результаты в контролируемых условиях. Подход не идеален, но взвешивание токенов задаёт хорошую основу для более тонкой настройки моделей под предпочтения пользователей.


В завершение рекомендую к посещению бесплатные уроки, которые будут полезны начинающим специалистам по ML:

А для системного и полного обучения машинному обучению с нуля есть специализация Machine Learning. Ее разработали и ведут эксперты индустрии, опираясь на рабочие кейсы.

Автор: kmoseenk

Источник

Rambler's Top100