Как работает process reward model (PRM) vs outcome reward model (ORM)?
Краткий тезис
Outcome Reward Model (ORM) оценивает только финальный ответ (результат) цепочки рассуждений, выдавая одну награду. Process Reward Model (PRM) оценивает каждый промежуточный шаг рассуждения, давая более детальный и информативный сигнал. PRM сложнее в обучении (требует пошаговой разметки), но позволяет эффективнее направлять reinforcement learning (RL) в задачах, требующих многошагового логического вывода (math reasoning, генерация кода, действия агента). Выбор между ORM и PRM — это trade-off между простотой и качеством обратной связи.
1. Терминология: Reward Model в контексте LLM
Reward Model (модель награды) — это модель, которая предсказывает scalar reward (скалярную награду) для выхода языковой модели. Она используется в пайплайне RLHF (Reinforcement Learning from Human Feedback) или более общем RL-дообучении (например, PPO, GRPO). Основная задача — оценить, насколько ответ или шаг «хорош» с точки зрения заданного критерия (полезность, безопасность, правильность рассуждения).
- ORM (Outcome Reward Model) — оценивает только конечный результат (outcome). Для задачи с ответом (например, решение математического примера) ORM выдаёт одно число, отражающее правильность всего ответа.
- PRM (Process Reward Model) — оценивает каждый логический шаг (process) в цепочке рассуждений. Для той же задачи PRM выдаст последовательность наград (по одной на каждый шаг), каждая из которых отражает корректность данного шага.
2. Зачем нужны Reward Models в RL для LLM?
Без явной награды LLM при RL-дообучении не может понять, какие действия (токены, шаги) ведут к хорошему результату. Reward model превращает субъективные критерии (правильность, полезность) в численный сигнал, по которому оптимизируется политика. ORM и PRM — два подхода к формированию этого сигнала:
- ORM проще: нужно оценить только финальный ответ (например, совпадает ли с правильным).
- PRM сложнее: нужно оценить каждый шаг, но это даёт более плотный и надёжный градиент, что особенно важно для long-horizon задач (многошаговый вывод, действия агента).
Ключевая интуиция
Если LLM делает неверный шаг на раннем этапе, но случайно приходит к правильному ответу, ORM даст высокую награду (несмотря на ошибку в процессе). PRM заметит неверный шаг и снизит награду за этот шаг, тем самым обучая модель избегать неверных действий. Это критически важно в задачах, где важен не только результат, но и корректность рассуждения (математика, код, логика агента).
3. Outcome Reward Model (ORM) — детали
Принцип работы
- Вход: полный ответ модели (sequence of tokens).
- Выход: число (обычно между 0 и 1) — оценка качества всего ответа.
- Обучение: обычно бинарная классификация (правильный/неправильный) на датасете пар (запрос, ответ) с метками от человека или автоматической проверки (например, совпадение с правильным ответом в математике).
Плюсы
- Простота сбора данных: достаточно размеченных финальных ответов; можно автоматически получать метки (например, если ответ на задачу известен).
- Простота обучения: стандартная бинарная классификация или регрессия.
- Быстрота инференса: один проход модели для получения награды.
Минусы
- Не различает шаги: не даёт информации о том, на каком этапе ошибка. Может «наградить» неверный путь, если ответ случайно правильный (или наоборот).
- Credit assignment problem: при длинном рассуждении модель не может понять, какие конкретно токены/шаги привели к хорошей награде. RL-алгоритм (PPO) вынужден распределять награду равномерно по всей последовательности, что неэффективно.
Таблица: достоинства и недостатки ORM
| Критерий | Оценка |
|---|---|
| Сложность сбора данных | ★☆☆ (низкая) |
| Информативность сигнала | ★☆☆ (низкая) |
| Применимость для длинных задач | ★☆☆ (плохая) |
| Надёжность при наличии частично правильных шагов | ★☆☆ (плохая) |
4. Process Reward Model (PRM) — детали
Принцип работы
- Вход: последовательность шагов рассуждения (каждый шаг — это строка, токен или группа токенов). Шаги могут быть разделены специальным токеном (например,
\nStep) или определяться структурой (например, каждое новое уравнение). - Выход: последовательность чисел (наград), по одной на каждый шаг.
- Обучение: требуется датасет, где для каждого запроса размечены шаги как верный (positive) или неверный (negative). Разметка может быть дорогой (эксперты) или автоматической (автоматически проверять каждый шаг, если возможно).
Пример разметки шагов
Запрос: 2 + 3 * 4 = ?
| Шаг | Рассуждение | Метка |
|---|---|---|
| 1 | 3 * 4 = 12 | Верно |
| 2 | 2 + 12 = 14 | Верно |
| 3 | Ответ: 14 | Верно |
Если бы модель написала «3 * 4 = 7», первый шаг был бы неверным, и PRM дал бы низкую награду за этот шаг, несмотря на возможный правильный конечный ответ (если ошибка потом компенсируется — но в таком случае финальный ответ будет неверен, и ORM тоже даст низкую награду; разница проявляется, когда ошибка на шаге, но финал оказывается верным случайно — например, из-за компенсирующей ошибки).
Способы получения разметки для PRM
- Экспертная (human annotation) — точная, но дорогая. Применяется для небольших целевых датасетов.
- Автоматическая с помощью LLM (self-supervised) — LLM (например, GPT-4) оценивает каждый шаг по схеме «верный/неверный» или предсказывает вероятность корректности. Это дешевле, но качество зависит от модели-оценщика.
- LeetCode-подобные задачи — для кода можно автоматически запускать каждый шаг (если шаг — это выполняемый фрагмент).
- Mathematics with symbolic verification — для формальных математических утверждений можно проверять каждый шаг средствами автоматического доказательства.
Плюсы PRM
- Детальный сигнал: награда за каждый шаг позволяет RL-алгоритму точно знать, какие шаги хорошие, а какие — нет.
- Лучшее credit assignment — модель быстрее учится избегать неверных подшагов.
- Поддержка поиска (search) — при инференсе можно использовать PRM для tree‑of‑thoughts или beam search, выбирая пути с лучшими суммарными наградами шагов.
Минусы PRM
- Высокая стоимость разметки (особенно экспертной).
- Сложность определения «шага» — как разбить ответ на шаги? Для математики проще (каждое уравнение), для естественного языка — сложнее.
- Шкала наград — шаги могут быть несбалансированы (один длинный шаг против нескольких коротких), требуется нормализация.
5. Сравнение ORM и PRM
| Характеристика | ORM | PRM |
|---|---|---|
| Выход | Одно число за весь ответ | Последовательность чисел (на шаг) |
| Уровень детализации | Глобальный (outcome) | Локальный (process) |
| Сложность разметки | Низкая (метка на весь ответ) | Высокая (метки на каждый шаг) |
| Информативность для RL | Низкая (проблема credit assignment) | Высокая (прямой сигнал по шагам) |
| Применимость для long‑horizon | Плохая | Хорошая |
| Совместимость с поиском | Нет (только финальный ответ) | Да (можно строить дерево рассуждений) |
| Риск переучивания на артефакты | Выше (модель может «подогнать» ответ) | Ниже (анализируется каждый шаг) |
| Примеры использования | RLHF (общая полезность), простая верификация | Math reasoning, генерация кода, multi-step agent |
6. Обучение и архитектура PRM
Архитектура
Чаще всего PRM строится на базе той же LLM, что и генератор (policy), но с классификационной головой. Например, на выходе каждого токена или после разделителя шагов добавляется линейный слой, предсказывающий скалярную награду. Обучение может вестись с помощью многозадачной потери: для каждого шага — бинарная кросс-энтропия, а итоговая потеря суммируется.
Функция потерь
Для каждого шага (t) с меткой (y_t \in {0, 1}) (0 – неверно, 1 – верно) модель предсказывает (p_t) (вероятность верности). Потеря: [ \mathcal{L} = \sum_{t} [text](/wiki/text){BCE}(p_t, y_t) ]
Альтернативно можно использовать Pairwise Ranking Loss (как в предобучении reward model в RLHF): для двух возможных шагов на одном и том же этапе правильный шаг должен иметь более высокую награду.
Режимы использования PRM в инференсе
- Best-of-N: генерируется N полных цепочек, каждая оценивается PRM (сумма наград по шагам или среднее). Выбирается цепочка с максимальной наградой. ORM делает то же самое, но на уровне финала.
- Beam search / Tree search: на каждом шаге PRM оценивает все возможные ветви, отсекаются ветви с низкой наградой (pruning). Это позволяет находить более корректные пути рассуждения без полного перебора.
7. Применение в RL (PPO, GRPO)
В классическом PPO (Proximal Policy Optimization) награда от reward model применяется ко всей траектории (последовательности токенов). Если используется ORM, то награда одна (финальная), и PPO обновляет политику на основе averaged advantage. Если используется PRM, то награду можно применить на каждом шаге (dense reward), что даёт более плавный градиент и ускоряет сходимость.
GRPO (Group Relative Policy Optimization) — вариант PPO, где награда нормализуется внутри группы сгенерированных ответов. PRM легко встраивается: для каждого ответа есть последовательность наград по шагам, их можно усреднить или агрегировать для получения групповой награды.
В контексте Agentic RAG агент выполняет последовательные действия: retrieval, размышление, вызов инструментов, финальный ответ. PRM может оценивать каждый шаг: «правильно ли найден документ?», «логичен ли вывод?», «успешно ли вызван API?». ORM же оценит только итоговый ответ, упуская промежуточные ошибки (например, агент мог найти неверный документ, но случайно дать правильный ответ — такое поведение ORM бы не наказала).
8. Пример в Agentic RAG
Рассмотрим агента, который должен ответить на вопрос, требующий поиска в нескольких документах и выполнения вычислений.
- Шаги агента:
- Переформулировать запрос.
- Выполнить retrieval (запрос к векторной базе).
- Прочитать результаты и отобрать релевантные.
- Провести вычисления.
- Сформулировать ответ.
ORM: оценивает только финальный ответ (например, совпадает ли с правильным). Если ответ верен, но шаг 2 был неверным (извлечены не те документы), ORM всё равно даст высокую оценку. В результате политика может не научиться правильно выбирать документы.
PRM: для каждого шага даётся своя награда. Например, для шага 2 — правильность выбора документов (на основе заранее размеченного golden retrieval), для шага 4 — корректность вычислений. Таким образом, модель учится выполнять каждый подшаг правильно, что ведёт к более надёжному поведению агента.
9. Проблемы и ограничения PRM
- Стоимость разметки на уровне шагов — особенно для сложных неструктурированных рассуждений. Решение: автоматическая разметка с помощью LLM или использование прокси-задач (например, для кода — выполнить шаги в интерпретаторе).
- Неоднозначность определения шага — как разделить непрерывный поток токенов на осмысленные шаги? Варианты: по разделителям (newline, точка), по фиксированному количеству токенов, по паузе между предсказаниями.
- Калибровка наград — награды разных шагов могут быть в разных масштабах; нужна нормализация (например, z-score внутри цепочки).
- Устойчивость к «шумным» шагам — если шаг можно интерпретировать по-разному, метка может быть ошибочной.
10. Современные подходы и исследования
- Math-Shepherd (Yu et al., 2024) — автоматическое получение PRM для математических задач: генерируются деревья рассуждений, каждый шаг проверяется символьным решателем, и метки получаются автоматически.
- OmegaPRM (OpenAI) — использует дерево рассуждений с backpropagation ошибки для выделения неверных шагов.
- Mixture of Reward Models — комбинация ORM и PRM: PRM для шагов, ORM для финальной оценки, а затем взвешенная награда.
- PRM в Agentic RAG — исследование «Agentic Retrieval with Process Reward» (гипотетический пример) показывает повышение успешности выполнения многошаговых заданий на 15-20% по сравнению с ORM.
Пет-проект для закрепления
Задача: Реализовать сравнение ORM и PRM на задаче математических рассуждений (MathQA датасет или GSM8K).
Инструменты:
- Python, PyTorch, Transformers (LLaMA, Qwen 2.5 1.5B)
- Датасет: GSM8K (задачи с пошаговыми решениями)
- Библиотека для RL: TRL (PPOTrainer) или самописный PPO.
Шаги:
- Взять небольшую LLM (Qwen 2.5 0.5B) для генерации ответов.
- Сгенерировать датасет для обучения ORM: для каждого запроса — правильный/неправильный ответ (автоматическая проверка по калькулятору). Обучить бинарный классификатор (например, на последнем токене).
- Для PRM: разбить решения на шаги (по строкам). Для каждого шага автоматически проверить корректность (например, вычислить промежуточное выражение). Обучить модель предсказывать метку для каждого шага.
- Обучить политику с помощью PPO с двумя вариантами награды: a) только награда от ORM в конце, b) награда от PRM как сумма наград по шагам с дисконтированием.
- Сравнить:
- Точность финального ответа (на тестовом датасете после обучения).
- Процент правильных шагов в рассуждениях.
- Время сходимости (количество шагов PPO для достижения 70% accuracy).
Ожидаемый результат Политика, обученная с PRM, быстрее достигает более высокой точности и демонстрирует меньше логических ошибок в процессе рассуждений, чем политика с ORM.
Связь с другими вопросами
| Вопрос | Тема |
|---|---|
| 15 | Как работает PPO и как его адаптировать для LLM? |
| 10 | RLHF: сбор человеческих предпочтений, обучение reward model |
| 20 | Архитектура Agentic RAG: как строить многошаговых агентов |
| 16 | GRPO: group-based PPO, преимущества перед PPO |
| 18 | Техники поиска (Tree-of-Thoughts, Beam Search) с использованием reward |
| 12 | Fine-tuning LLM для reasoning (на примере MATH) |
Навигация
- Предыдущий: 876
- Следующий: 878
- Индекс: 00. Индекс разборов