Reward Hacking and KL Control

마지막 수정:

reward-hackingklrlhfrlvr

RL 학습에서 reward가 오른다고 항상 모델이 좋아지는 것은 아니다.

training reward up
  실제 task 능력 up일 수도 있고
  reward exploit일 수도 있다

이 차이를 놓치면 RL 학습은 조용히 망가진다.

reward hacking

reward hacking은 모델이 우리가 원한 행동이 아니라 reward를 주는 장치의 약점을 학습하는 현상이다.

reward model이 장황한 답을 좋아한다
  -> 모델이 길고 빈 답을 낸다

math verifier가 마지막 숫자만 본다
  -> 모델이 여러 숫자를 뿌려 파싱을 흔든다

code reward가 visible tests만 본다
  -> 모델이 visible tests에 과적합한다

reward는 목적 자체가 아니라 목적의 proxy다.

KL control

KL penalty는 policy가 reference model에서 너무 멀어지지 않게 한다.

loss = policy_loss + beta * KL(policy || reference)

또는 reward shaping 관점에서는 이렇게 볼 수 있다.

effective reward = task reward - beta * KL

KL은 모델의 언어 능력, instruction-following, safety behavior가 reward 하나 때문에 급격히 무너지는 것을 막는 anchor다.

beta trade-off

beta too low:
  reward를 빠르게 올리지만 drift와 exploit 위험이 커진다

beta too high:
  reference에 너무 묶여 reward가 오르지 않는다

그래서 mean reward만 보면 부족하다. KL, response length, invalid format rate, held-out accuracy를 같이 봐야 한다.

verifier도 통제해야 한다

RLVR에서도 reward hacking은 사라지지 않는다.

정답 parser
unit test suite
timeout policy
sandbox permission
format reward
hidden evaluation

이 모든 것이 training objective의 일부다. verifier는 평가 도구이면서 동시에 모델이 학습할 환경이다.

참고 자료

  • DeepSeek-AI, DeepSeek-R1
  • Nathan Lambert, The RLHF Book
  • 로컬 참고: reference-books/rlhf-book/ch14-Over-Optimization.md
  • 로컬 참고: reference-books/rlhf-book/ch15-Regularization.md
  • 로컬 참고: reference-books/deepseek from scratch/ch07-Reinforcement-learning-From-policy-gradients-to-GRPO.md

확인

  • reward hacking은 왜 “reward 상승”과 함께 나타날 수 있는가?
  • KL penalty가 너무 크면 어떤 문제가 생기는가?
  • RLVR에서도 reward hacking이 가능한 이유는 무엇인가?