추측 디코더(Speculative decoders)는 포워드 패스당 더 많은 타겟 토큰을 처리함으로써 처리량(throughput)을 높입니다. Medusa, EAGLE-3, DFlash, DSpark 모두 동일한 방식으로 작동합니다. 즉, 검증을 통과하는 후보(candidates)의 수를 늘리는 것입니다. 이들 모두 타겟 자체 어휘(vocabulary)를 사용하여 초안을 작성하는데, 따라서 후보 트리(candidate tree)의 한 노드는 하나의 타겟 토큰이 되며, 토크나이저는 이 단위를 상수처럼 보이게 만듭니다. 하지만 그렇지 않습니다. BPE의 프리토크나이저(pretokenizer)는 병합(merges) 학습 전에 공백을 기준으로 분할하기 때문에, 어떤 다중 단어 문자열도 단일 토큰이 될 수 없습니다. 예를 들어 Qwen3-4B에서 "United States of America"는 네 개의 토큰이며, 인접한 두 토큰 쌍 중 하나가 하나의 항목으로 존재하는 경우가 없으므로, 구문(phrase)은 타겟 어휘로 초안을 작성하는 어떤 방법의 범위를 벗어납니다. 우리는 단위를 변경합니다. 작은 MLP 헤드(MLP head)가 고정된 타겟의 은닉 상태(hidden state)를 읽고 별도의 초안 어휘에 하나의 항목으로 1~3단어 구문을 예측합니다. 탐욕적 최장 일치 확장(greedy longest-match expansion)이 이를 다시 타겟 자체 토큰으로 매핑하며, 접두사 트리 마스크(prefix-tree mask) 뒤에서 N개의 후보가 단일 포워드 패스로 검증됩니다. 따라서 이 변경은 트리의 깊이나 너비와 직교적입니다. 타겟과 그 토크나이저는 고정된 상태를 유지하며, 후보는 오직 타겟 자체의 argmax와 일치할 때만 수락되므로, 제공되는 출력물(served output)은 부동 소수점 동점 처리(floating-point tie-breaking)를 제외하고 탐욕적 디코딩과 동일합니다.
A5000 한 장비에서 배치 크기 1로 HuggingFace generate()와 비교했을 때, 21.94M 헤드(Qwen3-4B의 0.545%)는 GSM8K에서 2.391배, MATH-500에서 2.444배, MT-Bench에서 1.544배에 도달합니다.
헤드의 출력 레이어가 항목당 257개의 파라미터로 구성된 한 행이기 때문에, 초안 어휘의 크기는 파라미터 예산(parameter budget)이 됩니다. 8,000개 항목을 가진 헤드는 3.434M 개의 파라미터를 가지며, 이는 타겟의 0.0854%에 불과하고 EAGLE-3의 드래프터보다 64배 작으면서도 이전 패스 대비 GSM8K 토큰의 92.3%를 유지합니다. 동일한 프롬프트와 기준선으로 실행된 EAGLE-3와 비교했을 때, 우리의 21.94M 헤드는 수학 세트(maths sets) 모두에서 tree-16보다 앞서고 모든 세트에서 tree-60보다 뒤처집니다.