초안 토큰을 더 받아도 빨라지지 않는다: 추측 디코딩의 길이 착시
검증을 느슨하게 하면 초안 채택은 늘어도 답변이 더 길어져, 전체 실행 시간과 정확도가 오히려 나빠질 수 있음을 측정했습니다.
쉽게 말하면비유하자면 초안 작성자의 글을 덜 깐깐하게 통과시켰더니 한 번에 넘어가는 분량은 늘었지만, 글 전체가 길어져 검토 횟수와 시간이 기대만큼 줄지 않는 상황이다. 통과 분량만 세면 빨라진 것처럼 보인다.
- 왜 봐야 하나
- 응답 속도를 높이려고 초안 검증을 느슨하게 한다면 채택된 토큰 수만 보면 안 된다. 같은 문항에서 답변 길이, 검증 횟수, 실제 시간, 정확도를 함께 재야 한다. 정확도를 채점한 실험 칸 300개 중 198개가 느슨하게 하지 않은 기준보다 2퍼센트포인트 이상 떨어졌다.
이 논문은 학습 없이 적용할 수 있는 '손실 추측 디코딩(lossy speculative decoding)'의 속도 향상 지표가 실제로는 출력 길이 증가로 상쇄될 수 있음을 실험으로 보여준다. 기존에는 검증 단계에서 초안 토큰을 얼마나 많이 받아들이는지(수용 길이)로 속도를 평가했지만, 저자들은 완화된 검증 규칙이 모델의 출력 분포를 바꾸어 답변을 길게 만들고, 특히 추론 모델의 '생각' 구간을 늘린다는 '길이 팽창(length inflation)' 현상을 확인했다. 12개 타깃-초안 모델 쌍, 6개 데이터셋, 5개 규칙으로 구성된 360개 실험 셀에서 추가 확정 토큰까지 포함한 라운드당 이득은 평균 1.34배였지만 완성 길이는 1.54배 늘어, 수용 길이만으로는 실제 속도 향상을 예측할 수 없다는 결론을 내린다.
알아낸 것
- 추측 디코딩에서 초안 토큰의 채택 지표가 높아진 것을 곧바로 실행 속도 향상으로 해석할 수 있는지 검토했습니다.
- 보너스 토큰을 포함한 이론적 토큰 산출량과 실제 경과 시간을 구분하고, 길이와 비교 조건을 맞춰 지표를 읽어야 합니다.
한계와 주의할 점
- 공개 논문의 저자 실험이며 독립 실행으로 재현하지 않았습니다. 결론은 논문에서 비교한 모델·설정의 범위에서 해석해야 합니다.
- Table 3의 1.34는 보너스 토큰을 포함한 이론적 이득입니다. 실제 경과 시간이 1.34배 빨라졌다는 측정값이 아닙니다.
- 실험 셀 수와 평가 문항 수의 분모를 구분해야 합니다. 평균 채택 길이를 근사하게 맞춘 비교이며, 답변 전체 길이와 실행 비용까지 같다는 뜻은 아닙니다.
용어 풀이
- 추측 디코딩
- 작은 초안 모델이 여러 토큰을 제안하고 큰 타깃 모델이 한 번에 검증하여 수용 규칙을 통과한 연속 토큰을 채택하는 가속 기법. 손실 없는 검증은 출력 분포를 보존하지만 개별 실행의 길이가 항상 같지는 않다.
- 길이 팽창
- 완화된 검증이 생성하는 완성 텍스트가 손실 없는 검증보다 길어지는 현상. 이 논문의 핵심 발견으로, 주로 추론 모델의 생각 트레이스가 늘어나 발생하며 수용 길이 이득을 상쇄한다.
- 수용 길이
- 검증 라운드당 평균적으로 채택되는 초안 토큰 수(ℓ̄). 손실 없는 검증에서는 속도 향상의 신뢰할 만한 지표이지만, 손실 있는 검증에서는 길이 팽창 때문에 실제 속도와 괴리가 생긴다.
- 검증 라운드
- 타깃 모델이 초안 블록을 검증하기 위해 수행하는 전방 패스 횟수. 완성 길이를 수용 길이+1로 나눈 값과 근사하며, 하드웨어 독립적인 효율성 지표로 사용된다.
- 독립 초안 모델
- 타깃과 토크나이저만 공유하는 완전한 소형 언어 모델(예: Llama-3.2-1B). 타깃 분포와의 거리가 멀 수 있지만, 이 연구에서는 오히려 길이 팽창이 적은 경우가 많았다.
더 깊이 읽기 읽는 데 약 9분
배경과 문제
대형 언어 모델은 토큰을 차례로 생성하므로 매번 큰 모델을 실행하는 비용이 든다. 추측 디코딩(speculative decoding)은 작고 빠른 초안 모델이 여러 토큰을 먼저 제안하고, 큰 타깃 모델이 한 번의 전방 패스로 검증하는 가속 방법이다. 샘플링에서는 두 문자열이 문자 그대로 일치하는지를 보는 대신 확률에 따른 수용 규칙을 통과한 연속 초안 토큰들을 채택한다. 손실 없는(lossless) 검증은 타깃의 출력 분포를 보존하므로 기대되는 길이 분포도 같지만, 개별 실행의 길이가 항상 같다는 뜻은 아니다. 고정된 비용 조건에서 더 많은 토큰을 한 라운드에 확정할수록 필요한 라운드는 줄어든다.
그러나 손실 있는(lossy) 추측 디코딩은 검증 규칙을 완화하여 손실 없는 검증이라면 거부할 토큰도 받아들인다. 이렇게 하면 수용 길이는 늘어나지만, 타깃 모델의 출력 분포가 달라지므로 생성되는 텍스트의 길이가 더 길어지거나 짧아질 수 있다. 문제는 기존 연구들이 거의 전적으로 수용 길이나 초당 토큰 수만 보고했다는 점이다. 완화된 규칙이 어떤 토큰을 채택하는지 바뀌면 완성 길이와 종료 조건도 달라지므로, 수용 길이의 증가가 실제 종단 간 속도 향상으로 이어지지 않을 수 있다. 이 논문은 이 '완화된 검증 하에서의 길이 팽창'을 직접 측정하고 그 원인과 결과를 분석한다.
기존 접근의 한계
손실 없는 추측 디코딩에서 수용 확률은 초안 분포 q와 타깃 분포 p가 겹치는 정도, 즉 1 - TV(p, q)로 제한된다. 완화된 규칙은 이 상한을 넘기 위해 검증 시 타깃 분포 p를 완화된 분포 π로 대체한다. 예를 들어 CACTUS는 역 KL 발산 예산 내에서 초안 토큰의 확률을 높이고, 멘토드 디코딩은 순방향 KL 예산을 사용하며, 퍼지 추측 디코딩은 분포 간 거리가 임계값보다 작으면 초안을 전적으로 신뢰한다. 스페큘러티브 캐스케이드는 지연 비용이나 신뢰 집합 폭에 따라 규칙을 바꾼다.
이들 방법의 원 논문들은 대부분 수용 길이, 초당 토큰 수, 상대 지연 시간만 보고했고, 완성 길이나 검증 라운드 수를 측정하지 않았다. Xia et al.(2026)만이 길이 보정 항을 명시적으로 다루었지만, 약한 초안 모델에서만 길어지는 현상을 언급했다. 따라서 완화된 검증이 실제로 출력을 얼마나 길게 만드는지, 그 추가 길이가 어떤 내용인지, 정확도에 어떤 영향을 주는지에 대한 체계적 측정이 부족했다. 이 논문은 길이 팽창을 중심 측정 대상으로 삼아 이 공백을 메운다.
연구방법을 단계별로
저자들은 5가지 학습 없는 규칙(mentored_dec, cactus, spec_casc_opt, r_fuzzy, spec_casc_tok)을 vLLM 0.26.0의 거부 샘플러에 구현했다. 완화 파라미터 α의 의미가 규칙마다 달라 수치를 직접 비교할 수 없으므로, 일부 실험에서는 파일럿으로 평균 수용 길이 ℓ̄가 비슷한 설정을 찾았다. 달성 가능한 길이가 달라 매칭도 근사적이다. 12쌍 중 7쌍은 이 과정을 거쳤고, 독립 초안 모델을 쓰는 4쌍과 P-EAGLE 1쌍은 규칙별 가장 느슨한 설정만 시험했다. 주표는 각 규칙의 가장 느슨한 시험 설정을 보고한다.
구성은 타깃 4종(GPT-OSS-20B, Qwen3-8B, Llama-3.1-8B-Instruct, DeepSeek-R1-Distill-Llama-8B)과 전용 초안 8종·독립 초안 3종을 조합한 12쌍이다. 6개 과제(GSM8K, AIME24, HumanEval, LiveCodeBench, MT-Bench, LongBench-v2)와 5규칙을 곱한 360개 셀은 각각 여러 문항을 포함한다. 주 설정은 단일 H100, 초안 길이 Ndraft=6, 온도 1.0, top-p 1.0, 시드 0이며 각 문항을 조건별 한 번 실행했다. GPT-OSS+nebius EAGLE-3와 Qwen+RedHatAI EAGLE-3의 주요 두 쌍은 추가 시드와 상세 시간 분석을 수행했다. 같은 문항의 손실 없는 실행을 기준으로 비율을 구하고, 문항 단위 95% paired bootstrap을 10,000회 수행했다.
결과와 숫자의 의미
전체 360개 셀 중 248개에서 완성 길이가 늘었다. 길이 비율 λ의 중앙값은 1.08, 평균은 1.54이며, 172개 셀은 95% 구간이 1보다 컸다. 반면 라운드당 확정 토큰 이득 (ℓ̄+1)/(ℓ̄*+1)의 평균은 1.34였다. 여기서 +1은 수용된 초안 뒤에 확정하는 보너스 또는 대체 토큰이며, 별표는 손실 없는 기준이다. 라운드 비율 R/R*는 중앙값 0.93, 평균 1.10이고, 114개 셀에서 더 많은 라운드가 필요했다. 평균 길이 비율을 평균 이득으로 나눈 값을 실제 측정 속도라고 부르면 안 된다. 주요 두 쌍의 시간 비율 중앙값은 1.01로 라운드 비율 0.96보다 나빴으며, 11개 셀은 라운드를 줄여도 시간을 줄이지 못했다.
정확도를 평가한 300개 셀 중 198개는 손실 없는 기준보다 2퍼센트포인트 이상 하락했다. 이는 답변 300개 중 198개가 틀렸다는 뜻이 아니며, MT-Bench는 별도의 판정 점수를 쓰므로 이 분모에서 빠진다. 공격적인 cactus, spec_casc_opt, r_fuzzy의 평균 정확도 손실은 0.14~0.21, 즉 14~21퍼센트포인트였다. spec_casc_tok의 평균 손실은 0.005로 작았지만, 그 규칙에서도 60개 채점 셀 중 22개가 하락 기준에 해당했다. 이 규칙의 평균 라운드당 이득은 1.11배, 길이 비율은 0.96, 라운드 비율은 0.86이었다. 평균 정확도가 비슷하다는 사실이 모든 과제에서 품질을 보존한다는 보장은 아니다.
구체적인 예시
길이 팽창은 초안 모델의 종류에 크게 의존했다. 예를 들어 Llama-3.1-8B-Instruct는 EAGLE-3 헤드와 함께 사용할 때 평균 λ=3.30으로 가장 심한 팽창을 보였지만, 독립 초안 모델 Llama-3.2-1B를 쓰면 λ=1.10에 그쳤다. 반대로 Qwen3-8B는 EAGLE-3 헤드에서 λ=1.18, 독립 초안 Qwen3-1.7B에서 λ=0.90으로 오히려 짧아졌다. DSpark는 중앙값 λ=1.06으로 거의 팽창하지 않았고, 30개 셀 중 22개에서 라운드 비율이 1보다 작았다. 같은 타깃도 초안 구성에 따라 결과가 달라진다는 예다. 이 비교만으로 특정 초안이 타깃 분포에 얼마나 가까운지 계량하거나, 모든 독립 초안이 전용 헤드보다 낫다고 결론 내릴 수는 없다.
추가 길이가 어디에 쓰이는지 추적한 결과, 추론 모델에서는 대부분 '생각' 구간에 들어갔다. GPT-OSS-20B의 분석 채널은 30개 셀 중 25개에서 추가 문자의 92% 이상을 받았고, Qwen3-8B는 중앙값 기준 추가 문자의 90% 이상을 <think> 블록 안에 넣었다. Llama-3.1-8B-Instruct는 별도의 생각 트레이스가 없어 답변 본문 자체가 길어졌다. 주요 두 쌍의 실행 기록에서 spec_casc_tok을 제외한 네 규칙이 추가로 수용한 토큰의 타깃 확률 중앙값은 0.01~0.09, 평균 순위는 37~234였다. spec_casc_tok의 추가 토큰은 이들과 양상이 다르다. 낮은 확률 토큰 채택과 생각 구간 연장이 함께 관찰됐지만, 이것만으로 길어지는 원인이 모두 설명되지는 않는다.
한계와 오해하기 쉬운 점
주요 결과는 vLLM 0.26.0, 단일 H100, Ndraft=6, 온도 1.0/top-p 1.0에서 얻었으며, 대다수 조건에서는 각 문항을 한 번씩 실행했다. 벽시계 시간은 배치 크기 1의 클라이언트 관측값으로 서버 시작 시간은 제외했으며, 동시 부하 상황의 처리량을 재평가한 것이 아니다. AIME24는 30문항, MT-Bench는 80문항이라 표본 불확실성이 크다. 별도 실험에서 Qwen3-8B의 권장 온도 0.6을 쓰면 GSM8K·LiveCodeBench의 일부 규칙에서는 길이 증가가 사라졌지만 spec_casc_opt는 여전히 1.5배로 늘었다. 따라서 모든 실험이나 설정에서 같은 크기의 팽창이 생겼다고 일반화하면 안 된다.
길이 팽창의 원인에 대한 인과적 설명은 아직 완전하지 않다. 저자들은 저확률 토큰의 채택과 생각 트레이스 연장 사이의 연관성을 관찰했지만, 왜 낮은 확률의 토큰이 추론 모델로 하여금 더 오래 생각하게 만드는지는 설명하지 못했다. 또한 토큰 예산으로 인해 긴 출력은 오른쪽 절단(right-censored)되므로 실제 팽창은 과소평가되었을 수 있다. 이 논문의 구현은 vLLM 거부 샘플러에 대한 재구현이며, 공식 수식과 제한 조건에 대한 검사는 있지만 원저자 코드와의 직접적인 동일성 비교는 아니다. 일부 별도 샘플러 경로에서 cactus와 spec_casc_tok은 수용 검사만 바꾸고 잔여 분포는 원래 타깃 것을 유지했다. 손실 없는 추측 디코딩 자체가 무효라는 주장이 아니라, 완화된 검증 하에서 수용 길이만으로 속도를 판단하는 것이 부적절하다는 것이 핵심이다.
실제로 어떻게 활용할까
실무에서는 수용 길이, 완성 길이, 검증 라운드, 실제 시간, 품질을 같은 문제들에서 함께 비교해야 한다. 길이 보정식은 이미 측정한 완성 길이와 라운드당 확정 토큰을 이용해 필요한 라운드를 설명하는 식이다. 실행 전 하드웨어 없이 실제 지연 시간을 알아내는 도구는 아니며, 라운드 비용이 달라지면 시간도 따로 측정해야 한다. 보수적 규칙의 평균 결과가 좋아 보여도 실제 모델·샘플러·업무에서 품질 하락과 긴 꼬리 출력을 함께 확인하는 것이 타당하다.
추론 모델의 경우, 생성 예산 근처에서 생각 트레이스를 강제로 닫는 간단한 개입이 길이 팽창으로 인한 정확도 손실을 상당 부분 회복할 수 있다. 주요 두 추론 모델과 다섯 채점 과제에서 실제로 개입이 발생한 1,132개 실행만 모으면 정답이 126개에서 439개로 증가했고, 오답→정답이 335개, 정답→오답이 22개였다. 이는 전체 벤치마크 문항의 정답률 변화가 아니라, 예산 근처까지 길어진 개입 대상의 변화다. 다만 이 방법은 이미 대부분의 예산을 소진한 실행에는 속도 회복을 보장하지 않으므로, 답이 이미 쓰인 시점에서 더 일찍 트레이스를 닫는 것이 자연스러운 다음 단계로 제안된다.
원문에서 확인한 근거 6곳
- 전체 셀의 평균 라운드당 확정 토큰 이득은 1.34배이고, 평균 완성 길이 비율은 1.54배이다.Table 3
- 360개 셀 중 248개에서 완화된 검증이 완성 길이를 늘렸고, λ의 중앙값은 1.08, 평균은 1.54이다.completion length
- 검증 라운드 비율 R/R*는 중앙값 0.93, 평균 1.10이며, 114개 셀에서 손실 없는 경우보다 라운드가 더 필요했다.Verifier rounds and time
- 정확도는 300개 평가 셀 중 198개에서 손실 없는 기준보다 2퍼센트포인트 이상 하락했다.Accuracy retention
- 추가 길이는 주로 추론 모델의 생각 트레이스에 들어가며, GPT-OSS-20B는 30개 셀 중 25개에서 추가 문자의 92% 이상을 분석 채널이 받았다.Why completions get longer
- 생각 구간을 예산 근처에서 강제로 닫은 개입 대상 1,132개 실행에서 정답이 126개에서 439개로 늘었다.Table 4
10월 20일(화) 정리 · AI가 쓰고 원문과 대조