English translation is not available yet. Showing Russian content.

Что такое calibration в контексте reward model для RLHF?

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

Calibration (калибровка) в контексте reward model для RLHF — это свойство модели выдавать вероятности предпочтения, которые соответствуют истинной частоте правильности. Например, если модель предсказывает вероятность 0.9, то в 90% случаев этот выбор действительно должен быть верным. Хотя для RLHF важнее ranking (относительный порядок предпочтений), плохая калибровка может приводить к нестабильности при использовании KL penalty и снижать доверие к модели. Калибровку улучшают методами Platt scaling или isotonic regression, а проверяют с помощью Calibration Error|Expected Calibration Error (ECE) и reliability diagram.


1. Введение: RLHF и Reward Model

RLHF (Reinforcement Learning from Human Feedback) — метод тонкой настройки языковых моделей, где сначала обучается reward model (модель вознаграждения) на парах ответов, ранжированных человеком. Затем model|основная модель (policy) оптимизируется с помощью PPO (Policy Optimization|Proximal Policy Optimization) так, чтобы максимизировать предсказанное вознаграждение, но с KL penalty для предотвращения отклонения от исходной модели.

Reward model — это обычно нейросеть (часто на базе той же архитектуры, что и LLM), которая на вход получает запрос и ответ, а на выходе выдаёт score (скаляр). Но для обучения PPO этот score должен быть интерпретируемым: чем выше, тем лучше ответ. Однако для некоторых модификаций RLHF (например, DPO — Direct Preference Optimization) reward model не нужна, но калибровка остаётся важной для оценки качества.

Термин calibration относится к тому, насколько хорошо предсказанные вероятности модели соответствуют реальным частотам. В контексте reward model это означает, что выходной score должен быть преобразован в вероятность предпочтения (обычно от 0.5 до 1.0), и эта вероятность должна быть калиброванной.


2. Что такое калибровка вероятностей?

Калибровка — это свойство модели, при котором для всех предсказаний с уверенностью p доля правильных ответов среди них равна p. Например, если модель предсказывает вероятность 0.8 для 100 примеров, то примерно 80 из них должны быть верными.

Математически
Пусть модель предсказывает вероятность p̂(x) для события y=1. Идеальная калибровка:
P(y=1 | p̂(x) = p) = p для всех p.

В контексте reward model событие y=1 — это то, что ответ A предпочтительнее ответа B (или наоборот, в зависимости от постановки). Reward model обучается на парах (ответ1, ответ2) с меткой, какой лучше. На выходе она выдаёт logit (сырой score), который затем преобразуется в вероятность через sigmoid (для бинарного выбора). Эта вероятность должна быть калиброванной.

Пример плохой калибровки
Модель предсказывает вероятность 0.9, но на самом деле правильный ответ только в 60% случаев. Это значит, что модель overconfident (чрезмерно уверена). И наоборот, если модель предсказывает 0.6, а точность 0.8 — она underconfident.


3. Зачем калибровка reward model для RLHF?

На первый взгляд, для RLHF важна только ранжирующая способность reward model: чтобы она правильно упорядочивала ответы по качеству. Калибровка кажется избыточной. Однако есть несколько причин, почему калибровка важна:

  • KL penalty в PPO: В стандартном RLHF policy оптимизируется с штрафом KL-дивергенции от исходной модели. Величина этого штрафа сравнивается с вознаграждением. Если reward model выдаёт некалиброванные scores, то KL penalty может быть несоразмерен, что приводит к нестабильности обучения (например, policy слишком сильно отклоняется или слишком слабо).
  • Trustworthiness (доверие): При развёртывании reward model как оценки качества ответа (например, в RAG или Agentic systems) хочется знать, насколько можно доверять её предсказанию. Калиброванная вероятность даёт такую информацию.
  • Сравнение моделей: При A/B тестировании разных reward models калибровка позволяет корректно интерпретировать разницу в среднем вознаграждении.
  • Обучение с подкреплением: Некоторые варианты RL (например, Advantage Actor-Critic) используют вероятности для вычисления advantage. Некалиброванные вероятности могут исказить оценку.

4. Методы калибровки reward model

Существует два основных подхода к калибровке: Platt scaling (параметрический) и isotonic regression (непараметрический). Оба применяются после обучения reward model на отдельном валидационном наборе пар.

4.1 Platt scaling

Platt scaling — это метод, который обучает логистическую регрессию на выходных logits модели, чтобы преобразовать их в калиброванные вероятности. Формула:

P(y=1 | x) = 1 / (1 + exp(A * f(x) + B))

где f(x) — сырой score (logit) модели, A и B — параметры, обучаемые на валидационном наборе. Обычно A и B находятся минимизацией log loss (кросс-энтропии) на данных.

Преимущества

  • Простой, быстро обучается.
  • Хорошо работает, если ошибки калибровки монотонны (модель систематически завышает или занижает уверенность).

Недостатки

  • Предполагает сигмоидальную форму зависимости, что может быть неверно для сложных распределений.

4.2 Isotonic regression

Isotonic regression — это непараметрический метод, который подбирает монотонно возрастающую функцию (ступенчатую) для преобразования scores в вероятности. Он не делает предположений о форме зависимости, кроме монотонности.

Преимущества

  • Гибкий, может исправить любую монотонную некалиброванность.
  • Часто даёт лучшую калибровку, чем Platt scaling, при достаточном количестве данных.

Недостатки

  • Требует больше данных для обучения.
  • Может переобучаться на малых выборках.
  • Не даёт гладкой функции, что может быть неудобно.

Сравнение методов

МетодТипПредположенияДанныеСложность
Platt scalingПараметрическийСигмоидальная зависимостьНебольшой наборНизкая
Isotonic regressionНепараметрическийМонотонностьСредний/большой наборСредняя
Без калибровки----

Рекомендация На практике часто используют Platt scaling как baseline, а если он не даёт хорошей калибровки (проверяют ECE), переходят к isotonic regression.


5. Метрики калибровки

5.1 Expected Calibration Error (ECE)

ECE — это средневзвешенное абсолютное отклонение между предсказанной вероятностью и фактической точностью в каждом confidence bin (бине уверенности). Шаги:

  1. Разбить интервал [0,1] на M равных бинов (обычно 10 или 15).
  2. Для каждого бина B_m:
    • Confidence (средняя предсказанная вероятность): conf(B_m) = (1/|B_m|) * Σ p̂_i
    • Accuracy (доля правильных предсказаний): acc(B_m) = (1/|B_m|) * Σ 1(y_i = 1)
  3. ECE = Σ (|B_m| / N) * |acc(B_m) - conf(B_m)|

Интерпретация

  • ECE = 0 — идеальная калибровка.
  • ECE > 0.1 — плохая калибровка (модель сильно пере- или недоуверена).
  • Для reward model обычно ожидают ECE < 0.05.

5.2 Reliability diagram (график надёжности)

График, где по оси X — средняя предсказанная вероятность в бине, по оси Y — фактическая точность. Идеальная калибровка — диагональная линия. Отклонения показывают, где модель overconfident (точки ниже диагонали) или underconfident (выше).

Пример расчёта ECE на Python

import numpy as np

def compute_ece(probs, labels, n_bins=10):
    bin_boundaries = np.linspace(0, 1, n_bins + 1)
    bin_lowers = bin_boundaries[:-1]
    bin_uppers = bin_boundaries[1:]
    
    ece = 0.0
    for bin_lower, bin_upper in zip(bin_lowers, bin_uppers):
        in_bin = (probs > bin_lower) & (probs <= bin_upper)
        prop_in_bin = np.mean(in_bin)
        if prop_in_bin > 0:
            accuracy_in_bin = np.mean(labels[in_bin])
            avg_confidence_in_bin = np.mean(probs[in_bin])
            ece += np.abs(avg_confidence_in_bin - accuracy_in_bin) * prop_in_bin
    return ece

# Пример использования
probs = np.array([0.9, 0.8, 0.7, 0.6, 0.5])
labels = np.array([1, 1, 0, 1, 0])
print(compute_ece(probs, labels))  # Вывод: 0.12 (пример)

6. Проблемы плохой калибровки reward model

Плохая калибровка может проявляться в нескольких аспектах:

  • Overconfidence: Модель даёт высокие вероятности (например, 0.95) для пар, где на самом деле разница в качестве невелика. Это приводит к тому, что PPO будет слишком сильно штрафовать policy за отклонение от ответов, которые reward model считает почти идеальными, хотя на деле они лишь немного лучше.
  • Underconfidence: Модель даёт вероятности около 0.6 для явно лучших ответов. Тогда KL penalty может быть недостаточным, и policy будет слишком сильно меняться.
  • Немонотонная калибровка: В некоторых диапазонах модель может быть overconfident, в других — underconfident. Это сложнее исправить простыми методами.

Пример из практики
Допустим, reward model обучена на парах ответов от GPT-3.5. На валидации она показывает accuracy 70%, но средняя уверенность — 0.85. ECE = 0.15. Это означает, что модель слишком уверена в своих предсказаниях. При использовании KL penalty в PPO policy будет сильно наказываться за отклонение от ответов, которые reward model оценивает как 0.9, хотя на самом деле они правильны только в 70% случаев. Это может привести к тому, что policy будет копировать исходную модель, не улучшаясь.


7. Связь с RLHF: ranking vs calibration

В RLHF основная задача reward model — правильно ранжировать ответы, а не выдавать калиброванные вероятности. Для обучения PPO используется разность вознаграждений между ответами, а не абсолютные значения. Поэтому калибровка не является строго необходимой.

Однако есть нюансы:

  • KL penalty использует абсолютное значение вознаграждения. Если reward model выдаёт некалиброванные scores, то выбор коэффициента KL (β) становится сложным. При плохой калибровке β приходится подбирать эмпирически, и он может сильно меняться от задачи к задаче.
  • Trustworthy reward model — если мы хотим использовать reward model как метрику качества (например, для ранжирования кандидатов в RAG), калибровка даёт интерпретируемость.
  • DPO (Direct Preference Optimization) — альтернативный метод, который вообще не использует reward model, а напрямую оптимизирует policy на предпочтениях. В DPO калибровка не нужна, но для оценки качества модели можно использовать калиброванный reward model как внешний evaluator.

Вывод Для production RLHF калибровка reward model — это nice-to-have, но не must-have. Однако если вы используете reward model для других целей (например, как фильтр в Agentic RAG), калибровка становится критичной.


8. Практические рекомендации

  1. Обучайте reward model с калибровкой в конце: После обучения на парах, возьмите валидационный набор (не пересекающийся с тренировочным) и примените Platt scaling или isotonic regression.
  2. Проверяйте ECE: Если ECE > 0.1, обязательно калибруйте. Если ECE < 0.05, можно оставить как есть.
  3. Используйте reliability diagram для визуальной проверки.
  4. Учитывайте размер выборки: Для isotonic regression нужно не менее нескольких сотен пар.
  5. Не путайте калибровку с accuracy: Reward model может иметь высокую accuracy (80%), но плохую калибровку (ECE 0.2). Это разные вещи.
  6. В RLHF экспериментируйте с β: Даже после калибровки может потребоваться подстройка коэффициента KL penalty.

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

Задача Обучить reward model на синтетических данных, проверить её калибровку и применить Platt scaling.

Инструменты Python, PyTorch, scikit-learn (для Platt scaling и isotonic regression), numpy, matplotlib.

Шаги:

  1. Генерация данных: Создайте 10 000 пар ответов (например, два случайных текста) и метку 1, если первый ответ лучше, иначе 0. Для реалистичности можно использовать предобученный LLM (например, GPT-2) для генерации ответов разного качества.
  2. Обучение reward model: Возьмите небольшую модель (например, DistilBERT) и обучите её бинарной классификации на парах. Используйте sigmoid на выходе.
  3. Оценка калибровки: На валидационном наборе (2000 пар) постройте reliability diagram и посчитайте ECE.
  4. Калибровка: Примените Platt scaling (sklearn.calibration.CalibratedClassifierCV с method='sigmoid') на валидационном наборе. Затем повторите оценку ECE.
  5. Сравнение: Постройте два reliability diagram — до и после калибровки. Убедитесь, что ECE уменьшился.
  6. Визуализация: Выведите гистограммы уверенности до и после.

Ожидаемый результат

  • До калибровки ECE > 0.1, reliability diagram показывает систематическое отклонение от диагонали.
  • После калибровки ECE < 0.05, точки на диаграмме лежат близко к диагонали.
  • Вы получите практическое понимание, как калибровка влияет на интерпретируемость reward model.

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

ВопросТема
506Что такое reward model и как его обучают?
508Как работает PPO в RLHF?
509Что такое KL penalty и зачем он нужен?
510В чём разница между RLHF и DPO?
511Как оценивать качество reward model?

11. Навигация


Навигация