Sample More, Reflect Less: 같은 토큰이면 Self-Refine·Reflexion보다 반복 샘플링이 낫다 (1.5B~7B)
Sample More, Reflect Less: Self-Refine and Reflexion Lose to Repeated Sampling at Equal Token Cost, from 1.5B to 7B
TL;DR Highlight
같은 토큰 비용이면 자기 검토 방식은 다수결 반복 샘플링을 못 이겼다
Who Should Read
LLM에 self-critique, 재시도 루프, Best-of-N 판정 단계를 붙일지 고민하는 에이전트·백엔드 개발자
Core Mechanics
- 같은 토큰이면 어떤 방법도 샘플링을 못 이겼다
- Qwen2.5 1.5B·3B·7B, GSM8K·MATH-500 총 36개 비교에서 다수결(self-consistency) 대비 유의하게 나은 방법은 0개였다.
- 유의하게 나쁜 것은 10개였고 전부 모델이 자기 출력을 검토·재작성하는 방법이었다.
- 자기 검토는 18개 비교 전부 음수였다
- Self-Refine, 강제 Reflexion, Best-of-N(모델이 고르기)이 대상이다.
- 자기 평가 없이 토큰만 더 쓰는 방법은 기준선 근처였다(20개 중 14개 음수, p=0.12).
- Best-of-N은 모델이 고르는 것보다 세는 게 낫다
- 같은 8개 샘플에서 모델이 최선을 고르는 것과 최빈 답을 세는 것을 비교했다.
- 1.5B~3B에서는 세는 쪽이 전부 유의하게 좋았고, 7B에서는 차이가 0과 구분되지 않았다.
- Reflexion은 작은 모델에서 아예 재시도를 안 했다
- 1.5B는 모든 문제에 스스로 '맞다'고 답해서 재시도가 0번이었고, 사실상 단일 CoT였다.
- 그래서 점수가 좋아 보였을 뿐이다. 이런 자기 트리거 방식은 정확도만 보면 못 알아챈다.
- 크기가 커져도 재작성은 회복되지 않았다
- 7B에서도 Self-Refine과 강제 Reflexion은 기준선보다 3.6~10.1%p 낮았다.
Evidence
- Best-of-N 판정 vs 다수결
- 같은 8개 샘플 기준 1.5B GSM8K는 -8.0%p, 1.5B MATH-500은 -11.3%p, 3B MATH-500은 -17.3%p였다.
- 7B에서는 GSM8K -2.0%p(CI -5.3~+0.7), MATH-500 -1.3%p(CI -4.7~+2.0)로 0과 구분되지 않았다.
- 동일 비용 기준선 대비 유의하게 나쁜 사례
- 3B/MATH-500 Best-of-N은 -14.1%p(CI -20.0~-8.4), 7B/MATH-500 강제 Reflexion은 -10.1%p(CI -15.0~-5.7)였다.
- 7B/MATH-500 Self-Refine은 -6.3%p, 7B/GSM8K Self-Refine은 -3.6%p였다.
- 샘플링 곡선의 정확도 상승폭
- 1.5B GSM8K는 N=1에서 70.1%(297토큰), N=16에서 80.9%(4749토큰)였다.
- 3B MATH-500은 55.7%(550토큰)에서 69.3%(8803토큰)로 올랐다.
- Reflexion 실제 발동률
- 1.5B는 GSM8K와 MATH-500 모두 즉시 종료 100%, 평균 라운드 0.00이었다.
- 3B는 GSM8K 77%, MATH-500 31%가 즉시 종료했다.
- 보정 범위에 따른 유의성 변화
- 설정별 Holm 보정에서는 10개가 유의했다.
How to Apply
- Best-of-N 판정 단계를 다수결로 바꿔 비교하기
- 오늘 정답이 하나로 정해지는 과제(수학·추출·분류)에서 N개 샘플을 뽑아 LLM이 고르는 방식과 최빈 답 세기를 같은 샘플로 비교하라.
- 정답 라벨이 있는 소규모 세트에서 정확도 차이를 계산하라.
- 자기 검토 루프를 같은 토큰의 샘플링과 비교하기
- 반복 critique·revise 루프의 평균 생성 토큰을 로그로 재라.
- 같은 토큰 예산으로 N회 독립 샘플링 후 다수결을 돌려 정확도를 비교하라.
- 적응형 재시도의 발동률 로깅하기
- 스스로 '틀렸다'고 판단해야 재시도하는 구조라면 재시도가 일어난 비율과 평균 라운드를 기록하라.
- 발동률이 0에 가까우면 재시도 로직이 사실상 꺼진 것이다.
- 토큰 비용은 입력 포함 총량과 지연시간도 같이 재기
- 논문은 생성 토큰만 셌고, 입력을 포함해도 Best-of-N 격차는 더 벌어졌다.
- 병렬 샘플링은 동시에 돌릴 수 있지만 순차 루프는 못 하니 지연도 함께 측정하라.
Try It
# Claude/ChatGPT에 붙여넣는 프롬프트 (논문 방법의 간이 버전: 판정 대신 다수결 비교)
아래 문제를 서로 독립적으로 8번 풀어줘. 각 풀이는 앞의 풀이를 참고하지 말고, 마지막 줄에 \boxed{답} 형식으로 최종 답만 써줘.
문제: {{문제}}
8번 풀이가 끝나면 두 가지를 해줘.
1) 8개 최종 답 중 가장 많이 나온 답을 세어서 알려줘.
2) 8개 풀이를 보고 가장 맞을 것 같은 풀이 번호를 하나 골라줘.
두 결과가 다르면 어느 쪽이 맞는지 {{정답}}과 비교해 알려줘.
이어서 해 볼 것: 문제 10~20개로 반복해서 '세기'와 '고르기'의 정답률을 비교해 보세요.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)
Methods that make a language model plan, criticise and rewrite its own answer, reflect on mistakes, pick the best of several attempts, or debate with copies of itself nearly all make it generate far more text than a single chain of thought. Because generating more text raises accuracy by itself, a gain over one chain of thought does not show the method's idea is what helped. Wang et al. (2024) reported that a simple baseline, sampling the same question repeatedly and keeping the most common answer, often wins once budgets are comparable, but gave point estimates with no confidence intervals or significance tests. We rerun that comparison as a designed experiment: seven methods, open models of 1.5B, 3B and 7B parameters, two mathematics benchmarks, 150 questions each. We count every generated token, including those spent on critiques, reflections, debate turns and checking, and compare each method against repeated sampling at its own measured cost. All 36 comparisons are paired by question, with bootstrap intervals and multiplicity correction. No method is reliably better than repeated sampling at equal cost anywhere. Ten are reliably worse, all of them methods where the model inspects its own output, and all 18 self-inspection comparisons are negative. The two kinds of self-inspection part company as models grow. Choosing stops hurting: taking Best-of-N's eight samples and just counting the most common answer beats letting the model pick by 8.0 and 11.3 points at 1.5B, but only 2.0 and 1.3 at 7B, no longer distinguishable from zero. Rewriting does not recover: Self-Refine and a forced Reflexion stay 3.6 to 10.1 points below baseline at 7B. Reflexion as published never triggered its own retry on the smallest model. It judged itself correct every time and silently became a single chain of thought. We release code, prompts, all generations, and our verification scripts.