Что такое KTO (Kahneman-Tversky Optimization) и чем отличается от DPO?

Краткий тезис

KTO (Kahneman-Tversky Optimization) — метод fine-tuning языковых моделей, основанный на prospect theory (теория перспектив Канемана-Тверски). В отличие от DPO (Direct Preference Optimization), KTO не требует парных предпочтений (A > B), а использует только бинарную оценку (хороший/плохой ответ). Это позволяет обучать модель на данных, где есть только метка качества, без необходимости собирать сравнительные пары, что значительно упрощает сбор данных и расширяет применимость.


1. Термин: KTO (Kahneman-Tversky Optimization)

KTO — метод alignment (выравнивания) LLM, предложенный в 2024 году (Kawaguchi et al.). Название отсылает к prospect theory — поведенческой модели принятия решений, где люди оценивают выигрыши и потери асимметрично (loss aversion — неприятие потерь сильнее, чем стремление к выигрышам). KTO использует эту асимметрию для оптимизации политики модели: плохие ответы штрафуются сильнее, чем хорошие поощряются.

Ключевая идея: модель учится не просто максимизировать вероятность хороших ответов, а минимизировать вероятность плохих с большим весом. Это соответствует человеческому поведению: мы больше стараемся избежать ошибки, чем получить награду.


2. Термин: DPO (Direct Preference Optimization)

DPO — метод alignment, который напрямую оптимизирует политику модели на основе парных предпочтений (ответ A лучше ответа B). DPO выводит loss из Bradley-Terry модели предпочтений и не требует отдельной reward model (модели вознаграждения), как в RLHF. Loss DPO штрафует модель, если она назначает более высокую вероятность непредпочтительному ответу.

Основное ограничение DPO нужны парные сравнения (A > B). Сбор таких данных дорог и трудоёмок, особенно для специфических доменов.


3. Ключевое отличие: требования к данным

ХарактеристикаKTODPO
Тип данныхБинарные метки (good/bad)Парные предпочтения (A > B)
Объём данныхМеньше (достаточно одного ответа на запрос)Больше (нужно два ответа на запрос)
Сложность сбораНизкая (можно использовать лайки/дизлайки пользователей)Высокая (нужны экспертные сравнения)
ПрименимостьЛюбые данные с обратной связьюТолько когда есть парные оценки

4. Prospect theory в основе KTO

Prospect theory (Канеман, Тверски, 1979) описывает, как люди принимают решения в условиях неопределённости. Ключевые элементы:

  • Асимметрия gain/loss: потери ощущаются примерно в 2–2.5 раза сильнее, чем выигрыши того же размера.
  • Функция ценности: вогнутая для выигрышей (убывающая чувствительность), выпуклая для потерь, и более крутая в области потерь.
  • Reference point (точка отсчёта): люди оценивают результат относительно некоторого нейтрального уровня.

KTO адаптирует эту функцию ценности в loss для LLM: плохой ответ (loss) штрафуется с коэффициентом >1, хороший (gain) — с коэффициентом <1. Это заставляет модель избегать генерации плохих ответов сильнее, чем стремиться к хорошим.


5. Как работает KTO: loss function

Loss KTO для одного примера (запрос (x), ответ (y), бинарная метка (b \in {0,1}), где 1 — хороший):

[ \mathcal{L}{[text](/wiki/text){KTO}}(x,y,b) = \begin{cases} -\sigma([beta](/wiki/beta) \cdot (v(x,y) - v{[text](/wiki/text){ref}})) & [text](/wiki/text){если } b=1 \ -\sigma(-[beta](/wiki/beta) \cdot (v(x,y) - v_{[text](/wiki/text){ref}})) & [text](/wiki/text){если } b=0 \end{cases} ]

где:

  • (v(x,y) = \log \frac{\pi_\theta(y|x)}{\pi_{[text](/wiki/text){ref}}(y|x)}) — логарифм отношения вероятностей текущей политики к референсной (как в DPO).
  • (v_{[text](/wiki/text){ref}}) — reference point, обычно среднее значение (v) по всем ответам в батче.
  • ([beta](/wiki/beta)) — температурный параметр.
  • (\sigma) — сигмоида.

Асимметрия вводится через разный знак аргумента сигмоиды для хороших и плохих ответов. На практике часто добавляют весовые коэффициенты (\lambda_{[text](/wiki/text){good}}) и (\lambda_{[text](/wiki/text){bad}}) (например, (\lambda_{[text](/wiki/text){bad}} > \lambda_{[text](/wiki/text){good}})), чтобы усилить штраф за плохие ответы.


6. Сравнение KTO и DPO: loss и оптимизация

АспектKTODPO
Loss основаProspect theory (асимметрия gain/loss)Bradley-Terry (парные предпочтения)
Формула lossСигмоида от разности (v - v_{[text](/wiki/text){ref}}) с разными знакамиСигмоида от разности (v_{[text](/wiki/text){chosen}} - v_{[text](/wiki/text){rejected}})
Reference pointСреднее по батчу (динамическое)Не требуется
АсимметрияЯвная (разные веса для good/bad)Неявная (через парное сравнение)
Вычислительная сложностьO(N) на батчO(N) на батч (но нужно два ответа на запрос)

7. Преимущества KTO

  • Меньше затрат на сбор данных: достаточно одного ответа с меткой (лайк/дизлайк). Это позволяет использовать логи чатов, A/B тесты, обратную связь от пользователей.
  • Работает с несбалансированными данными: если хороших ответов много, а плохих мало — KTO всё равно эффективен благодаря асимметрии.
  • Более устойчив к шуму в метках: prospect theory предполагает, что люди склонны переоценивать потери, поэтому модель не будет чрезмерно подстраиваться под редкие хорошие примеры.
  • Можно комбинировать с другими методами: например, использовать KTO для начального alignment, а затем DPO для тонкой настройки на парных данных.

8. Недостатки и ограничения KTO

  • Зависимость от reference point: выбор (v_{[text](/wiki/text){ref}}) (среднее по батчу) может быть нестабильным при малых батчах или смещённых данных.
  • Менее точное ранжирование: KTO не учит различать два хороших ответа (оба получат положительную метку), тогда как DPO может упорядочить их.
  • Требует калибровки весов: асимметрию ((\lambda_{[text](/wiki/text){good}}/\lambda_{[text](/wiki/text){bad}})) нужно подбирать эмпирически.
  • Меньше теоретических обоснований, чем у DPO (который выведен из принципа максимума правдоподобия для предпочтений).

9. Когда выбирать KTO, а когда DPO

СценарийРекомендуемый метод
Есть только бинарные метки (лайки/дизлайки)KTO
Есть парные сравнения от экспертовDPO (или KTO + DPO)
Нужно точное ранжирование ответовDPO
Данных мало, но есть шумKTO (устойчивее к шуму)
Хочется быстро прототипировать alignmentKTO (проще собрать данные)

10. Экспериментальные результаты (из статьи KTO)

Авторы KTO (Kawaguchi et al., 2024) показали, что на бенчмарках MT-Bench, AlpacaEval и HH-RLHF KTO достигает сопоставимых или лучших результатов, чем DPO, при использовании только бинарных меток. При этом KTO требует примерно в 2 раза меньше данных (один ответ на запрос вместо двух). В сценариях с шумными метками KTO превосходит DPO на 5–10% по метрикам helpfulness и harmlessness.


11. Связь с RLHF и другими методами alignment

KTO — это альтернатива RLHF и DPO в семействе offline preference optimization. В отличие от PPO (который требует онлайн-генерации и reward model), KTO работает офлайн на статическом датасете. KTO также можно рассматривать как вариант SPIN (Self-Play Fine-Tuning), но с асимметричным loss.


Пет-проект для закрепления

Задача Обучить небольшую языковую модель (например, GPT-2 или TinyLlama) генерировать вежливые ответы на запросы, используя KTO, и сравнить с DPO.

Инструменты

  • Python, PyTorch, Transformers (Hugging Face)
  • Датасет: Anthropic HH-RLHF (содержит как парные сравнения, так и бинарные метки) или синтетический датасет (сгенерировать хорошие/плохие ответы через LLM).
  • Библиотека TRL (Transformer Reinforcement Learning) — поддерживает DPO и KTO (начиная с версии 0.9.0).

Шаги:

  1. Загрузить предобученную модель (например, gpt2).
  2. Подготовить датасет: для KTO — взять только один ответ на запрос и метку (chosen/rejected). Для DPO — взять пары (chosen, rejected).
  3. Настроить конфигурацию KTO: задать ([beta](/wiki/beta)=0.1), (\lambda_{[text](/wiki/text){good}}=1.0), (\lambda_{[text](/wiki/text){bad}}=2.0).
  4. Обучить модель на 1 эпоху.
  5. Оценить на тестовом наборе: метрики reward score (через отдельную reward model), perplexity, human evaluation (или LLM-as-judge).
  6. Повторить с DPO на тех же данных (где есть пары).
  7. Сравнить результаты: KTO должен показать сопоставимое качество при меньшем объёме данных.

Ожидаемый результат Вы увидите, что KTO требует меньше данных для достижения того же уровня alignment, а также более устойчив к шуму (если искусственно добавить неправильные метки).


Связь с другими вопросами

ВопросТема
335DPO (Direct Preference Optimization)
334RLHF (Reinforcement Learning from Human Feedback)
337PPO (Proximal Policy Optimization)
338Reward Modeling
339Constitutional AI
340SPIN (Self-Play Fine-Tuning)

Навигация