Speculative Decoding은 LLM 추론(inference)을 가속화하기 위한 기법으로, 작은 모델이 여러 토큰을 먼저 예측하고 큰 모델이 이를 한 번에 검증(verification)하는 방식이다.
핵심 아이디어는 다음과 같다.
“작은 모델이 초안을 쓰고(draft), 큰 모델이 맞는지 확인한다(verify).”
이 과정을 통해 큰 모델이 토큰을 하나씩 생성하는 autoregressive decoding의 병목을 줄일 수 있다.
1. 기존 Autoregressive Decoding의 문제
일반적인 LLM 생성은 다음과 같다.
입력:
The capital of France is
생성 과정:
Step 1: Paris
Step 2: .
Step 3: It
Step 4: is
...
매 토큰마다:
를 계산해야 한다.
70B 모델이라면
1 token 생성
→ 전체 Transformer Forward
→ 다음 token 생성
→ 전체 Transformer Forward
를 반복한다.
즉, 생성 시 가 필요하다.
2. 기본 아이디어
큰 모델:
M
작은 모델:
D (Draft Model)
작은 모델이 먼저
Paris . It is
4개 토큰을 예측한다.
큰 모델은
Paris . It is
전체를 한 번에 검증한다.
즉, Draft → Verify 구조이다.
3. Leviathan et al. (ICML 2023)
대표 논문:
Fast Inference from Transformers via Speculative Decoding
이 논문이 현재 대부분의 speculative decoding의 기반이다.
Step 1
작은 모델이 K개 생성
예:
Input:
The capital of France is
Draft:
Paris . It is
K=4
Step 2
큰 모델이 한 번에 평가
큰 모델:
M이 다음 확률 계산
…
을 한 번의 forward에서 얻는다.
Step 3
Acceptance Test
draft token:
에 대해
Draft model:
Large model:
수락 확률
만약
일 때
이면 token accepted.
즉
Draft token
↓
Large model도 비슷하게 생각
↓
Accept
Step 4
Reject 발생
예:
Draft:
Paris . It are
Large model:
Paris . It is
라고 판단.
그러면
Paris .
까지 accept.
이후는 Large model이 직접 생성.
4. 왜 빨라지는가?
예:
100 token 생성.
기존
100번 Large Model Forward
필요.
Speculative
K=5
accept rate=80% 라면,
5 token 단위 생성 가능.
실제로는
회의 large-model 호출만 필요.
속도 향상:
대략 정도.
논문에서는 수준 보고.
5. 왜 정확도가 유지되는가?
중요한 특징:
Speculative Decoding은 근사 방법이 아니다.
최종 샘플 분포가 p(x) (원래 Large Model)과 동일함이 증명된다.
즉
- Greedy decoding 결과 동일
- Sampling 분포 동일
이다.
6. 알고리즘
while not EOS:
1. Draft model
generates K tokens
2. Large model
evaluates all K tokens
3. Accept tokens
sequentially
4. First rejection:
sample from corrected distribution
5. Continue
7. 성능을 결정하는 요소
(1) Draft Model 품질
작은 모델이 큰 모델을 잘 따라야 한다.
예:
7B ← 70B는 잘 동작.
반면
125M ← 70B는 acceptance rate가 낮음.
(2) Acceptance Rate
r
높을수록 좋다.
보통 정도.
(3) Draft Length
K
너무 작으면 가속 효과 없음
너무 크면 reject 증가
보통 정도 사용.
8. 최근 발전
Medusa (2024)
Medusa
별도 Draft Model 없이
LLM 내부에 여러 speculative head 추가.
Head1 → t+1
Head2 → t+2
Head3 → t+3
예측.
추가 작은 모델이 필요 없다.
EAGLE
EAGLE
token이 아니라 hidden state를 예측.
Speculative decoding의 acceptance rate를 크게 향상.
ReDrafter
ReDrafter
Draft model이 여러 토큰을 recurrent하게 생성.
Google 계열 연구.
Lookahead Decoding
트리 형태로 여러 후보 생성.
A
/ | \
B C D
Large model이 동시에 검증.
9. LLM 연구 관점에서 중요성
현재 추론 가속화 분야에서 가장 중요한 축 중 하나이다.
대표 계열:
- Quantization
- KV Cache Optimization
- FlashAttention
- Speculative Decoding
- Early Exit
그중 speculative decoding은
- 모델 품질 유지
- 학습 없이 적용 가능
- 2~3배 속도 향상
이라는 장점 때문에 실제 서비스 LLM에서 널리 사용된다.
연구자 관점의 핵심 정리
Speculative Decoding은 다음 식의 acceptance-rejection sampling을 이용해
작은 모델 q가 생성한 여러 토큰을 큰 모델 p가 한 번에 검증함으로써,
O(T)번 필요하던 large-model decoding을
O(T/K)수준으로 감소시키는 추론 가속화 기법이다. 이론적으로 최종 생성 분포는 원래 large model과 동일하며, 최근에는 Medusa, EAGLE, ReDrafter 등 draft model을 개선하거나 제거하는 방향으로 발전하고 있다.
10. 최근 발전 — 자세한 설명
Speculative decoding의 최근 발전은 크게 **“좋은 draft를 어떻게 싸게 만들 것인가?”**로 요약할 수 있다.
10.1 Medusa: 별도 draft model 제거
기존 speculative decoding은 보통 작은 draft model q가 필요하다.
Medusa는 이를 없애고, target LLM 내부에 여러 개의 auxiliary decoding head를 붙인다.
구조:
Backbone LLM hidden state
↓
Head 1 → 다음 토큰 예측
Head 2 → 2번째 미래 토큰 예측
Head 3 → 3번째 미래 토큰 예측
...
즉, 별도 작은 모델 없이 같은 LLM의 hidden state로 여러 future token 후보를 만든다.
Medusa의 핵심은 세 가지이다.
- Multiple decoding heads
- 각 head가 t+1, t+2, …, t+k 위치의 토큰을 예측한다.
- Tree-based attention
- 여러 후보 continuation을 tree 형태로 만들고, target model이 한 번에 검증한다.
- Medusa-1 / Medusa-2
- Medusa-1: backbone은 freeze하고 head만 학습.
- Medusa-2: backbone까지 함께 fine-tuning하여 더 높은 speedup을 얻음.
Medusa 논문은 Medusa-1에서 약 2.2×, Medusa-2에서 2.3–3.6× 수준의 speedup을 보고한다.
10.2 Hydra: Medusa head의 의존성 문제 개선
Medusa의 약점은 각 future-token head가 대체로 독립적으로 예측한다는 점이다.
예를 들어:
Head 1: "New"
Head 2: "York"
Head 3: "is"
라고 예측해야 할 때, Head 2는 Head 1이 실제로 “New”를 냈다는 정보를 충분히 조건으로 쓰지 못한다.
Hydra는 이를 개선하여 sequentially-dependent draft heads를 제안한다.
즉,
Head 1 predicts token 1
Head 2 predicts token 2 conditioned on token 1
Head 3 predicts token 3 conditioned on token 1, token 2
에 가깝게 만든다.
결과적으로 Medusa보다 draft accuracy와 acceptance rate가 올라간다. Hydra++는 Medusa 대비 최대 1.31×, autoregressive decoding 대비 최대 2.70× throughput 향상을 보고한다.
10.3 EAGLE: token이 아니라 feature를 예측
EAGLE은 speculative decoding에서 매우 중요한 계열이다.
기존 방식:
Draft model → token 예측
Target model → token 검증
EAGLE 방식:
Draft module → target LLM의 intermediate feature 예측
Feature → LM head → token 후보 생성
Target model → 검증
핵심 아이디어는 토큰 분포를 직접 맞히는 것보다, target model의 feature trajectory를 예측하는 것이 더 쉽다는 것이다.
특히 EAGLE은 target LLM의 second-to-top-layer feature를 extrapolate한다. 그리고 한 step 앞선 token sequence를 같이 사용해 feature uncertainty를 줄인다.
장점:
- 별도 full draft LM보다 가볍다.
- target model과 feature space를 공유하므로 acceptance rate가 높다.
- target distribution 보존을 목표로 설계되어 speculative sampling과 잘 맞는다.
EAGLE 이후에는 EAGLE-2, EAGLE-3로 발전했다. EAGLE-3는 feature prediction 제약을 완화하고, multi-layer feature fusion과 direct token prediction 쪽으로 이동한 변형이다.
10.4 ReDrafter: RNN 기반 draft model
ReDrafter는 Apple 계열 연구로, target LLM의 hidden state를 입력으로 받아 RNN drafter가 여러 토큰을 생성한다.
구조:
Target LLM hidden state
↓
RNN drafter
↓
draft token sequence
↓
target LLM verification
기존 작은 LM draft와 다른 점은, 독립된 작은 LM이 아니라 target LLM의 hidden state에 조건화된 recurrent draft module을 쓴다는 것이다.
ReDrafter의 핵심 요소:
- RNN drafter
- target hidden state를 받아 continuation을 recurrent하게 생성.
- Beam search 기반 후보 생성
- 여러 draft 후보를 만든다.
- Dynamic tree attention
- beam 후보들의 중복 prefix를 제거하고 효율적으로 검증.
- Knowledge distillation
- target LLM으로부터 drafter를 학습.
논문은 Vicuna + MT-Bench에서 H100 PyTorch 기준 최대 2.8×, Apple Silicon Metal GPU 환경에서 최대 2.3× speedup을 보고한다.
10.5 Lookahead Decoding: draft model 없이 병렬 n-gram 생성
Lookahead decoding은 조금 다르다.
별도 draft model도 없고, auxiliary head도 없다.
핵심은 target LLM 자체를 이용해 여러 n-gram 후보를 병렬적으로 만들고 검증하는 것이다.
개념적으로는 다음과 같다.
Lookahead branch:
여러 n-gram 후보를 병렬 생성
Verification branch:
그 n-gram들이 현재 prefix에 이어질 수 있는지 검증
Lookahead decoding은 Jacobi iteration 관점에서 autoregressive dependency를 완화한다. 논문은 draft model이나 datastore 없이 동작하는 exact parallel decoding algorithm이라고 설명하며, MT-Bench에서 최대 1.8×, multi-GPU code completion에서 최대 4× speedup을 보고한다.
장점:
- 별도 draft model 불필요.
- 추가 학습 불필요.
- target model 분포 보존.
단점:
- 계산량이 늘어날 수 있다.
- speedup은 workload, GPU 병렬성, sequence 특성에 크게 의존한다.
10.6 Self-speculative decoding / early-exit 계열
또 다른 방향은 target model의 얕은 layer를 draft model처럼 사용하는 것이다.
예를 들어 32-layer LLM이 있다면:
Layer 1~16 → draft prediction
Layer 1~32 → verification
즉, 같은 모델 안에서 shallow layer가 먼저 후보를 만들고, full layer가 검증한다.
장점:
- 별도 draft model이 필요 없다.
- 모델 하나만 배포하면 된다.
- memory footprint가 작다.
단점:
- shallow layer의 예측 품질이 충분히 좋아야 한다.
- layer skipping 구조나 early-exit head가 필요할 수 있다.
- target model architecture에 따라 구현 난이도가 다르다.
8.7 Serving system 적용: vLLM, TensorRT-LLM, SGLang
최근 speculative decoding은 논문 수준을 넘어 실제 inference serving stack에 들어가고 있다.
예를 들어 vLLM은 speculative decoding 방식으로 draft model, EAGLE, MTP, n-gram, suffix decoding, MLP speculator 등을 지원한다.
TensorRT-LLM도 speculative sampling 문서에서 작은 draft model 방식, Medusa, ReDrafter 등 여러 방식을 다룬다.
실제 시스템에서는 단순히 알고리즘만 좋아서는 안 되고 다음 요소가 중요하다.
| 요소 | 의미 |
|---|---|
| Acceptance rate | draft token이 target에 의해 수락되는 비율 |
| Draft latency | draft 생성 자체의 비용 |
| Verification batching | target model이 후보들을 얼마나 효율적으로 검증하는지 |
| KV cache reuse | accepted/rejected token 처리 시 cache 낭비를 줄이는지 |
| Continuous batching compatibility | 여러 사용자 요청을 동시에 처리할 때 효율이 유지되는지 |
| Sampling compatibility | greedy뿐 아니라 temperature/top-p에서도 잘 동작하는지 |
방법별 비교
| 방법 | Draft 생성 방식 | 추가 모델 필요 | 추가 학습 | 장점 | 약점 |
|---|---|---|---|---|---|
| Classic speculative decoding | 작은 LM | 필요 | 보통 필요 | 이론적으로 깔끔함 | 좋은 draft model 필요 |
| Medusa | multi-head | 불필요 | 필요 | 배포 간단, 빠름 | head 학습 필요 |
| Hydra | dependent multi-head | 불필요 | 필요 | Medusa보다 높은 draft 품질 | 구조 복잡도 증가 |
| EAGLE | feature-level drafter | 가벼운 module | 필요 | 높은 acceptance rate | feature predictor 학습 필요 |
| ReDrafter | RNN drafter | 가벼운 module | 필요 | strong drafter, tree 검증 | 구현 복잡 |
| Lookahead | target LLM 자체 | 불필요 | 불필요 | training-free, draft-free | 병렬 계산 여유 필요 |
| Self-speculative | shallow layers | 불필요 | 경우에 따라 필요 | 단일 모델 배포 | layer별 예측 품질 의존 |
핵심 흐름 정리
Speculative decoding의 최근 발전은 다음 방향으로 이동하고 있다.
작은 draft LM 사용
↓
별도 draft model 제거
↓
LLM 내부 head 사용: Medusa, Hydra
↓
hidden feature 예측: EAGLE
↓
RNN/beam/tree 기반 강한 drafter: ReDrafter
↓
draft-free / self-speculative / serving-system 통합
연구적으로 가장 중요한 포인트는 acceptance rate와 draft cost의 trade-off이다.
따라서 최근 방법들은 모두 다음 목표를 가진다.
draft는 싸게 만들고, target model이 받아들일 확률은 높인다.
답글 남기기