KAPPO는 @k 목표의 압력 재분배를 단일 완성 RL로 구현한다

Controlling Sharpening in LLM Post-Training

arXiv2611.03146v1

Simon Matrenok2026-11-02

무엇인가

이 논문은 LLM 후훈련에서 강화학습이 정확도는 올리지만 행동 범위를 좁히는 샤프닝을 다룬다. pass@k와 max@k 같은 반복 샘플링 목표가 샤프닝을 완화한다고 알려져 있었지만 그 메커니즘은 잘 이해되지 않았고, 기존 @1 정책 최적화 방법을 @k로 일반화하는 프레임워크도 없었다. 저자들은 KL 정규화된 @k 목적의 최적 정책을 닫힌형으로 유도해 이 공백을 겨냥한다.

어떻게 동작하나

이진 보상의 pass@k 목적에서 최적 정책은 기존과 같은 지수 기울기 형태를 유지하지만, 정규화 강도가 상수 β가 아니라 프롬프트 의존적인 β_eff(x)=β/[k(1-p*(x))^{k-1}]로 바뀐다. 여기서 p*(x)는 최적 정책의 성공 확률이며, 참조 정책의 성공 확률 p_ref(x)와 스칼라 고정점 방정식으로 구한다. 쉬운 문제는 p*(x)가 커져 정규화가 강해지고, 어려운 문제는 상대적으로 정규화가 약해져 더 강한 최적화 압력을 받는다. 같은 최적 정책을 @1 목적에서 β_eff(x)를 쓰거나 보상을 k(1-p*(x))^{k-1}배로 변환해 얻을 수 있다는 점도 보인다.

무엇과 다른가

연속 보상의 max@k에서는 최적 정책이 최적 정책 자신의 보상 누적분포 Fπ*를 포함해 암묵적으로 표현된다. 정규화 강도가 완성의 보상과 프롬프트에 따라 달라지며, 이진 보상처럼 단순한 목적 수준의 정규화 동등성은 성립하지 않는다. 대신 보상 변환 S_x(r)=k∫Fπ*(u|x)^{k-1}du를 적용하면 같은 최적 정책을 얻는다. 참조 분포의 누적분포를 쓰는 승률 보상에서는 완전히 명시적인 변환 S_x^q가 나오고, 그 안의 상수 C와 함수 Ψ는 k와 β만의 함수로 훈련 전에 수치적으로 계산할 수 있다.

어떻게 쓰나

KAPPO는 훈련 전에 한 번 참조 보정을 수행한다. 각 프롬프트에 대해 참조 모델 완성을 M개 샘플링해 p_ref 또는 F_ref를 추정하고, 필요한 β_eff나 보상 변환을 미리 계산해 재사용한다. 이후에는 기존 @1 옵티마이저의 손실이나 보상만 바꾼다. @k-DPO는 DPO의 전역 KL 계수를 β_eff(x)로 교체하고, @k-A*PO는 A*PO 손실에 적응적 보상 변환을 적용하며, @k-GRPO는 GRPO 어드밴티지 계산 전에 보상을 S_x^q(R_i)로 변환한다. 온라인에서 k개 완성 그룹을 생성할 필요가 없다는 것이 핵심이다.

전제와 한계

수학 추론 실험은 이진 보상으로 OLMo-3-7B-Instruct-SFT와 Qwen3-4B-Base를 사용해 MATH 학습 분할로 훈련하고 MATH 테스트 분할로 검증한 뒤 AIME 2026으로 최종 평가했다. k=1 베이스라인과 GRPO, DPO, PKPO를 비교했는데, k>1 훈련은 작은 평가 예산에서의 pass@1 이득은 덜 유지하지만 큰 평가 예산에서는 k=1을 역전했다. @k-DPO도 k=2에서 같은 패턴을 보였다. @k-A*PO는 k=2와 4에서 PKPO와 비슷한 검증 성능을 훨씬 적은 온정책 롤아웃으로 달성했고, 프롬프트당 새 완성 하나만 필요하며 참조 보정 오버헤드는 훈련 시간의 5% 이하였다. 원문 본문에는 구체적인 점수 표가 제시되지 않았다.

코드 생성 실험은 Qwen3-4B-Base에서 LeetCodeDataset 학습·테스트 분할로 진행하고, 최종 평가는 2025년 1월부터 4월까지 공개된 LiveCodeBench v6의 어려운 하위 집합으로 했다. 보상은 테스트 케이스 통과 비율이다. k=1이 max@1 개선은 가장 컸지만 평가 예산이 커질수록 우위가 줄었고, k=2와 4는 큰 평가 예산에서 이를 역전해 시작 체크포인트 대비 더 큰 이점을 유지했다. 여기서도 원문에 정확한 수치가 제시되지는 않았다.

개발자 관점에서 이 논문은 RLVR 파이프라인을 pass@1만으로 평가하지 말고 pass@k나 max@k로 샤프닝을 확인해야 한다는 실무적 신호를 준다. GRPO, DPO, A*PO 같은 기존 알고리즘을 크게 바꾸지 않고 k 값을 샤프닝 조절 다이얼로 쓸 수 있으며, 쉬운 문제의 과도한 확률 집중을 줄이고 어려운 문제에 학습 압력을 돌릴 수 있다. 다만 참조 보정과 보상 변환을 별도로 구현해야 하고, 연속 보상에서는 승률 기반 대리 목표를 쓴다는 점을 확인해야 한다.

저자들이 밝힌 한계는 다음과 같다. 참조 보정이 프롬프트마다 고정된 M개 완성 뱅크에 의존하고 예산을 최적으로 배분하지 않아 p*와 S_x^q 추정에 노이즈가 남는다. 연속 보상 실험은 원시 max@k가 아니라 승률 기반 변환 S_x^q를 최적화했고, Fπ*의 수치적 재구성 평가는 향후 과제로 남겼다. 또한 승률 해는 연속적인 참조 보상 분포를 가정하므로 동점이 있는 이산 보상에는 근사적으로만 적용된다.