中文翻译暂不可用,显示俄语原文。

Что такое reward correlation и как ее измерять?

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

Reward correlation — это статистическая мера согласованности между предсказаниями reward model (модели вознаграждения) и реальными человеческими предпочтениями (human preferences). Высокая корреляция (>0.7) означает, что reward model надёжно ранжирует ответы так же, как люди, что критически важно для успешного RLHF (Reinforcement Learning from Human Feedback). Измеряют её с помощью ранговых и линейных метрик: Spearman correlation, Pearson correlation и accuracy предсказания winner (для парных сравнений). Если корреляция падает ниже 0.5, reward model считается непригодной, и RLHF не даст улучшения.


1. Термин: Reward Model (модель вознаграждения)

Reward model — это нейросеть (обычно на базе LLM), которая учится предсказывать численную оценку (reward) для любого сгенерированного текста, отражающую, насколько этот текст соответствует человеческим предпочтениям. Она обучается на датасете парных сравнений: люди выбирают лучший ответ из двух (или ранжируют несколько). Reward model — ключевой компонент RLHF, где она выступает в роли «критика», направляющего политику (policy) LLM.

Зачем нужна reward correlation
Если reward model даёт оценки, не совпадающие с мнением людей, то RLHF будет оптимизировать не ту целевую функцию, и финальная модель станет хуже, а не лучше. Поэтому перед запуском RLHF обязательно проверяют, насколько хорошо reward model аппроксимирует человеческие предпочтения.


2. Основные метрики reward correlation

2.1 Spearman correlation (ранговая корреляция)

Spearman correlation (ρ) измеряет монотонную зависимость между рангами, присвоенными reward model, и рангами от людей. Не требует линейности, устойчива к выбросам.

Формула (для случая без повторяющихся рангов):

ρ = 1 - (6 * Σ d_i²) / (n * (n² - 1))

где d_i — разность между рангами i-го объекта по двум шкалам, n — количество объектов.

Пример:
Пусть для трёх ответов A, B, C человек дал ранги [1, 2, 3] (1 — лучший), а reward model — оценки [0.9, 0.7, 0.5], что даёт ранги [1, 2, 3]. Разности d = [0, 0, 0], ρ = 1.0 — идеальная корреляция.

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

ρКачество reward model
>0.7Отличное (надёжная для RLHF)
0.5–0.7Удовлетворительное (можно улучшать)
<0.5Плохое (RLHF неэффективен)

2.2 Pearson correlation (линейная корреляция)

Pearson correlation (r) измеряет линейную зависимость между числовыми оценками reward model и усреднёнными человеческими оценками (например, среднее предпочтение по группе). Требует нормальности распределения и линейности.

Формула

r = cov(X, Y) / (σ_X * σ_Y)

где X — предсказанные reward, Y — человеческие оценки.

Недостаток Если связь нелинейная (например, люди оценивают «хорошо/плохо» дискретно, а reward model даёт непрерывные значения), Pearson может занижать корреляцию. Поэтому в практике RLHF чаще используют Spearman.

2.3 Accuracy предсказания winner (для парных сравнений)

Для каждого pair (ответ A, ответ B) известно, какой из них предпочёл человек. Reward model предсказывает winner как тот, у кого выше reward. Accuracy — доля пар, где предсказание совпало с человеческим выбором.

Формула

Accuracy = (количество правильно предсказанных пар) / (общее количество пар)

Пороги

AccuracyИнтерпретация
>0.8Отлично
0.65–0.8Хорошо
0.5–0.65Слабо (на уровне случайного угадывания)
<0.5Модель хуже случайной (возможно, перевёрнутое ранжирование)

Замечание Accuracy не учитывает уверенность модели, только бинарное решение. Для более тонкой оценки используют AUC-ROC (площадь под ROC-кривой) — вероятность того, что reward model правильно ранжирует случайную пару.


3. Как измерять reward correlation на практике

3.1 Сбор тестового датасета

Нужен hold-out набор парных сравнений, не участвовавший в обучении reward model. Обычно 500–2000 пар. Каждая пара размечена человеком (или агрегированным голосованием нескольких аннотаторов).

3.2 Вычисление метрик

Пример на Python:

import numpy as np
from scipy.stats import spearmanr, pearsonr
from sklearn.metrics import accuracy_score

# Допустим, у нас есть список пар (reward_A, reward_B, human_preference)
# human_preference = 1 если выбран A, 0 если B
pairs = [
    (0.8, 0.3, 1),
    (0.5, 0.9, 0),
    (0.6, 0.6, 1),  # ничья? обычно исключают
    # ...
]

# Для Spearman нужны ранги по всем ответам (не по парам)
# Соберём все ответы и их человеческие оценки (средние)
# Упрощённо: для каждой пары считаем, что reward model предсказывает winner
predicted_winner = [1 if rA > rB else 0 for rA, rB, _ in pairs]
true_winner = [pref for _, _, pref in pairs]

accuracy = accuracy_score(true_winner, predicted_winner)
print(f"Accuracy: {accuracy:.3f}")

# Для Spearman: нужны ранги ответов по reward model и по человеческим оценкам
# Предположим, у нас есть список всех ответов с их reward и human_score
rewards = [0.8, 0.3, 0.5, 0.9, 0.6, 0.6]
human_scores = [4.5, 2.0, 3.0, 4.8, 3.5, 3.5]  # средние оценки людей

rho, p_value = spearmanr(rewards, human_scores)
print(f"Spearman ρ: {rho:.3f}, p-value: {p_value:.3f}")

r, p_value = pearsonr(rewards, human_scores)
print(f"Pearson r: {r:.3f}, p-value: {p_value:.3f}")

3.3 Интерпретация результатов

  • Если ρ > 0.7 и accuracy > 0.75 — reward model готова к RLHF.
  • Если ρ < 0.5 — необходимо переобучать модель (больше данных, другая архитектура, лучшее качество аннотаций).
  • Если accuracy около 0.5 — модель не лучше случайной; возможно, данные зашумлены или модель переобучена.

4. Почему reward correlation критична для RLHF

RLHF (Reinforcement Learning from Human Feedback) — метод дообучения LLM, где политика (policy) оптимизируется на максимизацию reward, предсказанного reward model. Если reward model плохо коррелирует с человеком, то оптимизация будет двигать модель в сторону, не соответствующую человеческим предпочтениям. Это может привести к reward hacking — модель научится получать высокий reward неестественными способами (например, добавляя лишние слова, лесть), которые reward model ошибочно считает хорошими.

Порог надёжности

  • ρ > 0.7 — RLHF обычно даёт улучшение.
  • ρ = 0.5–0.7 — требуется осторожность, возможна частичная деградация.
  • ρ < 0.5 — RLHF скорее всего ухудшит модель.

5. Дополнительные метрики и нюансы

5.1 Kendall's tau

Альтернатива Spearman, также ранговый коэффициент. Менее чувствителен к выбросам, но сложнее в интерпретации.

5.2 AUC-ROC для парных сравнений

Показывает вероятность, что reward model правильно ранжирует случайную пару (выше reward у предпочтённого человеком). AUC > 0.8 считается хорошим.

5.3 Calibration (калибровка)

Даже при высокой корреляции reward model может быть плохо откалибрована: разница в reward между двумя ответами может не соответствовать силе предпочтения. Для RLHF важна не только корреляция, но и калибровка (чтобы градиенты были осмысленными). Измеряется с помощью Expected Calibration Error (ECE) на бинарных предсказаниях.

5.4 Влияние размера выборки

Корреляция, вычисленная на малом наборе (менее 100 пар), может быть ненадёжной. Рекомендуется не менее 300–500 пар для стабильных оценок.


6. Типичные проблемы при измерении reward correlation

  1. Шум в человеческих аннотациях — разные люди могут не соглашаться. Используют inter-annotator agreement (Cohen's kappa, Fleiss' kappa) и усредняют оценки.
  2. Дисбаланс классов — если в парах один ответ почти всегда лучше, accuracy может быть высокой, но Spearman — низким. Нужно сбалансировать тестовый набор.
  3. Переобучение reward model — модель может запомнить обучающие пары, но на новых данных корреляция падает. Всегда используйте hold-out.
  4. Непрерывные vs дискретные оценки — люди дают дискретные предпочтения (лучше/хуже), а reward model — непрерывные. Spearman лучше подходит для такой ситуации.

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

Задача Обучить простую reward model на синтетических данных и измерить её корреляцию с «человеческими» предпочтениями.

Инструменты Python, Hugging Face Transformers, scipy, sklearn.

Шаги:

  1. Сгенерировать 1000 пар ответов от двух разных LLM (например, GPT-2 и её fine-tuned версии) на одинаковые промпты.
  2. Создать «человеческие» предпочтения с помощью простого правила: ответ длиннее и содержит ключевые слова — лучше. (Имитация ground truth.)
  3. Обучить reward model (например, на базе BERT) на 800 парах с бинарной классификацией (выбрать лучший).
  4. На оставшихся 200 парах вычислить Spearman correlation между предсказанными reward и «человеческими» оценками, а также accuracy.
  5. Построить график зависимости accuracy от порога разности reward.
  6. Попробовать изменить архитектуру (добавить dropout, изменить head) и посмотреть, как меняется корреляция.

Ожидаемый результат Вы увидите, что при хорошем обучении Spearman > 0.8, accuracy > 0.85. При переобучении (мало данных, большая модель) корреляция на тесте падает.


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

ВопросТема
495Что такое reward model и как её обучать?
497Как работает RLHF?
498В чём разница между PPO и DPO?
499Как собирать human preferences для RLHF?
500Что такое reward hacking и как с ним бороться?
501Как оценивать качество RLHF-модели?

9. Навигация


Навигация