Process Reward Model과 단계 수준 레이블링
에이전트의 각 단계를 정답 또는 오답으로 레이블링하여 프로세스 보상(PRM) 데이터를 수집하는 방법과, 첫 오류 모드 및 단계별 모드를 Potato에서 다루는 방법.
Process reward model(PRM)은 에이전트가 내놓은 최종 답뿐 아니라 그 추론 단계에 점수를 매깁니다. 이 모델을 학습시키려면 단계 수준 레이블이 필요합니다. 즉, 궤적의 각 단계가 정확했는지를 따져야 합니다. 모델이 단지 운으로 정답에 도달하는 것이 아니라 제대로 추론하는 법을 배우게 해 주는 것이 바로 이 데이터입니다.
PRM은 최종 결과에만 점수를 매기는 outcome reward model(ORM)과 대비됩니다. 단계 수준에서 레이블링하면 모델이 잘못된 추론을 거쳐 정답에 도달하는 경우를 잡아낼 수 있습니다. 기능 레퍼런스는 프로세스 보상 어노테이션을 참고하십시오.
두 가지 레이블링 모드
Potato의 process_reward 타입은 두 가지 표준 방식을 지원합니다.
- 첫 오류 모드: 어노테이터는 처음으로 잘못된 단계를 표시하며, 그 이후의 모든 단계는 자동으로 손상된 것으로 처리됩니다. 빠르고, 추론 실패가 연쇄적으로 번지는 방식과도 잘 맞습니다.
- 단계별 모드: 어노테이터는 각 단계를 정답 또는 오답으로 독립적으로 판단합니다. 더 세밀하지만 그만큼 더 많은 노력이 듭니다.
yaml
annotation_schemes:
- annotation_type: process_reward
name: step_rewards
description: "Mark the first incorrect step. Steps after it are flagged automatically."
steps_key: structured_turns
mode: first_error
first_error:
correct_color: "#22c55e"
error_color: "#ef4444"
downstream_color: "#f97316"
require_confirmation: true색상은 연쇄 효과를 한눈에 보여 줍니다. 초록색 단계는 양호하고, 빨간색 단계는 첫 오류이며, 주황색은 이제 의심스러워진 후속 단계를 나타냅니다.
어느 모드를 언제 쓸 것인가
- 첫 오류 모드는 하나의 실수가 나머지를 무효화하는 수학, 코딩, 연쇄 추론에 적합합니다. 더 저렴하고 대개 충분합니다.
- 단계별 모드는 단계가 서로 독립적이거나, 모든 단계에 대해 조밀한 보상 신호가 필요할 때 사용합니다.
품질 고려 사항
- "정확한 단계"를 정밀하게 정의하십시오. 정확하고 동시에 유용해야 하는지, 아니면 단지 틀리지만 않으면 되는지? 불필요하지만 무해한 단계에는 규칙이 필요합니다.
- 추론은 경계에서 주관적이므로, 표본에서 중복 작업을 수집하고 일치도를 확인하십시오.
- 궤적 수준의 결과 레이블과 함께 사용하면, 좋은 결과가 나쁜 추론을 어디서 감추는지 연구할 수 있습니다. 에이전트 궤적 어노테이션을 참고하십시오.