AI-Native 시리즈 · 강화학습
The Scale Furnace
1분 요약 — 이 글에서 얻어갈 것
스케일이 커지면 RL 알고리즘은 요란하게 실패하기를 멈추고 조용히 실패하기 시작한다. 정책 엔트로피는 단조롭게 떨어지고, 샘플링된 출력은 서로 수렴하며, 탐색은 끝나버린다 — 그런데도 손실 곡선은 그 내내 매끄럽게 유지된다. 그러다 그룹들이 동일한 보상을 반환하기 시작하고, std(r) 0에 도달하고, 어드밴티지도 0이 되어 그래디언트가 사라진다. 그러는 동안 손실 함수 안의 모든 분모는 조용히 어떤 예제가 중요한지를 결정하고 있다: Dr.GRPO는 GRPO의 길이 정규화가 특히 오답 응답의 길이를 부풀린다는 것과, std(r)로 나누는 방식이 저분산 질문에 과도한 가중치를 준다는 것을 발견했다 [2]. DAPO는 상한 클리핑 값을 올리고 죽은 그룹을 재샘플링했으며, AIME 2024에서 50점을 기록해 47점을 앞섰고, 그것도 훈련 스텝의 절반만으로 해냈다 [1]. RL 실행에서 스칼라 값을 하나만 더 로깅한다면, 엔트로피를 로깅하라. 손실 값은 알려주지 않는다.
앞선 세 에피소드는 모두 알고리즘이 어려운 부분이라고 가정했다. 스케일이 커지면 그렇지 않다. 스케일이 커지면 어려운 부분은 바로 겉으로는 아무 이상 없어 보이는 채로 학습이 멈출 수 있다는 것.
핵심 아이디어: 조용한 실패에는 세 가지 형태가 있다
엔트로피 붕괴. 정책 엔트로피 — 모델의 확률 분포가 얼마나 퍼져 있는지 — 는 훈련 내내 단조롭게 감소한다. 샘플링된 출력들은 거의 동일한 해답으로 수렴한다. 정책이 찾아낼 수 있었던 전략을 찾아내기도 전에 탐색이 종료된다. 실행이 크래시되는 것은 아니다. 그저 조용히 아무것도 발견하지 못하게 될 뿐인데, 손실 곡선은 여전히 멀쩡해 보이니 오히려 더 나쁘다.
제로-분산 그룹. GRPO는 형제 롤아웃 그룹으로부터 어드밴티지를 계산한다. 모든 형제가 동일한 보상을 받으면 — 쉬운 프롬프트에서 전부 정답이거나, 어려운 프롬프트에서 전부 오답이거나 — 표준편차는 0이 되고, 어드밴티지도 0이 되어, 그 그룹 전체는 그래디언트에 아무 기여도 하지 못한다. 그런데도 연산 비용은 고스란히 지불했다.
분모들. 손실 함수 속 모든 정규화 항은 어떤 예제가 중요한지를 정하는 결정이며, 그 결정은 거의 틀림없이 그런 결정을 내릴 의도조차 없었던 누군가가 순전히 수치 계산의 편의를 위해 골라놓은 것이다.
숫자로 보기
DAPO는 두 가지 개입을 결합한다 [1]. Clip-Higher는 상한과 하한 클리핑 경계를 분리하고 상한을 끌어올려, 저확률 탐색 토큰이 억제되지 않게 한다. 대칭 클리핑에서는 이런 토큰들이 가장 크게 타격을 입는데, 비율이 가장 많이 움직이기 때문이다. Dynamic Sampling은 그룹 내 모든 롤아웃이 동일한 보상을 받은 프롬프트를 다시 샘플링한다. 즉, 그레이디언트를 만들어낼 수 없는 그룹에는 연산을 쓰지 않겠다는 것이다.
결과는 이렇다. AIME 2024에서 50점을 Qwen2.5-32B로 기록했다. 이는 47DeepSeek-R1-Zero-Qwen-32B의 47점에 대비되는 결과이며, 학습 스텝은 50%만 사용했다 [1].
이 대목은 곱씹어볼 만하다. 흥미로운 숫자는 50이 아니기 때문이다. 정확도 3점 차이는 그 자체로 하나의 논거다. 그 결과에 이르는 데 필요한 연산을 절반으로 줄였다는 것, 그것이 진짜 발견이다. 이 개입이 모델을 더 똑똑하게 만든 것은 아니다. 옵티마이저가 자기 그레이디언트 신호를 스스로 내다버리는 것을 막았을 뿐이다.
한 겹 더 들어간 메커니즘: 분모는 곧 가치 판단이다
Dr.GRPO [2]는 표준 GRPO에서 서로 다른 방향으로 작용하는 두 가지 편향을 발견했다. 방향이 서로 엇갈리기 때문에 정확히 짚고 넘어갈 가치가 있다.
길이 편향. 길이 정규화는 특히 오답 응답의 길이를 부풀린다. 모델은 틀렸을 때 더 길게 쓰도록 학습되는데, 이는 애초에 누구도 의도하지 않은 것과 정반대이며, 대시보드에서는 마치 "모델이 더 많이 추론하고 있다"처럼 보인다.
응답 단위 난이도 편향. 어드밴티지를 std(r)로 나누면 우연히 분산이 낮았던 롤아웃을 가진 질문에 과도한 가중치가 실린다. Dr.GRPO는 이 스케일링을 제거해 모든 질문을 동등하게 취급한다.
두 항을 모두 제거하자 Math-7B에서 8×A100에서 27시간 [2] — 기억해 둘 만한 숫자다. 이 계열의 수정이보정이지, 규모 확장이 아니라는 것을 말해주기 때문이다.
이 교훈은 이 논문을 훌쩍 넘어서까지 일반화된다.손실 함수의 모든 분모는 어떤 예제가 중요한지에 대한 정책적 결정이다, 그런데 아무도 그 결정을 기록해두지 않는다.
계속 읽기 전에 예측해보기
표준 GRPO는 각 어드밴티지를 그룹 보상의 표준편차로 나누고, 응답 길이로 손실을 정규화한다. 둘 다 평범한 수치적 위생 관리처럼 보인다. 그런데 둘 중 하나는 훈련 로그에서 특정하고 눈에 띄는 병리 현상을 일으킨다. 어느 쪽이고, 어떤 모습으로 나타나는가?
(a) 길이 정규화는정답응답을 더 짧게 만든다. (b) 길이 정규화는오답응답을 더 길게 만든다. (c) std 정규화는 어려운 질문이 지배하게 만든다. (d) std 정규화는 저분산 질문이 지배하게 만든다.
이 중 둘은 참이며, 대부분의 사람이 고르는 두 개는 아니다.
실패 체험실: 탐색 다이얼을 잘못된 방향으로 돌리기
정상적으로 작동하는 GRPO 실행을 가져다가 딱 한 가지만 바꿔보자 — 상한 클리핑 경계를 올리는 대신 그 경계를 좁혀보는 것이다.상한클리핑 경계를 좁혀보는 것이다.
무너지는 순서는 이렇다. 저확률 토큰이 가장 심하게 억제되고, 엔트로피가 기준선보다 빠르게 떨어지고, 그룹 내 완성문들이 서로 거의 똑같아 보이기 시작한다.std(r)가 0이 되고 어드밴티지가 0이 되는데, 그런데도그 내내 손실 곡선은 완벽하게 건강해 보인다.
바로 이 마지막 단계가 핵심이다. 오류도, 스파이크도, NaN도 없다. 수천 스텝 전에 이미 학습을 멈춰버린 모델이 보여주는, 매끄럽고 그럴듯해 보이는 곡선일 뿐이다.
RL 실행에서 스칼라 하나만 더 로깅한다면, 정책 엔트로피를 로깅하라. 두 개를 로깅한다면, 보상 분산이 0인 그룹의 비율을 로깅하라 — 그것이 바로 사라지고 있는 그레이디언트다.
리얼리티 미션
이번 주에 돌리는 훈련 또는 평가 루프를 아무거나 하나 골라보라 — RL 실행이든, 파인튜닝이든, 심지어 야간 벤치마크든 상관없다. 모든 분모를 찾아내고, 그것이 어떤 예제가 중요한지에 대해 무엇을 말하고 있는지 적어보라.
토큰에 대해 평균을 낸다면, 긴 예제가 더 중요하다고 결정한 셈이다. 시퀀스에 대해 평균을 낸다면, 그것들이 동등하게 중요하다고 결정한 셈이다. 어딘가에서 표준편차로 나눈다면, 저분산 사례가 더 중요하다고 결정한 셈이며, 당신은 거의 틀림없이 그럴 의도가 없었을 것이다. 최소 하나는 정당화할 수 없는 것을 발견하게 될 것이다.
이것이 치르는 대가
상수는 그대로 옮겨지지 않는다. DAPO의 클리핑 경계값은 그 모델, 그 과업군, 그 시퀀스 길이에 맞춰 튜닝된 것이다. 메커니즘은 재사용할 수 있어도, 숫자는 재사용할 수 없다.
이 수정들은 서로 상호작용한다. Clip-Higher, 동적 샘플링, 그리고 변경된 분모는 모두 탐색에 영향을 미친다. 이를 함께 적용하는 효과는 단순한 덧셈이 아닌데, 논문들은 대체로 이것들을 각각 따로 보고한다.
그리고 단 한 번의 실행은 측정이 아니다. 이번 에피소드의 모든 숫자는 특정한 설정에서 나온 것이며, 그것이 당신의 환경에서도 재현되는지는 직접 돌려봐야 할 실험이다. 주장하려는 효과를 검출할 만큼 충분한 시드를 써야 함은 물론이다.
다음으로 이어질 이야기
에피소드 5는 완성된 응답이 텍스트에 머무르지 않고 응답하는 세계를 통과하는 궤적이 될 때 벌어지는 일을 다룬다. 하네스가 정책을 둘러싼 뼈대에 머무르지 않고 그 일부가 되는 지점이다.
같은 시리즈의 에피소드 4: Intelligence Engineering Adventures, Season 1 — The Consequence Engine. 이 시리즈에 담긴 주장들은 종류별로 태그가 붙어 있다 — 정의, 도출, 증거, 엔지니어링 선택, 미해결 질문. 그리고 비유는 주장을 도입할 수는 있어도 결코 그 주장의 증거로 쓰이지 않는다. 매 에피소드마다 CPU에서 실행 가능한 실습이 함께 제공된다. 이 글에는 어떤 고용주나 클라이언트의 자료도 포함되어 있지 않다. — Paul Jialiang Wu · agentic-portfolio-lovat.vercel.app
참고문헌
- Yu, Q. 외 (2025). DAPO: An Open-Source LLM Reinforcement Learning System at Scale. Clip-Higher와 Dynamic Sampling; Qwen2.5-32B로 AIME 2024에서 50점을 달성, DeepSeek-R1-Zero-Qwen-32B의 47점 대비 훈련 스텝 50%만 사용. arxiv.org/abs/2503.14476
- Liu, Z. 외 (2025). Understanding R1-Zero-Like Training: A Critical Perspective (Dr.GRPO). 길이 편향과 std 정규화로 인한 난이도 편향; Math-7B에서 8×A100으로 27시간 만에 최고 성능 달성. arxiv.org/abs/2503.20783
- Zheng, C. et al. (2025). Group Sequence Policy Optimization (GSPO). MoE 모델과 장문 추론을 위한 시퀀스 수준 중요도 비율. arxiv.org/abs/2507.18071
- Chen, A. et al. (2025). MiniMax-M1 (CISPO). 업데이트가 아니라 중요도 샘플링 가중치를 클리핑. arxiv.org/abs/2506.13585
- Shao, Z. et al. (2024). DeepSeekMath (GRPO). 앞서 언급한 모든 방법이 땜질하고 있는 바로 그 알고리즘. arxiv.org/abs/2402.03300
- Schulman, J. et al. (2017). Proximal Policy Optimization Algorithms. 이번 에피소드가 분리해낸 그 클리핑. arxiv.org/abs/1707.06347