Paul Jialiang Wu agentic-portfolio English 中文 Español 日本語✉️ 무료 구독 리스트
← 포트폴리오로 돌아가기

AI-Native 시리즈 · 강화학습

The Scale Furnace

Paul Jialiang Wu · agentic-portfolio-lovat.vercel.app · 2026-08-24 · 5부작 중 4화

Cover: white ground with a black left rail. Eyebrow AI-NATIVE SERIES · REINFORCEMENT LEARNING above the serif headline 'The Scale Furnace' and the lines 'The loss curve looks perfect. The run stopped learning four thousand steps ago.' Two rows of three grey cards. Top row: ENTROPY COLLAPSE H(pi) falling, exploration quietly ends; ZERO VARIANCE std(r) = 0, the gradient disappears; THE DENOMINATOR 1 over length, silently weights your tasks. Bottom row: DAPO 50 vs 47 AIME, at half the training steps; Dr.GRPO two named biases, 27 hours on 8 A100s; WHAT TO LOG entropy, loss will not tell you.
실행이 조용히 죽는 세 가지 방식, 그리고 그것들에 이름을 붙인 세 편의 논문.

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점 차이는 그 자체로 하나의 논거다. 그 결과에 이르는 데 필요한 연산을 절반으로 줄였다는 것, 그것이 진짜 발견이다. 이 개입이 모델을 더 똑똑하게 만든 것은 아니다. 옵티마이저가 자기 그레이디언트 신호를 스스로 내다버리는 것을 막았을 뿐이다.

Diagram titled 'Three ways a run dies without raising an error' with three columns — silent in loss, wastes compute, kills exploration — and five rows: entropy collapse, zero-variance groups, length normalisation, std(r) normalisation, and train/infer mismatch. Every single row has a filled dot under 'silent in loss'. Footer reads: every row is invisible in the loss curve, that is what they have in common. Log policy entropy, and the fraction of groups with zero reward variance.
모든 행에는 첫 번째 열에 점이 하나씩 찍혀 있다. 그 열이 바로 문제의 전부다.

한 겹 더 들어간 메커니즘: 분모는 곧 가치 판단이다

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

참고문헌

  1. 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
  2. Liu, Z. 외 (2025). Understanding R1-Zero-Like Training: A Critical Perspective (Dr.GRPO). 길이 편향과 std 정규화로 인한 난이도 편향; Math-7B에서 8×A100으로 27시간 만에 최고 성능 달성. arxiv.org/abs/2503.20783
  3. Zheng, C. et al. (2025). Group Sequence Policy Optimization (GSPO). MoE 모델과 장문 추론을 위한 시퀀스 수준 중요도 비율. arxiv.org/abs/2507.18071
  4. Chen, A. et al. (2025). MiniMax-M1 (CISPO). 업데이트가 아니라 중요도 샘플링 가중치를 클리핑. arxiv.org/abs/2506.13585
  5. Shao, Z. et al. (2024). DeepSeekMath (GRPO). 앞서 언급한 모든 방법이 땜질하고 있는 바로 그 알고리즘. arxiv.org/abs/2402.03300
  6. Schulman, J. et al. (2017). Proximal Policy Optimization Algorithms. 이번 에피소드가 분리해낸 그 클리핑. arxiv.org/abs/1707.06347