pass@k가 못 보는 것: 후학습 뒤 다양성과 능력 유지 평가
What pass@k Cannot Measure: Evaluating Diversity and Capability Retention after Post-Training
TL;DR Highlight
GRPO와 RFT는 다양성이 정반대로 움직였는데 pass@8/32는 차이를 못 봤다
Who Should Read
RL·파인튜닝으로 모델을 후학습하고 pass@k 하나로 개선 여부를 판단하는 ML 엔지니어링 개발자
Core Mechanics
- pass@k는 정답 확률만 본다
- 문제당 정답 확률 p가 같으면 pass@k는 모든 k에서 같다.
- 정답이 여러 풀이에 어떻게 퍼졌는지는 식에 들어 있지 않다.
- 같은 모델에서 다양성이 반대로 움직였다
- Qwen2.5-1.5B-Instruct를 GRPO와 RFT(자기 정답 중 가장 짧은 것으로 학습)로 각각 학습시켰다.
- RFT는 토큰 엔트로피·답 엔트로피·고유 답 수가 모두 늘었고 GRPO는 모두 줄었다.
- 시드 3개 모두에서 겹침이 없었다.
- 정답만 봐도 GRPO가 덜 다양했다
- 정답 풀이끼리 비교한 distinct-3이 GRPO 0.436, RFT 0.512/0.509였다.
- 길이를 맞춰 잘라도 격차가 14%로 비슷했다.
- pass@1만 두 방식을 갈랐다
- GSM8K pass@8·32에서는 세 방식이 신뢰구간이 크게 겹쳤다.
- 가장 덜 다양한 GRPO가 pass@1에서는 가장 높았다.
- 시작 체크포인트와 비교하니 달랐다
- MATH-500 어려운 문제(4–5레벨)에서 학습한 어떤 방식도 시작 모델을 유의하게 넘지 못했다.
Evidence
- GSM8K 다양성 변화(첫→마지막 체크포인트)
- 토큰 엔트로피 변화는 RFT +0.028, GRPO −0.055였다.
- 문제당 고유 답 수 변화는 RFT +0.56, GRPO −1.30이었다.
- GSM8K pass@k 최종(3시드 풀링)
- pass@1은 GRPO 0.634, RFT 0.571, RFT+KL 0.574였다.
- pass@8은 GRPO 0.914, RFT 0.910, pass@32는 GRPO 0.969, RFT 0.972로 구간이 겹쳤다.
- GRPO−RFT pass@1 차이(GSM8K)
- RFT-shortest 대비 +0.058 [0.045, 0.071]이었다.
- pass@8/32 차이(+0.005~+0.020)는 모두 0을 포함했다.
- MATH-500 4–5레벨 시작 모델 대비
- RFT는 k=1, 2, 4에서 −3~−3.5%p로 유의하게 낮았다.
- GRPO는 유의차가 없었고 추정치는 k=1 −0.7%p에서 k=16 −3.7%p로 내려갔다.
How to Apply
- 후학습 평가에 시작 모델 대조군 넣기
- 지금 쓰는 평가 스크립트에 후학습 전 체크포인트를 같은 문제·같은 샘플 수로 돌려 추가하라.
- 학습한 모델끼리만 비교하지 말고 pass@k 차이를 시작 모델 대비로 계산하라.
- 다양성 지표를 pass@k 옆에 같이 기록하기
- 문제당 N개를 샘플링해 정답 풀이끼리 distinct-3과 답 엔트로피를 계산하라.
- 정답 수에 휘둘리지 않도록 정답 완성만 따로 보라.
- 어려운 문제 부분집합으로 따로 평가하기
- 쉬운 벤치마크는 pass@8에서 이미 0.9 근처라서 포화된다.
- 정답률이 낮은 문제만 골라 k를 1~16까지 돌려 곡선을 비교하라.
Try It
# 파이썬에서 바로 실행: 정답 풀이끼리 distinct-3 계산 (논문 지표의 간이 구현)
from itertools import islice
def distinct3(texts):
tri = []
for t in texts:
w = t.split()
tri += list(zip(w, islice(w, 1, None), islice(w, 2, None)))
return len(set(tri)) / max(len(tri), 1)
correct_solutions = ["{{정답 풀이 1}}", "{{정답 풀이 2}}", "{{정답 풀이 3}}"]
print(distinct3(correct_solutions))
# 같은 문제에 대해 모델 A/B의 정답 풀이를 각각 넣어 값을 비교해 보라.
# 이어서 해 볼 것: 같은 길이로 잘라서 다시 계산해 길이 영향을 확인하라.Terminology
관련 논문
The Judge Can Debias Itself: LLM-as-a-Judge가 스스로 편향을 고치게 하는 법
심사 프롬프트에 편향 경고를 넣거나 스스로 비판시켰더니 21개 중 20개 조합에서 정확도가 올랐다
미국 노동시간의 90%는 AI 벤치마크가 제대로 다루지 못하는 일이다
벤치마크 29개를 직업 과제에 매핑했더니 노동시간 90%가 커버 밖
Postgres 19, AI 코드 리뷰가 버그를 너무 많이 찾아 출시 연기
LLM 코드 리뷰가 버그를 쏟아내 Postgres 19가 11월로 밀리고 기능 8~10개가 빠졌다
StarSkirmish Bench v0.2: LLM이 1시간 만에 짜는 StarCraft 봇 대결
LLM에게 1시간 동안 StarCraft 봇을 짜게 했더니 GPT-6 Astra가 1위
그럴듯한 설명 하나면 멀티모달 LLM 심사위원도 속는다 (JUPE 벤치마크)
정답은 그대로 두고 설명만 붙였더니 MLLM 심사위원의 오답 거절률이 12.7~13.8%p 떨어졌다
신경망은 이미 깔끔하다: polysemanticity의 원인 재해석
뉴런을 직접 들여다봤더니 대부분 한 가지 역할이 있었다는 주장
Linus Torvalds의 첫 LLM 보조 패치 시리즈
Linus가 LLM으로 folio 조회 패치 10개를 만들어 read() 벤치가 10배 빨라졌다
Original Abstract (Expand)
pass@$k$, the fraction of problems a model solves within $k$ sampled attempts, is the field's default protocol for deciding whether reinforcement-learning (RL) post-training on verifiable rewards improved a model. At the population level, pass@$k$ depends only on a problem's probability of a correct sample, with no term for how it is distributed across outputs. We show this gap is not academic. Training Qwen2.5-1.5B-Instruct on grade-school math with Group Relative Policy Optimization (GRPO) and with rejection-sampling fine-tuning (RFT, training on the model's own shortest verifier-passed rollout) moves three complementary diversity measures (token-level entropy, answer-level entropy, unique answers per prompt) in opposite directions, with zero overlap across three seeds per arm. The gap survives restricting to verifier-correct completions only (lexical diversity among correct solutions is 15% lower for GRPO, after controlling for length) and a count-controlled check isolating diversity among incorrect answers alone, ruling out that GRPO's higher accuracy alone explains it. Yet pass@8 and pass@32 show no consistent winner on GSM8K, and a hard MATH-500 subset shows the same pattern: separation only at low $k$. Compared against the starting checkpoint, no trained arm significantly improves hard-problem coverage: RFT is significantly worse, while GRPO is statistically indistinguishable from it - so GRPO's pass@1 edge over RFT reflects a smaller loss relative to Base, not a capability gain, a missing-control issue, not a failure of pass@$k$. On GSM8K, only pass@1, with no role in detecting diversity by construction, separates the arms cleanly, rewarding the arm whose correct solutions are least diverse. We argue this is a concrete instance of a standard evaluation protocol missing a property it is routinely used to certify.