Post-training과 Alignment의 운영 지도
base 모델을 실제 서비스에서 쓸 수 있는 모델로 만들기 위해 SFT, PEFT, DPO, RLHF, GRPO, RLVR가 어떤 역할을 하는지 설명한다. 비용, 데이터 품질, silent failure, fine-tune과 RAG와 prompt의 선택 기준까지 운영 관점에서 정리한다.
Script Companion
오디오와 함께 스크립트 보기
- 01
Post-training은 pretraining이 끝난 base 모델을 실제 사람이 쓰기 좋은 모델로 바꾸는 과정이다. pretraining 직후의 모델은 기본적으로 next-token 예측을 잘하는 모델이지, 사람의 지시를 안정적으로 따르거나 안전한 응답을 하도록 보장된 모델은 아니다. 그래서 SFT로 기본 행동을 가르치고, DPO나 RLHF 같은 선호 정렬을 거치며, reasoning 모델에서는 GRPO나 RLVR처럼 검증 가능한 보상을 쓰는 흐름이 중요해진다.
- 02
이 주제가 운영에서 중요한 이유는 모델 선택과 비용 결정에 바로 연결되기 때문이다. 자체 fine-tune을 할지, API를 그대로 쓸지, RAG로 우회할지 판단하려면 post-training의 비용과 실패 조건을 알아야 한다. 2024년에서 2025년 사이에는 RLHF 중심에서 DPO, GRPO, RLVR로 빠르게 이동했고, o1과 R1 같은 reasoning 모델의 후학습 방식이 새 표준으로 자리 잡았다. 동시에 jailbreak, prompt injection, refusal 과잉 같은 alignment 위험은 운영자가 조용히 놓치기 쉬운 silent failure의 출처가 된다.
- 03
첫 단계인 SFT, Supervised Fine-Tuning은 instruction과 response 쌍을 두고 next-token loss로 학습하는 방식이다. 데이터는 보통 user와 assistant 메시지 형태로 구성되고, 전체 규모는 1K에서 100K 샘플까지 넓지만 도메인 fine-tune은 약 10K 샘플로도 충분할 수 있다. 여기서 핵심은 양보다 품질이다. LIMA paper는 단 1K 고품질 샘플로도 강한 SFT가 가능하다는 신호를 주며, 반대로 품질 낮은 데이터는 모델의 행동을 흐리게 만든다.
- 04
SFT에서 자주 깨지는 지점은 catastrophic forgetting이다. 도메인 데이터만 강하게 밀어 넣으면 일반 수학, 코드, 다국어 능력이 떨어질 수 있고, 이를 줄이기 위해 general data replay로 10에서 30% 정도의 일반 데이터를 섞는다. NEFTune은 SFT 중 embedding에 균등 noise를 넣는 방식으로, 알파 5에서 15 범위와 AlpacaEval에서 5에서 10%포인트 향상 보고가 문서에 제시되어 있다. RFT 또는 STaR처럼 모델이 자기 응답을 여러 개 만들고 정답인 것만 다시 SFT 데이터로 쓰는 방식도 R1과 Llama 3 post-training에서 사용된다.
- 05
PEFT는 전체 가중치를 모두 학습하지 않고 소수의 추가 파라미터만 학습하는 접근이다. LoRA는 메모리를 4에서 10배 줄이면서 full fine-tuning의 90에서 100% 품질을 목표로 하고, QLoRA는 4-bit base를 써서 8에서 16배 메모리 절감을 노린다. DoRA는 direction과 magnitude를 분리해 LoRA보다 1에서 3% 정도 높은 품질이 보고된다. LLaMA류에서는 q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj의 7개 target module이 안전한 default로 제시되고, 한국어와 도메인 fine-tune에는 Unsloth, QLoRA, rank 16에서 32 조합이 권장된다.
- 06
RLHF는 InstructGPT에서 시작된 표준 흐름으로, 사람 피드백을 기반으로 reward model을 만들고 PPO로 policy를 조정한다. 장점은 코드, 수학, 복잡 reasoning에서 DPO보다 우위가 보고되는 경우가 있다는 점이지만, 비용과 불안정성이 크다. PPO는 policy, reference, reward, value의 4개 모델을 동시에 다루기 때문에 7B base만 해도 단순 weight 메모리로 약 56GB가 필요하고, gradient와 Adam state까지 고려하면 multi-GPU가 사실상 필요하다. KL coefficient 베타를 잘못 잡으면 작을 때는 reward hacking으로 짧은 응답과 거절률 증가가 나타나고, 클 때는 reference에 묶여 학습이 거의 일어나지 않는다.
- 07
DPO, Direct Preference Optimization은 RL 단계를 제거하고 closed-form으로 선호 학습 효과를 내는 방식이다. 구현이 단순하고 메모리를 약 50% 줄일 수 있어 운영 표준에 가까워졌지만, 고유한 함정도 있다. 대표적으로 verbosity bias가 있어 DPO 후 평균 응답 길이가 SFT 대비 30에서 50%까지 늘어나는 패턴이 나타날 수 있고, Park 2024의 ICLR 2025 실증은 length normalization을 제거하면 reward와 response length 사이에 강한 양의 상관이 생긴다고 설명한다. 대응으로는 SimPO, SamPO, R-DPO 같은 변형이 등장했고, 베타는 0.1에서 시작하되 데이터셋과 도메인에 따라 0.3에서 0.5까지 튜닝이 필요하다.
- 08
DPO 계열은 2024년 이후 여러 변형으로 갈라진다. IPO는 squared loss로 overfitting을 완화하고, CPO와 simPO와 ORPO는 reference 없이 동작하는 방향을 제시한다. KTO와 BCO는 chosen과 rejected 쌍이 모두 필요하지 않고 binary feedback만으로 접근한다. Iterative DPO와 Online DPO는 한 번 학습하고 끝내지 않고, 모델을 갱신한 뒤 새 preference 데이터로 반복하는 흐름이다. 여기서 중요한 운영 감각은 loss가 떨어진다고 항상 좋아지는 것이 아니라는 점이다. preference 분포 밖 응답에서 망가지면 gold dataset 평가는 내려가는데 학습 지표만 좋아 보이는 silent failure가 생긴다.
- 09
GRPO, Group Relative Policy Optimization은 DeepSeekMath와 R1 흐름에서 도입된 reasoning 후학습의 중요한 방식이다. reward model 없이 그룹 상대 advantage로 RL을 수행하고, critic과 value model을 제거해 PPO 대비 약 50% 메모리 절감을 노린다. R1-Zero는 SFT 없이 RL만으로 reasoning 능력이 나타나는 사례였지만 readability와 language-mixing 문제 때문에 프로덕션에는 부적합하다고 정리된다. DeepSeek-R1의 실제 흐름은 수천 reasoning 샘플의 cold-start SFT, verifiable rewards를 쓰는 GRPO, RL 모델 출력과 일반 데이터를 더한 rejection sampling SFT, helpfulness와 harmlessness 정렬을 위한 2차 RL로 이어진다.
- 10
RLVR, Reinforcement Learning with Verifiable Rewards는 reasoning 모델 시대의 핵심 축이다. 사람 선호 대신 수학의 정답, 코드의 테스트 통과, 정형 추론의 체크 가능한 결론처럼 검증 가능한 보상을 사용한다. 장점은 judge bias를 피하고 scalable하며 학습이 안정적이라는 점이고, 단점은 검증 가능한 영역에 한정되어 대화나 창작에는 맞지 않는다는 점이다. o1, DeepSeek-R1, Llama 4 reasoning, Qwen-3 reasoning은 이런 reasoning post-training 흐름과 연결된다. 다만 reasoning 모델은 token 비용이 일반 모델의 5에서 20배이고 latency도 길기 때문에, 작업 자체가 긴 사고의 가치를 가지는지 따져야 한다.
- 11
작은 모델의 reasoning을 키울 때는 직접 RL보다 distillation이 더 효율적이라는 운영 인사이트도 중요하다. DeepSeek-R1 paper의 R1-Distill 시리즈는 R1의 reasoning trace를 SFT-only로 distill한 1.5B, 7B, 8B, 14B, 32B, 70B 모델을 제시한다. 결론은 32B보다 작은 모델에 직접 RL을 시도하기보다 큰 모델에서 RL을 거친 뒤 SFT distillation을 하는 편이 안정적이고 저렴하다는 것이다. 문서에는 32B 직접 GRPO 학습과 R1-Distill-Qwen-32B 비교에서 후자가 약 10배 저렴하고 품질은 유사하다는 비용 감각도 함께 제시된다.
- 12
Alignment에서 운영자가 가장 자주 만나는 문제는 눈에 잘 띄지 않는 실패다. reward hacking은 모델이 보상 함수를 exploit해 짧은 거절만 학습하는 식으로 나타날 수 있고, refusal over-trigger는 정상 질문에도 도와드릴 수 없다고 답하게 만든다. sycophancy는 사실보다 사용자 의견에 동조하는 현상이고, verbosity inflation은 DPO 이후 응답이 길어지는 현상이다. catastrophic forgetting은 post-training 뒤 일반 능력이 무너지는 문제이며, mode collapse는 답변 다양성이 줄어드는 문제다. 특정 prompt에 jailbreak가 생기면 red-team 데이터 추가 학습, 입력 sanitization, output guard 같은 복구 실마리를 함께 봐야 한다.
- 13
데이터 품질은 post-training 품질의 50% 이상을 결정한다고 문서는 정리한다. 인간 annotator는 비싸고 느리며 시간당 약 10에서 50달러 비용과 Cohen's kappa 0.6 이상 수준의 일관성이 요구된다. AI annotator를 쓰는 RLAIF는 빠르고 싸지만 judge bias가 남는다. 데이터 mixture는 general helpfulness, domain-specific preference, safety와 refusal, multilingual 데이터를 함께 고려해야 하고, 공개 데이터셋으로 UltraFeedback, OpenHermes-2.5, Anthropic HH-RLHF, ShareGPT가 언급된다. 비용 측면에서는 full SFT가 $K에서 $M까지 갈 수 있지만, QLoRA SFT는 $수에서 $수백 수준으로 내려올 수 있다.
- 14
Fine-tune, RAG, prompt의 선택은 행동, 지식, 갱신 빈도, 비용으로 나뉜다. Fine-tune은 SFT 데이터 1K 이상 또는 DPO 데이터 5K 이상이 있고, 6개월 이상 안정적인 행동 요구사항이 있으며, 출력 포맷이 prompt만으로 안정되지 않을 때 적합하다. RAG는 사내 문서나 정책처럼 지식 갱신이 주 단위 이하이고 출처 인용과 감사 추적이 필요할 때 맞는다. Prompt만으로 충분한 경우는 요약, 번역, 일반 코딩처럼 frontier 모델이 이미 잘 처리하는 작업이나, 데이터가 500개 미만이고 요구사항이 자주 바뀌는 prototype이다. prompt가 8K 토큰을 넘기 시작하면 비용 증가와 lost-in-the-middle 문제가 생겨 SFT로 행동을 굳히는 판단이 필요해진다.
- 15
정리하면 post-training은 base 모델에 기본 행동을 입히고, 정책에 맞게 정렬하며, 검증 가능한 보상과 회귀 방어를 붙이는 과정이다. 이 구조는 base library와 customization layer, plugin과 middleware, quality metric과 CI gate, unit test와 integration test 자동화로도 매핑된다. 플랫폼 엔지니어 관점에서는 QLoRA와 DPO로 자체 도메인 fine-tune을 할지, 자주 바뀌는 지식은 RAG로 둘지, reasoning 모델의 5에서 20배 token 비용을 감수할지 결정하는 데 이 지도가 쓰인다. 마지막 기준은 단순하다. 데이터 품질, 실패 탐지, 비용 모델을 함께 보지 않으면 alignment는 학습이 끝난 뒤에야 조용히 깨진다.
같은 레이어