Process Reward Model (PRM)
프로세스 보상 모델(PRM)은 모델의 최종 답변뿐 아니라 추론의 모든 중간 단계를 평가합니다. PRM800K, 학습 및 탐색을 다룹니다.
프로세스 보상 모델(PRM)은 최종 답변만 평가하는 대신, 보통 각 단계가 정답일 확률을 기준으로 풀이의 중간 단계를 점수화하는 보상 모델입니다. 결과 보상 모델(ORM)은 전체 풀이를 결과로 판단하므로 잘못된 단계를 거쳐 정답에 도달해도 보상할 수 있으며, 오답 풀이가 어느 지점에서 잘못되었는지에 대한 신호는 제공하지 않습니다. PRM은 대규모 언어 모델(LLM)과 추론 모델이 추론 시 생성한 후보 풀이의 순위를 매기고 이를 안내하며, 강화 학습에 단계별 보상을 제공합니다. DeepMind 연구진은 2022년 초등 수학 문제를 대상으로 두 가지 감독 방식을 비교했습니다. 결과 기반 피드백은 더 적은 레이블로 비슷한 최종 답변 오답률을 달성했지만, 정답을 포함한 풀이의 추론 오류를 14.0%에서 3.4%로 낮추려면 과정 기반 피드백이 필요했습니다.
단계별 검증#
OpenAI의 2023년 논문 단계별로 검증하기는 PRM을 널리 알렸습니다. 사람 평가자들은 MATH 경시대회 데이터셋의 문제 12,000개에 대한 풀이 75,000개에서 약 800,000개의 단계를 양성, 음성, 중립으로 표시했으며, OpenAI는 해당 레이블을 PRM800K로 공개했습니다. GPT-4 기반 생성기가 만든 풀이 1,860개 중 최선의 것을 선택했을 때 PRM은 MATH 테스트 세트의 대표 하위 집합에서 78.2%를 풀었습니다. ORM은 72.4%, 다수결은 69.6%였습니다. 평가자에게는 현재 PRM이 높은 점수를 줬지만 오답에 도달한 풀이를 보여주었습니다. 이는 레이블링 효율을 약 2.6배 높인 능동 학습의 한 형태입니다.
PRM 학습 방법#
PRM은 일반적으로 각 단계의 끝에서 해당 단계가 올바른지 예측하도록 파인튜닝한 LLM이며, 단계 레이블을 기준으로 교차 엔트로피 손실 함수를 사용해 학습합니다. 이러한 수준의 상세한 사람의 데이터 레이블링은 비용이 많이 듭니다. 따라서 2023년 12월에 발표된 Math-Shepherd는 PRM을 자동으로 구축했습니다. 각 단계에서 여러 개의 완료 결과를 샘플링하고, 해당 결과가 이미 알려진 정답에 도달하는지에 따라 단계에 레이블을 지정했습니다. PPO 학습 중 각 단계에 보상으로 이 PRM을 사용하자 Mistral-7B의 GSM8K 정확도는 77.9%에서 84.1%로, MATH 정확도는 28.6%에서 33.0%로 향상됐습니다. 그러나 자동 레이블에는 노이즈가 있습니다. Alibaba의 Qwen 팀은 2025년 연구에서 이러한 몬테카를로 추정값으로 학습한 PRM이 사람의 레이블이나 심판 역할을 하는 LLM의 레이블로 학습한 PRM보다 성능이 낮다고 밝혔습니다. 또한 팀은 PRM이 첫 번째 오류 단계를 얼마나 잘 찾는지 평가하는 벤치마크인 ProcessBench를 공개했습니다.
PRM 점수 활용#
추론 시 PRM은 단계별 점수를 바탕으로 선택을 수행합니다. Best-of-N 샘플링은 여러 개의 전체 풀이를 생성한 뒤 집계 점수가 가장 높은 풀이를 선택합니다. 단계별 확률을 곱한 단계별 검증 논문에서는 최솟값을 사용해도 성능이 거의 같았습니다.
import torch
# PRM outputs for three sampled solutions: probability that each step is correct
solutions = {
"A": torch.tensor([0.97, 0.93, 0.95, 0.94]),
"B": torch.tensor([0.99, 0.24, 0.96, 0.98]), # flawed second step, confident ending
"C": torch.tensor([0.91, 0.88, 0.90]),
}
for name, steps in solutions.items():
print(f"{name}: last step {steps[-1]:.2f}, product {steps.prod():.3f}, min {steps.min():.2f}")
# Best-of-N reranking: pick the solution with the highest product of step scores
best = max(solutions, key=lambda name: solutions[name].prod())
print(f"Selected solution: {best}")풀이 B는 최종 단계의 신뢰도가 0.98로 가장 높지만, 두 번째 단계의 점수는 0.24입니다. 따라서 곱은 0.224로, 최솟값은 0.24로 낮아져 PRM은 곱이 0.806인 풀이 A를 선택합니다. 최종 단계 점수만으로 순위를 매겼다면 B를 선택했을 것입니다. Ultralytics YOLO 학습도 실행의 마지막 단계만 보는 것이 아니라 모든 중간 단계를 점수화합니다. 기본 val=True 설정에서는 학습기가 각 에포크 후 검증을 수행하고, 탐지의 경우 mAP50-95와 같은 피트니스 값을 기준으로 가중치 점수를 계산한 뒤 점수가 가장 높은 에포크를 best.pt으로 저장하고 최종 last.pt도 함께 저장합니다.
PRM은 풀이가 완성되기 전에 탐색을 안내할 수도 있습니다. 빔 서치는 각 단계에서 점수가 가장 높은 부분 풀이만 유지하고, 몬테카를로 트리 탐색(MCTS)은 동일한 점수로 확장할 분기를 결정합니다. Google DeepMind와 UC Berkeley의 테스트 시점 연산 확장 연구에 따르면, 문제의 난이도별로 PRM 탐색 방법을 선택하면 테스트 시점 연산량을 최대 4배 줄이면서 Best-of-N 샘플링과 동등한 성능을 얻을 수 있었습니다.
한계와 관련 용어#
DeepSeek-R1 팀은 PRM을 시도한 뒤 세 가지 이유로 사용을 중단했습니다. 일반적인 추론에서는 세부 단계를 정의하기 어렵고, 중간 단계가 올바른지 판단하는 일을 자동화하기 어렵고 수작업 레이블링 비용이 높으며, 학습된 PRM은 대규모 학습 중 보상 해킹에 취약합니다. DeepSeek-R1은 대신 정답에 대한 규칙 기반 검증으로 그룹 상대 정책 최적화(GRPO)를 학습했습니다. 이 접근 방식은 검증 가능한 보상을 통한 강화 학습(RLVR)이라고 합니다. 사람 피드백 기반 강화 학습(RLHF)의 보상 모델은 사람의 선호 비교를 바탕으로 전체 응답을 점수화하므로 개방형 텍스트에 대한 결과 보상 모델에 해당합니다. PRM은 사고 연쇄가 생성되는 동안 단계를 검사하며, 검증 연쇄(CoVe)는 모델에 검증 질문을 만들고 답하게 해 완성된 답변을 자체적으로 점검하게 합니다.










