TraceForge는 교사의 답만 받아 학생 모델 문체로 추론 과정을 합성한다

TraceForge: Distilling with Your Own Thinking

HF Daily2610.29680

Yan Wang2026-10-21

무엇인가

프론티어 모델 제공사들이 API 응답에서 상세 추론 과정을 빼고 답이나 짧은 요약만 돌려주는 것이 이 논문의 출발점이다. 최근에는 제공사가 반환하는 암호화된 추론 블록을 모델 간에 재생해 숨겨진 추론을 복원하는 방법(Panfilov et al., 2026)이 등장했지만, 저자들은 이것이 제공사의 이용약관을 위반하므로 제품의 기반으로 삼을 수 없다고 본다. 제안하는 대안은 교사의 추론을 복원하는 것이 아니라, 교사의 답에 도달하는 추론 과정을 학생 모델 자신의 계열 문체로 새로 생성하는 것이다. 저자들은 그 결과물을 '패밀리 네이티브(family-native) 트레이스'라 부른다.

어떻게 동작하나

방법의 핵심은 생성기가 대화의 나머지 요소로부터 추론 트레이스를 모델링하는 것이다. 시스템 프롬프트, 사용자 턴, 답, 도구 호출/응답을 S·U·A·T로 두고 P(R | S,U,A,T)를 학습한다. 학습 데이터는 학생과 같은 계열인 Qwen3.8-Max에서 수집한 약 1만 개의 추론 트레이스로, 다섯 요소가 모두 존재해 교사 없이 R을 직접 지도한다. 추론 트레이스만 입력에서 제거하고 손실은 트레이스에만 걸며, 답은 항상 입력에 포함되고 출력에는 포함되지 않는다. 따라서 모델은 답을 다시 진술하는 것이 아니라 답에서 끝나는 유도를 쓰는 법을 배운다. 추론 시점에는 폐쇄형 모델이 제공하는 S·U·A·T만 받아, 그 계열이라면 썼을 추론 트레이스를 샘플링한다. 교사는 추론 시점에 네 가지 입력의 출처로만 등장한다.

무엇과 다른가

2단계는 적대적 공동 학습이다. 먼저 비평가(critic)를 실제 트레이스와 생성 트레이스를 구분하도록 학습시키는데, 샘플마다 대응하는 음성 예시 하나를 붙이고 양성 확률이 음성보다 0.2 이상 높아지면 학습을 멈춘다. 저자들은 여기서 작은 모델이 큰 모델을 심판할 수 있다고 가정한 것이 오판이었다고 밝힌다. 비평가가 수백 스텝 만에 지름길을 학습해 검증 쌍에서 좋은 점수를 내고 생성기에는 아무것도 가르치지 못했기 때문에, 비평가를 생성기 이상 크기로 키웠다. 이후 5라운드 온라인 공동 학습에서 매 라운드 생성기가 5,000개 트레이스를 만들고, 비평가를 속인 트레이스는 비평가 학습 데이터로, 속이지 못한 트레이스는 생성기의 선호 쌍(DPO)으로 쓰인다. 외부 심판 GPT-6.1-SOL 기준으로 실제 트레이스가 평균 0.66, 생성기 단독이 0.68, 비평가로 4개 후보 중 최선을 고르면 0.82를 기록했다. 저자들은 이것이 정확도가 아니라 진위 유사도 점수임을 명시한다.

어떻게 쓰나

평가는 베이스 모델(Qwen3.5-9B-Base), 학습 레시피, 예산을 고정하고 추론 트레이스와 답의 출처만 바꾸는 방식이다. 256K 컨텍스트의 Claude Code 궤적 5,000개에서 동일한 프롬프트와 Fable 5의 답을 고정한 뒤 다섯 코퍼스를 만들었다. S1은 Fable 5의 실제 추론+답, S2는 패밀리 네이티브 추론+Fable 5 답, S3는 Qwen3.8-Max의 추론+답, S4는 TraceInversion으로 합성한 추론+GPT-6.1-SOL 답, S5는 패밀리 네이티브 추론+GPT-6.1-SOL 답이다. ARC-Easy·ARC-Challenge·BoolQ 세 지식 벤치마크에서는 다섯 코퍼스가 모두 1.6점 이내에 모여 차이가 없었고, 코딩 벤치마크에서는 60점 이상 벌어졌다. S2는 S1을 HumanEval+에서 3.7점, MBPP+에서 7.1점 앞섰고 MBPP+ 우위는 측정한 모든 체크포인트에서 유지됐다. S3는 HumanEval+ 18점, MBPP+ 28점 뒤졌고, TraceInversion(S4)은 3.66과 6.61로 가장 약했다. 같은 GPT-6.1-SOL 답을 쓰고 합성기만 바꾼 S5는 59.15와 60.05로, S4 대비 55점과 53점을 벌었다.

전제와 한계

학습 곡선은 종착점보다 많은 것을 말해준다. S1은 600스텝에서 HumanEval+ 66.46까지 올랐다가 1,200스텝에서 33.54로 떨어졌고 종료 시점에 64.63으로 회복했다. 저자들은 채점 오류를 배제하려 1,200스텝 평가를 두 번 재실행했고 수치가 유지됐다며, 교사의 추론 문체가 계열 고유 문체에서 충분히 멀어 파라미터가 크게 이동하고 그 이동이 오버슈트할 수 있다고 해석한다. 반대로 S2는 68.29와 59.52까지 꾸준히 상승했고, S5는 두 벤치마크 모두 매 체크포인트에서 올라 0.61·10.32에서 59.15·60.05가 됐다. S3는 300스텝 내에 48.78을 찍고 되돌아오지 못했으며, S4는 900스텝에서 21.95·42.59로 정점을 찍은 뒤 3.66·6.61로 추락했다. 저자들은 두 코퍼스의 출력에서 죽은 루프와 무의미한 반복이 늘어나는 것을 확인하고, 증류된 모델에서 다시 증류하는 이른바 '간접흡연' 현상으로 일부 설명한다. 패밀리 네이티브 트레이스에서는 이 패턴이 전혀 나타나지 않았다고 밝힌다.

개발자 관점에서 이 논문의 실무적 함의는 데이터의 출처보다 형식이 학습 효율을 좌우할 수 있다는 점이다. 같은 질문과 같은 교사 답을 고정해도, 학생 계열의 문체로 쓰인 추론 트레이스가 교사 자신의 트레이스보다 코딩 과제에서 더 나은 학생을 만들었다. 또한 저자들은 Claude나 OpenAI 답을 아예 다루고 싶지 않은 팀을 위한 변형도 제시한다. 패밀리 네이티브 트레이스를 같은 계열의 합법적 증류 가능 모델(Qwen3.8-Max 등)에 넘겨 그 모델이 답을 쓰게 하고, 트레이스와 답을 함께 학습하면 Claude·OpenAI 토큰이 역전파되지 않아 법적 노출과 출처 문제를 모두 없앨 수 있으며, 성능은 S2와 사실상 같았다고 한다. 생성기와 비평가 모두 Claude나 OpenAI 토큰을 본 적이 없고 모든 학습 예시가 Qwen3.8-Max에서 나왔다.

저자들이 밝힌 한계도 분명하다. S1/S2, S4/S5 비교는 하류 성능 차이를 확립하지만 패밀리 문체를 파이프라인 간의 다른 모든 차이로부터 분리해내지는 못한다. 0.68, 0.66, 0.82는 진위 유사도 점수이지 정확도가 아니며, 하류 벤치마크 성능은 별도로 평가된다. 또한 글로 적힌 추론이 답을 만들어낸 실제 계산을 충실히 드러낸다는 보장은 없다(Turpin et al., 2023). 이 논문의 목표는 교사의 숨겨진 추론을 그대로 복원하는 것이 아니라, 학생이 학습에 쓸 수 있는 패밀리 네이티브 트레이스를 만드는 것이다.