coredot.today
추측 디코딩 완전 정복 — EAGLE-3, SSD, 그리고 LLM 추론 가속의 최전선
블로그로 돌아가기
추측 디코딩Speculative DecodingEAGLE-3SSDMedusaLLM 추론vLLMSGLang

추측 디코딩 완전 정복 — EAGLE-3, SSD, 그리고 LLM 추론 가속의 최전선

LLM은 왜 느린가? 98%의 시간을 메모리 전송에 낭비하기 때문이다. 추측 디코딩은 '작은 모델이 초안을 쓰고 큰 모델이 한꺼번에 검증'하여 출력 품질 손실 없이 2~6배 속도를 달성한다. EAGLE-3, Mirror-SD, Saguaro까지 — 2026년 LLM 추론 가속의 모든 것.

코어닷투데이2025-12-2726

들어가며: 왜 LLM은 느린가 — 98%의 낭비

추측 디코딩: 작은 모델이 초안을 쓰고, 큰 모델이 검증한다

GPT-4에게 질문을 하면, 답이 한 글자씩 느릿느릿 나온다. 1,750억 개 파라미터의 거대한 모델이 왜 이렇게 느릴까? "컴퓨팅 파워가 부족해서"라고 생각하기 쉽지만, 실제 이유는 다르다.

A100 GPU에서 7B 모델의 토큰 하나를 생성할 때, 모델 가중치(14GB, FP16)를 메모리에서 읽는 데 ~7ms가 걸린다. 실제 행렬 연산은? ~0.1ms.전체 시간의 98%가 메모리 전송(memory bandwidth)에 소비되고, GPU의 연산 유닛은 대부분의 시간을 놀고 있다.

더 충격적인 사실: 토큰 1개를 처리하든 10개를 동시에 처리하든, 메모리에서 가중치를 읽는 비용은 거의 같다. 가중치를 한 번 읽어오면 여러 토큰의 연산을 동시에 처리할 수 있기 때문이다. 그런데 오토리그레시브 디코딩은 한 번에 토큰 1개씩만 생성한다 — 매번 전체 모델을 다시 읽으면서.

핵심
LLM 디코딩의 근본 문제: GPU의 산술 집약도(arithmetic intensity)가 ~1로, 최적 효율 지점(~30-150)에 한참 못 미친다. 메모리 대역폭이 병목이지 연산 능력이 병목이 아니다. 토큰 K개를 동시에 처리해도 비용이 거의 같은데, 한 번에 1개만 만들고 있다.

추측 디코딩(Speculative Decoding)은 이 낭비를 공략한다. "빠르고 작은 모델이 K개의 토큰 초안을 쓰고, 크고 정확한 모델이 K개를 한꺼번에 검증한다." 검증 비용이 1개 토큰 생성과 거의 같으니, 초안이 많이 맞으면 속도가 K배에 가까워진다. 그것도 출력 품질 손실 없이.


제1장: 추측 디코딩의 탄생 (2022~2023)

두 편의 논문이 동시에

2022년 말~2023년 초, 두 팀이 거의 동시에 같은 아이디어를 발표했다:

  • Leviathan et al. (Google Research)"Fast Inference from Transformers via Speculative Decoding" (ICML 2023)
  • Chen et al. (DeepMind)"Accelerating Large Language Model Decoding with Speculative Sampling" (2023)

핵심 알고리즘: 초안 → 검증 → 수정

추측 디코딩 작동 과정
Step 1: 초안 작성 작은 드래프트 모델 $M_q$가 K개 토큰을 빠르게 생성 (오토리그레시브)
Step 2: 병렬 검증 큰 타겟 모델 $M_p$가 K개 토큰을 한 번의 포워드 패스로 동시 검증
Step 3: 수정 기각 샘플링 왼쪽부터 순서대로: 수락(타겟과 일치) 또는 기각(보정 분포에서 재샘플링). 기각 시점 이후 초안은 폐기.

비유하면: 신입 작가가 초고를 쓰고, 편집장이 한꺼번에 검토한다. 편집장이 빨간 펜으로 수정하는 시점부터 나머지는 버리고, 편집장이 직접 한 문장을 쓴다. 편집장 혼자 처음부터 쓰는 것보다 훨씬 빠르다 — 특히 신입 작가가 꽤 잘 쓸 때.

수학적 보장: 출력이 완전히 동일하다

추측 디코딩의 가장 놀라운 성질: 출력 분포가 타겟 모델 단독 사용과 수학적으로 동일하다. 근사가 아니라 정확히 같다.

기각 샘플링의 핵심:

α(x)=min(1,p(x)q(x))\alpha(x) = \min\left(1, \frac{p(x)}{q(x)}\right)

드래프트 토큰 xx의 수락 확률은 타겟 확률 p(x)p(x)와 드래프트 확률 q(x)q(x)의 비율로 결정된다. 기각 시 보정 분포 p(x)=norm(max(0,p(x)q(x)))p'(x) = \text{norm}(\max(0, p(x) - q(x)))에서 재샘플링한다.

이 과정을 거치면:

P(output=x)=q(x)α(x)+βp(x)=p(x)P(\text{output} = x) = q(x) \cdot \alpha(x) + \beta \cdot p'(x) = p(x)

최악의 경우(모든 초안 기각)에도 타겟 모델이 1개 토큰을 직접 생성하므로, 표준 디코딩보다 느려지지 않는다. 평균적으로는 K개 중 일부가 수락되어 가속이 발생한다.

초기 결과

논문모델속도 향상
Leviathan et al.T5-XXL2~3배
Chen et al.Chinchilla 70B2~2.5배

온도와 수락률의 관계

중요한 실무 포인트: 탐욕적 디코딩(temperature=0)에서 수락률이 가장 높다. 두 모델 모두 같은 최고 확률 토큰을 선택하기 때문이다. 온도가 높아지면 분포가 넓어지며 드래프트와 타겟의 불일치가 커져 수락률이 떨어진다.


제2장: EAGLE 시리즈 — 산업 표준의 탄생

EAGLE-1: "토큰이 아니라 피처를 예측하자" (ICML 2024)

기존 추측 디코딩의 한계: 드래프트 모델이 토큰 수준에서 예측한다. 토큰 시퀀스는 이산적이고 노이즈가 많아 예측이 어렵다.

EAGLE-1(Li et al.)의 통찰: 피처 수준(LM 헤드 직전의 히든 스테이트)에서 오토리그레시브 예측이 훨씬 더 규칙적이다.

아키텍처: 타겟 모델의 두 번째 최상위 레이어 피처를 입력으로 받아 다음 피처를 예측하는 경량 헤드. 예측된 피처에 원래 LLM의 LM 헤드를 적용하여 드래프트 토큰을 얻는다.

성능: 2.5~3.5배 속도 향상.

EAGLE-2: 동적 드래프트 트리 (EMNLP 2024)

EAGLE-1은 고정 크기의 드래프트 트리를 사용했다. "10+2="처럼 쉬운 예측에도, "양자역학에서..."처럼 어려운 예측에도 같은 크기의 트리를 생성했다.

EAGLE-2의 혁신: 드래프트 모델의 신뢰도 점수가 수락률을 잘 근사한다는 발견을 활용하여, 문맥에 따라 트리 크기를 동적으로 조절한다. 쉬운 예측에는 작은 트리, 어려운 예측에는 큰 트리.

성능: 3.05~4.26배. 멀티턴 대화에서 ~4.26배, 코드 생성에서 최대 5배.

EAGLE-3: 다층 피처 융합 + Training-Time Test (NeurIPS 2025)

EAGLE-3는 아키텍처를 근본적으로 재설계했다.

EAGLE-1/2

피처 수준 예측 (간접)
최상위 레이어 피처만 사용
학습 데이터 증가 효과 제한적
수락률: 위치 증가 시 하락

EAGLE-3

직접 토큰 예측으로 복귀
3개 레이어(저/중/고) 피처 융합
학습 데이터 ↑ → 속도 ↑ (스케일링 법칙 발견)
수락률: ~70-80%로 거의 일정

다층 피처 융합: Llama-3.1-8B(히든 차원 4096) 기준, 저/중/고 레이어에서 각 4096차원 피처를 추출하여 12,288차원으로 결합 후, FC 레이어로 4096차원으로 압축한다.

Training-Time Test: 학습 중 다단계 생성을 시뮬레이션한다. 드래프트 모델의 출력을 다시 입력으로 넣어, 자기 출력 분포에 적응하게 한다. 이를 통해 수락률이 위치에 관계없이 ~70-80%로 거의 일정하게 유지된다.

성능:

EAGLE 시리즈 속도 향상 비교 (Vicuna-13B 기준)
EAGLE-1
~3.0x
EAGLE-2
~4.0x
EAGLE-3
~5.5x (평균) 최대 6.47x

EAGLE-3는 현재 vLLM, SGLang, TensorRT-LLM, Google Vertex AI에서 지원되며, 사실상 산업 표준으로 자리 잡았다.


제3장: 자기 추측 디코딩(SSD) — 드래프트 모델 없이

핵심 아이디어: "나 자신이 드래프트"

별도의 드래프트 모델을 유지하는 것은 부담이다. 추가 모델 로딩, 메모리, 관리 비용이 든다. 자기 추측 디코딩(Self-Speculative Decoding)은 같은 모델을 드래프트와 검증 모두에 사용한다.

LayerSkip (Meta, ACL 2024)

Meta의 접근법: 학습 시 레이어 드롭아웃을 적용하고, 모든 레이어에 걸쳐 조기 종료 손실(early exit loss)을 공유한다. 추론 시:

초안 단계: 앞쪽 레이어만 사용 (조기 종료)
검증 단계: 전체 레이어 사용

앞쪽 레이어만 사용하면 빠르지만 부정확하고, 전체 레이어를 사용하면 정확하지만 느리다. 초안 단계에서 빠르게 K개를 생성하고, 검증 단계에서 전체 모델로 한꺼번에 확인한다.

성능: CNN/DM 요약에서 2.16배, 코딩에서 1.82배, 시맨틱 파싱에서 2.0배.

CLaSp (ACL 2025): 동적 레이어 스킵

CLaSp는 입력에 따라 어떤 레이어를 건너뛸지 실시간으로 결정한다. 기존 방법이 고정된 레이어를 건너뛴 반면, CLaSp는 문맥에 따라 동적으로 조절한다. 재학습 불필요.

자기 추측 디코딩의 장단점

장점

추가 모델 불필요 (메모리 절약)
모델 호환성 문제 없음
배포 단순화

단점

속도 향상 상대적으로 낮음 (1.3~2.5배)
학습 시 특수 기법 필요 (LayerSkip)
레이어 스킵의 품질 보장 한계

제4장: 추측 디코딩 동물원 — 다양한 변형들

Medusa: 머리를 여러 개 달자 (ICML 2024)

Medusa는 LLM에 추가 디코딩 헤드를 달아 여러 미래 토큰을 동시에 예측한다. 별도의 드래프트 모델이 아니라 원래 모델에 작은 헤드만 추가하는 것이다.

  • Medusa-1: 원래 모델 가중치 고정, 헤드만 학습. ~2.2배. 품질 손실 없음.
  • Medusa-2: 헤드와 백본을 함께 파인튜닝. 2.3~3.6배.

SEQUOIA: 최적 트리 구조 (NeurIPS 2024 Spotlight)

드래프트 토큰을 트리 구조로 배치하여, 동적 프로그래밍으로 최적 트리 형태를 찾는다. 하드웨어 특성에 맞춰 자동으로 트리 크기/깊이를 조절한다.

성능: Llama2-7B에서 최대 4.04배, 오프로딩 시나리오에서 9.5배.

REST: 검색 기반 (NAACL 2024)

드래프트 모델 대신 데이터스토어에서 검색한다. 현재 컨텍스트의 가장 긴 접미사와 일치하는 연속 토큰을 찾아 초안으로 사용한다. 추가 학습 불필요, 플러그앤플레이.

N-gram / 프롬프트 룩업 디코딩

가장 단순한 변형: 이전 출력이나 입력 프롬프트에서 같은 n-gram이 나타나면 그 뒤의 토큰을 초안으로 사용. 모델도, 학습도, 데이터스토어도 필요 없다.

vLLM에서 speculative_model="[ngram]", HuggingFace에서 prompt_lookup_num_tokens=10으로 바로 사용 가능. 요약, 문서 QA, 멀티턴 채팅, 코드 편집에서 2~4배 속도 향상.

방법 비교표

추측 디코딩 주요 방법 비교 (2026년 기준)
방법발표드래프트 소스속도 향상학습 필요?
기본 추측 디코딩2023별도 작은 모델2~3x아니오
EAGLE-32025다층 피처 융합 헤드4~6.5x헤드만
Medusa-22024다중 디코딩 헤드2.3~3.6x헤드+백본
SEQUOIA2024최적 트리 + 임의 드래프터~9.5x (오프로딩)아니오
LayerSkip2024조기 종료 (동일 모델)1.8~2.2x레이어 드롭아웃
REST2024검색 데이터스토어1.6~2.4x아니오
N-gram 룩업2024입력/출력 텍스트 매칭2~4x*아니오
Mirror-SD (Apple)2025이기종 병렬2.8~5.8x
Saguaro2026병렬 추측+검증~5x아니오

*N-gram은 입력 기반 과제에서 가장 효과적


제5장: 2025~2026년 최전선 — 추측의 추측

Mirror Speculative Decoding (Apple, 2025)

Apple의 혁신적 아이디어: 드래프트와 타겟이 서로를 위해 동시에 추측한다.

기존 추측 디코딩에서 타겟 모델은 드래프트를 기다려야 하고, 드래프트는 검증 결과를 기다려야 한다. Mirror-SD는 이 대기 시간을 없앤다:

  • 드래프트 모델이 미래 토큰을 추측하는 동안, 타겟 모델은 드래프트가 틀렸을 경우의 보정 경로를 동시에 추측
  • 이기종 하드웨어에 배치: 타겟은 8개 M2 Ultra GPU, 드래프트는 8개 NPU

성능: 14B~66B 모델에서 2.8~5.8배. EAGLE-3 대비 평균 30% 추가 향상.

Saguaro / "추측의 추측" (ICLR 2026)

가장 최신의 접근법. 아이디어: 검증이 진행되는 동안 드래프트 모델이 검증 결과를 예측하고, 미리 다음 추측을 준비한다.

  • 검증 결과의 "보너스 토큰"을 90% 정확도로 예측
  • 예측이 맞으면 드래프팅 오버헤드가 완전히 제거
  • PagedAttention, 연속 배칭, 텐서 병렬화, torch.compile, CUDAGraphs 통합

성능: 최적화된 추측 디코딩 대비 2배, 오토리그레시브 대비 5배.

PEARL: 병렬 추측 디코딩 (ICLR 2025)

드래프트와 검증의 상호 대기(mutual waiting) 문제를 해결:

  • Pre-verify: 드래프팅 중에 첫 번째 토큰을 미리 검증
  • Post-verify: 검증 중에 추가 드래프트 토큰을 생성

성능: Llama 2 70B에서 기존 추측 디코딩 대비 1.5배, 오토리그레시브 대비 4.43배.

추론 모델을 위한 추측 디코딩

OpenAI o1, DeepSeek-R1 같은 추론 모델은 32K~65K 토큰의 초장문 Chain-of-Thought를 생성한다. 추론 가속이 가장 절실한 곳이다.

DeepSeek-R1의 접근: 학습 시 내장된 MTP(Multi-Token Prediction) 모듈을 드래프트 모델로 재활용. 추가 학습 없이 1.3~1.4배 처리량 향상. Together.ai는 커스텀 스펙큘레이터로 추가 1.23~1.45배 향상을 보여줬다.

Speculative Chain-of-Thought (2025): 토큰 수준이 아니라 추론 단계(reasoning step) 수준에서 추측한다. 의미적으로 정확하면 단어가 정확히 일치하지 않아도 수락하는 새로운 패러다임.


제6장: 프로덕션 배포 — 실전 가이드

프레임워크 지원 현황 (2026년)

프레임워크지원 방법
vLLMEAGLE-3, Medusa, N-gram, 드래프트 모델, P-EAGLE(병렬)
SGLangEAGLE-3(주력), MTP, SpecForge 통합
TensorRT-LLMEAGLE, 드래프트 모델, Medusa, Lookahead
HuggingFaceAssisted generation, Prompt lookup
Google Vertex AIEAGLE-3 프로덕션 배포

SpecForge + SpecBundle: 산업용 도구 체인

LMSYS/SGLang 팀이 개발한 SpecForge는 EAGLE-3 학습을 위한 오픈소스 프레임워크다. Qwen3-235B-A22B에서 기존 대비 9.9배 빠른 EAGLE-3 학습을 달성했다.

SpecBundle은 주요 오픈소스 LLM용 사전학습된 EAGLE-3 드래프트 모델 모음이다. SGLang에서 최대 4.48배 엔드투엔드 추론 가속을 제공한다.

실전 주의사항

주의
배치 크기에 따른 효과 감소: 추측 디코딩은 배치 1~4에서 가장 효과적이다 (2~6배). 배치 8에서는 1.3~1.6배, 배치 32 이상에서는 효과가 거의 없다. 높은 배치에서 GPU가 연산 바운드로 전환되기 때문이다. 고처리량 서빙보다는 저지연 서빙에 가장 적합하다.

KV 캐시 오버헤드: 추측 디코딩은 드래프트 토큰의 KV 캐시를 추가로 유지해야 한다. 배치 크기와 드래프트 길이에 비례하여 메모리가 증가하며, vLLM은 GPU OOM 문제로 배치 확장(batch expansion) 방식을 폐기했다.

Ragged 텐서 문제: 다른 시퀀스가 다른 수의 토큰을 수락하여 배치 내 길이가 불균일해지는 문제. 올바른 배치 처리에 최대 40%의 연산이 재정렬에 소모될 수 있다.

실무 추천

어떤 방법을 쓸 것인가?
학습 가능 → EAGLE-3
(4~6.5x, 산업 표준)
학습 불가 → N-gram 룩업
(입력 기반 과제에서 2~4x)
이기종 하드웨어 → Mirror-SD
(2.8~5.8x)
추론 모델 → MTP 재활용
(DeepSeek-R1 등)

제7장: 추측 디코딩의 미래

"추론 가속"에서 "추론 패러다임"으로

추측 디코딩은 단순한 속도 트릭에서 LLM 추론의 핵심 패러다임으로 진화하고 있다.

월드 모델 + 추측 디코딩: K-EXAONE의 MTP(Multi-Token Prediction)가 추론 처리량을 1.5배 높인 것처럼, 월드 모델이나 에이전트 시스템에서 "다음 행동 예측"을 추측 디코딩으로 가속할 수 있다.

추론 모델의 필수 기술: o1, DeepSeek-R1이 생성하는 초장문 Chain-of-Thought에서 추측 디코딩은 선택이 아니라 필수다. 65K 토큰을 생성하는 데 추측 디코딩 없이 수 분, 있으면 수십 초.

스케일링 법칙의 발견: EAGLE-3가 발견한 "학습 데이터 ↑ → 속도 ↑"의 스케일링 법칙은, 추측 디코딩도 LLM처럼 규모의 경제를 따른다는 것을 시사한다.


맺으며: 98%의 낭비를 공략하는 기술

LLM 디코딩의 98%가 메모리 전송에 낭비되고 있다. 추측 디코딩은 이 구조적 비효율을 공략하여, 출력 품질 손실 없이 2~6배의 속도 향상을 달성한다.

2023년 두 편의 논문에서 시작된 이 아이디어는, 3년 만에 EAGLE-3(6.47배), Mirror-SD(5.8배), Saguaro(5배)로 진화하며 산업 표준이 되었다. vLLM, SGLang, TensorRT-LLM 모든 주요 서빙 프레임워크가 이를 지원하고, Google Vertex AI가 프로덕션에 배포하고 있다.

핵심 교훈: AI 가속의 가장 큰 기회는 "더 강한 하드웨어"가 아니라, "이미 있는 하드웨어를 덜 낭비하는 것"에 있다. 추측 디코딩은 GPU의 놀고 있는 연산 능력을 활용하여, 추가 하드웨어 없이 속도를 수 배 높인다. 이것이 2026년 LLM 서빙의 가장 실용적인 가속 기술인 이유다.


참고 논문:

  • Leviathan et al. "Fast Inference from Transformers via Speculative Decoding." ICML 2023. arXiv:2211.17192
  • Li et al. "EAGLE-3: Scaling up Inference Acceleration via Training-Time Test." NeurIPS 2025. arXiv:2503.01840
  • Kumar, Dao, May. "Speculative Speculative Decoding (Saguaro)." ICLR 2026. arXiv:2603.03251

코드: github.com/SafeAILab/EAGLE | github.com/sgl-project/SpecForge