온폴리시 증류에서 KL 발산 없이 방향 신호만으로 충분하다
Do We Really Need KL Divergence for On-Policy Distillation of Large Language Models?
무엇인가
역 KL 발산은 지식 증류의 사실상 표준 손실이었고, 최근 LLM 사후학습 기법으로 부상한 온폴리시 증류(OPD)도 이를 그대로 물려받았다. OPD는 고정 데이터셋이 아니라 학생 모델이 스스로 생성한 롤아웃 위에서 교사와의 역 KL을 최소화한다. 이 논문은 그 표준 전제를 정면으로 의심한다. 저자들은 교사 쪽으로의 업데이트 방향만 유지하면 충분하고, 그 크기 정보는 필요하지 않다고 주장한다.
어떻게 동작하나
제안하는 BinaryOPD는 역 KL 목적함수를 ±1 방향 보상으로 바꾼다. 학생이 롤아웃 o를 생성하면 각 토큰 위치에서 교사 확률과 학생 확률을 비교해, 교사 확률이 더 높으면 +1, 더 낮으면 -1을 준다(두 확률이 정확히 같은 경우는 실무에서 거의 없어 0을 준다). 이 보상은 교사가 더 선호하는 토큰의 확률을 올리고 교사가 덜 선호하는 토큰의 확률을 내리므로, 결과적으로 학생을 교사 방향으로만 민다. 크기 정보는 전혀 담기지 않는다. 학습은 이 보상을 곱한 정책 경사 목적함수를 최대화하는 방식으로 이뤄진다.
무엇과 다른가
수학 추론과 코드 생성에서 표준 OPD와 비교했다. 수학은 서로 다른 모델 계열·규모의 student-teacher 쌍 5개, 코드는 2개를 썼고, 학습 데이터는 DAPO-Math-17k, DeepMath, Eurus다. 평가는 AIME24, AIME25, AMC, MATH500, Minerva, OlympiadBench(수학)와 LiveCodeBench v6, HumanEval, MBPP(코드)에서 이뤄졌다. Qwen3-4B-Non-Thinking 수학 쌍에서 BinaryOPD는 평균 65.1로 OPD의 64.1을 앞섰고, Qwen3-1.7B-Base 수학 쌍에서는 22.2 대 21.2였다. 코드 벤치마크에서는 55.2 대 55.4로 거의 동일했다. 학습 중 정확도, 엔트로피, 응답 길이 추이도 두 방법이 같은 양상을 보였다.
어떻게 쓰나
논문은 여기서 한 걸음 더 나아가, 모든 토큰의 방향이 중요한 게 아니라 교사와 학생이 크게 어긋나는 소수 토큰의 방향만 결정적이라고 주장한다. 토큰별 불일치는 로그비(교사 확률/학생 확률의 로그)로 측정하고, 임계값 0.8을 기준으로 세 그룹으로 나눈다. 교사가 훨씬 선호하는 A, 불일치가 작은 B, 학생이 훨씬 과대평가하는 C다. 실험에서 B는 전체 토큰의 90% 이상을 차지했고 A와 C는 각각 작은 비율에 불과했다. +1 보상을 주는 실험에서 A만 남겨도(전체의 1.5% 미만) 학습이 됐고 A+B도 됐지만, A+B+C는 실패했다. C가 5% 미만인데도 방향이 교사 반대로 걸리면 학습이 무너진 것이다. -1 보상 실험도 대칭적으로 C만으로 학습이 되고 C+B는 GRPO를 능가했지만 C+B+A는 실패했다. 즉 고불일치 토큰의 방향이 교사를 향하면 OPD가 작동하고 뒤집히면 작동하지 않는다. 반면 다수인 저불일치 토큰은 교사 반대로 밀어도 성능이 크게 나빠지지 않았다. 임계값 0.2와 0.5, 그리고 다른 student-teacher 쌍(JustRL-1.5B, DeepSeek-Distill-Qwen-1.5B)에서도 실험했다.
전제와 한계
저자들은 이 현상을 반복 피드백 관점에서 설명한다. OPD는 학생이 방문하는 상태에서 매번 새 교사 감독을 받는데, 상태 탐색이 거의 즉시 포화되고 나중에 만나는 상태가 이미 방문한 영역으로 되돌아간다는 것이다. 상태가 한 번만 관찰된다면 교사-학생 격차의 크기를 알아야 이동량을 정할 수 있지만, 같은 영역을 반복 방문하는 폐루프에서는 학생 확률이 교사보다 위인지 아래인지만 알려주면 된다. 학생이 교사를 넘어서면 방향이 자동으로 뒤집히므로, 반복되는 방향 신호만으로 필요한 보정량이 반복적으로 결정된다. 이 관점에서 KL의 정확한 크기는 대체 가능한 것을 넘어 불필요하다.
이 발견의 응용으로 C-MOPD(Consensus Multi-Teacher On-Policy Distillation)를 제안한다. 기존 MOPD는 샘플마다 도메인별 교사 하나로 라우팅하는데, 한 도메인 샘플로 업데이트하다 다른 도메인 능력이 깎일 수 있다. C-MOPD는 모든 샘플을 모든 교사가 감독하게 한다. 토큰마다 모든 교사가 학생보다 확률이 높으면 +1, 모든 교사가 낮으면 -1을 준다. 교사들이 충돌할 때는 도메인 교사의 방향을 따르되, 다른 교사들과의 로그비가 임계값보다 강하게 반대되지 않을 때만 그 방향을 채택하고 그렇지 않으면 0을 준다. 이렇게 하면 각 업데이트가 모든 교사를 향하거나, 최소한 다른 교사 방향의 능력을 해치지 않으면서 도메인 교사를 향하게 된다.
실험은 학생 Qwen3-4B-Non-Thinking, 수학 교사 Qwen3-4B-Non-Thinking-RL-Math, 코드 교사 Qwen3-4B-Non-Thinking-RL-Code 조합으로 했다. 학습셋은 DeepMath 25,276개, CodeContests 9,639개, TACO 9,579개, APPS 3,462개, Codeforces 2,596개를 섞은 것이다. 임계값 0.8인 C-MOPD는 수학·코드 벤치마크 거의 전부에서 MOPD를 앞섰다. 반면 임계값 0.0은 지나치게 보수적이어서 제로 보상 비율이 단조 증가해 결국 90%를 넘었고, 성능은 MOPD와 비슷한 수준에 그쳤다. 학습이 진행될수록 교사 간 충돌 토큰이 늘어 대부분을 업데이트하지 않게 되기 때문이다.
실무 관점에서 이 논문은 증류 손실을 KL로 고정할 이유가 없다는 신호를 준다. 역 KL 계산과 소프트 타깃 저장 없이 ±1 방향 보상만으로 정책 경사 학습을 돌릴 수 있고, 다중 교사 환경에서는 샘플 라우팅 대신 합의 기반 보상 규칙으로 도메인 충돌을 완화할 수 있다. 다만 원문은 별도의 한계 절을 두지 않았고, 실험은 특정 student-teacher 쌍과 특정 임계값에 한정되며 C-MOPD의 이론적 분석도 제시하지 않는다. 결론에서 저자들은 검증자 신호가 OPD에 거의 영향을 주지 않는다는 관찰도 덧붙이지만, 제시된 본문에는 그 근거 수치가 나오지 않는다. 임계값과 그룹 분류가 실제 학습 안정성에 미치는 영향은 자신의 모델 쌍에서 직접 확인해야 한다.