RL for LLMs: State, Action, Reward
마지막 수정:
RL을 LLM에 적용하려면 먼저 용어를 번역해야 한다.
일반 RL에서는 agent가 state를 보고 action을 고르고 reward를 받는다.
state -> action -> reward -> updated state
LLM 생성도 순차적 decision process로 볼 수 있다.
prompt + 지금까지 생성한 token들 -> 다음 token 선택 -> 최종 답변 평가
LLM으로 번역하기
state
prompt + generated prefix
action
다음 token
또는 전체 completion을 하나의 action처럼 보는 bandit-style 관점
policy
LLM의 next-token probability distribution
reward
reward model, verifier, test result, environment feedback
trajectory / rollout
prompt에서 시작해 EOS나 길이 제한까지 생성한 전체 응답
token-level과 sequence-level
LLM은 token을 하나씩 생성한다.
prompt
prompt + token1
prompt + token1 + token2
...
하지만 reward는 보통 마지막에 온다.
전체 답변이 좋은가?
수학 답이 맞는가?
코드 테스트를 통과했는가?
도구 사용으로 목표를 달성했는가?
그래서 LLM RL은 sparse reward와 credit assignment 문제를 갖는다. 어떤 token이 정답에 기여했고, 어떤 token이 실패를 만들었는지 reward 하나만으로는 직접 알기 어렵다.
policy gradient의 직관
정답에 가까운 rollout에서 나온 token은 더 가능하게 만든다.
좋은 rollout:
sampled token probability를 올린다
나쁜 rollout:
sampled token probability를 낮춘다
실제 알고리즘은 이 단순한 직관에 baseline, advantage, KL penalty, clipping을 붙여 학습을 안정화한다.
왜 sampling이 필요한가
greedy decoding만 쓰면 policy가 이미 가장 자신 있어 하는 답만 반복한다. RL 학습에서는 여러 후보를 뽑아야 무엇이 더 좋은지 비교할 수 있다.
same prompt
rollout A -> reward 0
rollout B -> reward 1
rollout C -> reward 0
이 차이가 policy update의 재료가 된다.
참고 자료
- Richard Sutton and Andrew Barto, Reinforcement Learning: An Introduction
- Nathan Lambert, The RLHF Book
- 로컬 참고:
reference-books/rlhf-book/ch03-Training-Overview.md - 로컬 참고:
reference-books/deepseek from scratch/ch07-Reinforcement-learning-From-policy-gradients-to-GRPO.md
확인
- LLM에서 state는 무엇인가?
- reward가 sequence 끝에만 주어지면 어떤 문제가 생기는가?
- RL rollout에서 sampling이 중요한 이유는 무엇인가?