Qwen 3.8이 GPT-5.5 Pro의 추론 앞부분을 따라간다: reasoning prefill 실험 v1.1
Qwen 3.8 follows GPT-5.5 Pro reasoning prefills
TL;DR Highlight
GPT-5.5 Pro 추론 1%를 앞에 붙였더니 Qwen3.8 답변 유사도가 18%p 올랐다
Who Should Read
오픈 모델이 어느 상용 모델의 출력을 학습했는지(증류 여부)가 궁금한 LLM 평가·모델 선정 담당 개발자
Core Mechanics
- reasoning prefill로 증류 흔적을 잰다
- 모델마다 일반 답변과, 교사 모델 추론 첫 1%를 추론 채널 앞에 넣은 답변을 각각 만든다.
- 교사 모델의 최종 답변이 대상 모델 답변 첫 100토큰에 얼마나 나오는지 잰다.
- 점수는 unigram·bigram·trigram 재현율(recall)의 평균이다.
- 평가 문제는 45개다
- STEM 15개, 비STEM 15개, 비공개 합성 퍼즐 15개로 구성된다.
- 변화량은 퍼센트 포인트(pp) 차이다.
- Qwen3.8 A95B만 크게 움직였다
- 프리필 없을 때 16.79%에서 프리필 후 34.97%로 +18.18pp 올랐다.
- DeepSeek V4 Flash는 −1.17pp, Inkling은 +0.46pp, Kimi K3는 +4.54pp였다.
- Qwen은 모든 범주에서 올랐다
- STEM은 19.26%에서 46.24%로 +26.99pp 올랐다.
- 비STEM은 +12.80pp, 퍼즐은 +14.75pp 올랐다.
- Opus 4.8 때는 거의 안 움직였다
- 이전 실험에서 Qwen은 Opus 4.8 쪽으로 거의 이동하지 않았다.
Community Reactions
- 프리필 방법과 배경을 풀어 준 설명
- 작성자들이 OpenAI·Anthropic 모델의 읽을 수 있는 CoT를 복원한 'Stolen Thoughts' 논문 저자라는 설명이 있었다.
- 이전 논문에서는 Claude 4.8 추론을 프리필하자 Kimi-K3 답변이 Claude 4.8에 가까워졌다는 설명이다.
- 학습 데이터 오염을 의심하는 의견
- Qwen 3.8 0902는 8월 10일 논문 공개 후에 학습됐으니 그 추론 조각을 봤을 수 있다는 의견이다.
- 두 모델이 같은 벤치마크 풀이를 직접 학습했을 가능성도 있다는 의견이다.
- 결론을 과대 해석하지 말라는 의견
- 소량의 사후 학습만으로도 상관이 오를 수 있다는 의견이다.
- 지능을 가져온 것인지 문체 영향인지는 구분되지 않는다는 의견이다.
- 직접 비교해 봤더니 비슷했다는 경험
- GPT-5.6 Sol의 CoT가 도구 호출에 새어 나온 것을 본 뒤 Qwen3.8 27B와 같은 기하 문제로 비교했다는 경험이다.
- 둘 다 'We need solve...'로 시작해 비슷했지만 이것만으로는 아무것도 증명하지 못한다고 했다.
How to Apply
- 후보 모델 출력 문체를 직접 비교하기
- 오늘 같은 문제 10개를 후보 오픈 모델과 상용 모델에 보내 답변 첫 100토큰을 모은다.
- 아래 코드로 n-gram 재현율을 계산해 모델 간 겹침을 확인한다.
- 프리필 전후 대조군 두고 측정하기
- 모델 선정 때 프리필 없는 답변과 있는 답변을 같은 문제로 각각 만든다.
- 변화량(pp)을 모델별로 비교해 이상치를 찾는다.
- 비공개 문제를 평가셋에 섞기
- 공개 벤치마크 오염을 피하려고 자체 합성 퍼즐을 평가셋에 포함한다.
- 공개 문제와 비공개 문제의 점수 차이를 따로 기록한다.
Try It
# 파이썬 3 터미널에서 실행 (논문 방법의 간이 버전: 프리필 없이 두 답변의 n-gram 재현율만 측정)
import re
def toks(s, n=100):
return re.findall(r"\w+", s.lower())[:n]
def recall(src, tgt, k):
a = {tuple(src[i:i+k]) for i in range(len(src)-k+1)}
b = {tuple(tgt[i:i+k]) for i in range(len(tgt)-k+1)}
return len(a & b) / len(a) if a else 0
def score(teacher, target):
t, g = toks(teacher, 10**6), toks(target, 100)
return sum(recall(t, g, k) for k in (1, 2, 3)) / 3
teacher = "{{교사 모델 최종 답변}}"
target = "{{대상 모델 답변}}"
print(score(teacher, target))
# 이어서 해 볼 것: 같은 문제 10개로 모델별 평균을 내 비교해 보기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배 빨라졌다