LLM Post-Training Map
마지막 수정:
LLM 학습을 한 줄로만 보면 이렇게 보인다.
pretraining -> post-training -> deployment
하지만 post-training 안에는 서로 다른 목적의 단계가 섞여 있다.
pretraining
목적: 다음 token 예측으로 넓은 지식과 언어 능력 만들기
SFT
목적: instruction 형식과 답변 protocol을 모방하게 만들기
preference tuning
목적: 여러 답 중 사람이 더 선호하는 행동 쪽으로 밀기
reasoning RL / RLVR
목적: 정답 검증이 가능한 문제에서 모델이 직접 풀이 행동을 탐색하게 만들기
distillation
목적: 큰 모델이 발견한 행동을 작은 모델에게 모방 학습으로 옮기기
왜 post-training이 필요한가
pretraining은 token-level objective다.
지금까지 본 token들 -> 다음 token 맞히기
하지만 사용자는 다음 token 품질이 아니라 완성된 응답의 품질을 본다.
질문 하나 -> 전체 답변이 유용한가, 안전한가, 정확한가
post-training은 이 간극을 줄인다. SFT는 좋은 답변 형식을 보여 주고, RLHF/DPO는 선호되는 답변을 강화하며, RLVR/GRPO는 검증 가능한 문제에서 정답을 찾는 행동을 강화한다.
큰 지도
preference pairs
|
v
pretrained -> SFT -> reward model -> PPO/RLHF
| | |
| | +-> DPO는 reward model과 online RL 일부를 loss로 접는다
| |
| +-> RLVR/GRPO는 verifier reward로 reasoning 행동을 강화한다
|
+-> distillation은 teacher behavior를 student target으로 바꾼다
중요한 구분은 답을 모방하는가와 직접 생성한 답을 평가받고 업데이트하는가다.
SFT / distillation:
저장된 target sequence를 모방한다.
RLHF / RLVR / GRPO:
현재 policy가 rollout을 만들고, 그 rollout의 reward로 policy를 바꾼다.
DPO:
preference pair를 사용하지만 online rollout 없이 preference objective를 직접 최적화한다.
이 path에서 볼 것
이 path는 먼저 LLM 생성 과정을 RL 용어로 번역한다. 그다음 reward를 어디서 얻는지, policy를 어떻게 업데이트하는지, 마지막으로 실제 framework가 어떤 infra 문제를 해결하는지 본다.
정리하면, LLM RL post-training은 하나의 알고리즘이 아니라 data generation + reward + optimization + serving/training system이 붙은 전체 루프다.
참고 자료
- OpenAI, Training language models to follow instructions with human feedback
- Nathan Lambert, The RLHF Book
- Sebastian Raschka, Build a Reasoning Model From Scratch
- 로컬 참고:
reference-books/rlhf-book/ch03-Training-Overview.md - 로컬 참고:
reference-books/reasoning-model-from-scratch/ch06-Training-reasoning-models-with-reinforcement-learning.md
확인
- pretraining과 post-training의 objective는 어떻게 다른가?
- SFT와 RLHF의 가장 큰 차이는 무엇인가?
- DPO는 왜 online RL과 같은 위치에 두면 헷갈리는가?