AI 학습의 붕괴를 막는 '안전벨트': KL Divergence와 GRPO의 3중 방어막
AI 강화학습 안정성 분석 보고서
발행일: 2026년 5월 24일
요약 (TL;DR)
강화학습(RL)으로 AI를 똑똑하게 만들 때, AI가 갑자기 이상한 방향으로 폭주하는 '붕괴 현상'이 발생할 수 있습니다.
이를 막기 위해 KL Divergence 라는 '원래 모습에서 얼마나 벗어났는지'를 재는 측정 도구를 사용합니다.
최근 자체 모델인 Banya v20 학습 중 수치가 21.64까지 치솟는 아찔한 순간이 있었지만, GRPO 알고리즘의 3중 안전장치 덕분에 즉시 정상 궤도를 회복했습니다. 이 글에서는 그 마법 같은 회복의 원리를 쉽고 직관적으로 파헤쳐 봅니다.
1. 프롤로그: AI 학습, 왜 갑자기 무너질까?
강화학습(RL)으로 대규모 언어 모델(LLM)을 학습시킨다는 것은 "AI의 행동(출력)을 보상(Reward)에 따라 교정하는 과정" 입니다. 정답을 맞히면 칭찬하고, 틀리면 혼내면서 똑똑하게 만드는 것이죠.
하지만 이 과정에는 치명적인 함정이 있습니다. 토큰(단어) 하나하나의 미세한 변화가 눈덩이처럼 불어나면, 어느 순간 AI가 완전히 이상한 말을 쏟아내는 지수적 발산 이 일어날 수 있습니다. 한 번의 잘못된 업데이트가 다음번 출력을 크게 망치고, 결국 학습 전체가 무너져 내리는 이 현상을 우리는 정책 붕괴(Policy Collapse) 또는 파국적 망각이라고 부릅니다.
학습이 진행됨에 따라 KL Divergence(파란색 선)가 특정 임계값을 넘어서면(빨간 점선) 모델의 성능이 급격히 저하되는 '정책 붕괴'가 발생할 수 있습니다.
최신 강화학습 기법인 PPO나 GRPO는 이 폭주를 막기 위해 KL 페널티(KL Penalty) 라는 강력한 브레이크를 사용합니다.
2. 두 가지 사이의 거리 재기: KL Divergence란?
수학적으로 두 확률 분포(AI의 원래 상태와 현재 학습 중인 상태) 사이의 '거리'를 재는 방법은 여러 가지가 있습니다. 그중에서 강화학습의 표준으로 쓰이는 것이 바로 KL Divergence(쿨백-라이블러 발산) 입니다.
$KL(P \\| Q) = \\sum_x P(x) \\log \\frac{P(x)}{Q(x)}$
KL Divergence는 두 확률 분포 P(학습 중인 모델, 파란색)와 Q(기준 모델, 초록색) 사이의 '정보량 차이'를 측정합니다. 면적이 넓을수록 두 모델의 생각이 다르다는 의미입니다.
수식이 복잡해 보이지만, 핵심 직관은 \"내가 잘못된 정보를 믿고 있을 때 겪는 놀라움의 크기\" 입니다.
메타포 (비유)
KL Divergence의 직관적 의미
날씨 예측의 놀라움
비가 올 확률이 90%인데, 기상청(잘못된 정보)이 10%라고 해서 우산을 안 챙겼을 때 비를 맞으며 느끼는 '당혹감의 크기'
번역기의 오류
한국어 문장을 엉뚱한 외국어 사전으로 번역했을 때 발생하는 '의미 손실의 누적량'
나침반의 오차
올바른 목적지로 가고 있는데 잘못된 지도를 들고 있어, 매 분기점마다 누적되는 '경로 이탈 거리'
즉, 학습 중인 AI(P)가 기준이 되는 원래 AI(Q)의 생각에서 얼마나 심하게 벗어났는지 를 수치화한 잔소리 지수라고 볼 수 있습니다.
3. 학습의 딜레마: 보상 추구 vs 안전성 유지
GRPO(Group Relative Policy Optimization)의 핵심 원리는 단순명료합니다. 아래의 두 가지 목표 사이에서 줄다리기를 하는 것입니다.
보상(Reward) 극대화: 정답을 잘 맞혀서 칭찬을 많이 받자!
KL 페널티 최소화: 하지만 원래 나의 모습(Reference)에서 너무 멀어지진 말자!
🧗 번지점프를 하는 등산가 (GRPO 메타포)
학습 중인 AI를 고무줄(번지점프 줄)에 묶인 등산가 라고 상상해 봅시다.
산의 정상 (Reward): 등산가는 보상을 얻기 위해 산 위로 올라가려 합니다.
베이스캠프 (Reference Policy): 등산가의 허리에 묶인 고무줄의 반대편 끝은 산 밑의 베이스캠프에 고정되어 있습니다.
고무줄의 탄성 (KL Penalty, $\\beta$): 등산가가 베이스캠프에서 멀어질수록(KL 증가), 고무줄이 팽팽해지며 강하게 밑으로 끌어당깁니다.
이 고무줄의 두께($\\beta$)를 어떻게 설정하느냐가 학습의 성패를 가릅니다.
$\\beta$가 너무 얇으면 (v18 실패 사례): 고무줄이 끊어지거나 너무 늘어나서 등산가가 절벽으로 떨어집니다(붕괴).
$\\beta$가 적절하면 (v20 성공 사례, 0.1): 등산가가 안전하게 산을 오르되, 위험한 길로 빠지면 고무줄이 다시 안전한 곳으로 당겨줍니다.
4. 실전 분석: Banya v20의 거대 스파이크(Spike)는 어떻게 회복되었나?
최근 v20 모델을 학습시키던 중, Step 62에서 심장이 덜컥 내려앉는 지표를 목격했습니다.
Step 60: KL = 0.016 (안정)
Step 61: KL = 0.090 (정상)
Step 62: KL = 21.64 (🚨 거대 스파이크 발생! 파국 위험!)
Step 63: KL = 0.037 (✨ 즉시 회복)
과거 v18 모델에서는 KL이 15를 넘어가자마자 회복하지 못하고 그대로 모델이 붕괴했습니다. 하지만 v20은 단 1 Step 만에 평온을 되찾았습니다. 어떻게 이게 가능했을까요? 바로 3중 안전장치 덕분입니다.
🛡️ 제1 방어막: Gradient Clip (속도 제한)
Step 62에서 AI가 너무 큰 깨달음(?)을 얻어 가중치를 미친 듯이 바꾸려 했습니다. 하지만 시스템에 max_grad_norm = 0.5라는 속도 제한이 걸려 있었습니다. 계산 결과 아무리 수치가 폭주해도 실제 뇌(모델 파라미터)의 변화량은 0.05% 수준으로 강제로 깎여서 적용되었습니다.
🛡️ 제2 방어막: PPO Ratio Clip (이상 행동 무효화)
AI가 기존보다 너무 과격하게 행동 확률을 바꿨습니다(비율이 0.8~1.2 구간을 초과). GRPO는 \"이렇게 너무 한 번에 확 변하는 건 믿을 수 없어!\"라며 해당 업데이트의 기여도를 무효화(Clip)시켜버렸습니다.
🛡️ 제3 방어막: 강한 고무줄 탄성 ($\\beta$ KL Pull)
Step 62에서 KL이 21.64로 치솟자, 시스템은 다음 Step 63에서 엄청나게 거대한 페널티($\\beta \\times 21.64$)를 부여했습니다. 고무줄이 극한으로 팽팽해지면서 AI를 베이스캠프 쪽으로 강하게 끌어당겼고, 그 결과 바로 다음 턴에 KL이 0.037로 안정화되었습니다.
5. 학습 건강도 체크: 차트로 보는 이상적인 AI의 심장박동
모델이 건강하게 학습되고 있는지 보려면 KL Divergence의 추이를 심전도처럼 읽어야 합니다.
🟢 이상적인 모습 (현재 v20 상태)
가끔 흥분해서 스파이크가 튀지만, 탄력성 있는 고무줄 덕분에 즉시 평형을 되찾습니다. 보상(Reward)은 안정적으로 우상향합니다.
🔴 파국적 붕괴의 모습 (과거 v18 실패 상태)
고무줄이 너무 헐거워서 한 번 튄 스파이크가 내려오지 않고 계속 치솟습니다. AI가 완전히 고장 난 상태입니다.
6. 결론: "한 번의 실수는 괜찮아, 돌아올 수만 있다면"
강화학습에서 KL Divergence는 단순한 '에러율'이 아니라 AI의 신경계이자 생명줄입니다. 값이 0에만 머물면 아무것도 배우지 못하고, 통제 없이 치솟으면 학습이 붕괴합니다.
이번 Banya v20의 학습 과정에서 나타난 21.64라는 거대한 수치는 단순한 오류가 아니라, AI가 적극적으로 새로운 것을 시도했다가 3중 안전망 덕분에 안전하게 제자리로 돌아온 건강한 용수철의 증거였습니다. 적절한 제약(안전벨트)이 있을 때, AI는 비로소 두려움 없이 똑똑해질 수 있습니다.
© 2026. All Rights Reserved. AI Stability Research Team.