본문 바로가기
AI2026년 5월 18일5분 읽기

Speculative Decoding 프로덕션 — LLM 추론 2배 빠르게 만드는 법

YS
김영삼
조회 174
Speculative Decoding 프로덕션 — LLM 추론 2배 빠르게 만드는 법

핵심 요약

Speculative decoding은 작은 draft 모델로 여러 토큰을 미리 추측하고, 큰 target 모델이 한 번에 검증해 받아들이는 방식. 2026년 5월 기준 vLLM 0.8과 TGI 3.2 모두 EAGLE-2와 n-gram을 안정 지원하며, 70B급 모델에서 1.8~2.4배 처리량 향상을 일관되게 본다. 단, accept rate가 낮은 도메인(코드 생성, 비영어)에서는 오히려 느려진다.

1. 왜 빠른가 — 메모리 바운드의 함정

디코딩은 GPU 연산보다 KV 캐시 메모리 대역폭에 묶여 있다. H100에서 Llama 70B 1토큰 디코딩이 약 12ms인데, 그 중 연산 자체는 3ms도 안 된다. 나머지는 가중치를 HBM에서 읽는 시간. Speculative는 이 한 번의 읽기로 4~6개 토큰을 동시에 검증해서 메모리 트래픽을 분할상환한다.

2. 세 가지 접근 — n-gram vs Medusa vs EAGLE

n-gram은 프롬프트와 직전 출력에서 그대로 복사. 코드, 긴 인용, 번역 후처리에 압도적. Medusa는 target 모델에 보조 헤드 여러 개를 붙여 동시 예측. EAGLE-2는 별도 경량 draft가 hidden state까지 활용해 accept rate가 가장 높다.

3. 실측 — Llama 3.1 70B FP8, H100 8장

방식토큰/초p50 TTFTp99 ITLAccept Rate
기본2,140180ms14ms-
n-gram (k=5)3,210185ms11ms0.42
Medusa-23,580195ms10ms0.58
EAGLE-24,920210ms8ms0.74

4. vLLM 설정 — 한 줄로 켜기

# EAGLE-2 draft 모델 사용
vllm serve meta-llama/Llama-3.1-70B-Instruct \
  --speculative-model yuhuili/EAGLE-LLaMA3.1-Instruct-70B \
  --num-speculative-tokens 5 \
  --speculative-draft-tensor-parallel-size 1 \
  --tensor-parallel-size 8

5. n-gram만으로 충분한 경우

vllm serve meta-llama/Llama-3.1-70B-Instruct \
  --speculative-model "[ngram]" \
  --ngram-prompt-lookup-max 4 \
  --num-speculative-tokens 5

요약, 번역, JSON 추출처럼 출력이 입력 어휘를 많이 재사용하는 워크로드에서 1.5~1.8배. 무료다.

6. Accept Rate 모니터링

vllm:spec_decode_num_accepted_tokens_total
vllm:spec_decode_num_draft_tokens_total

# Grafana 식
rate(vllm:spec_decode_num_accepted_tokens_total[5m])
  / rate(vllm:spec_decode_num_draft_tokens_total[5m])

0.4 미만이 1시간 지속되면 draft 모델을 도메인 파인튜닝하거나 끄는 결정.

7. 배치 크기와의 충돌

batch 64 이상에서는 GPU가 이미 연산 바운드라 speculative 이득이 급감. EAGLE-2조차 batch 128에서는 1.2배까지 떨어진다. 트래픽이 많은 서비스라면 batch를 줄여 동시성보다 토큰/초를 최적화하는 재설계가 필요.

8. 운영 함정

첫째, draft 모델 VRAM. 70B target에 1.5B draft를 붙이면 GPU당 약 3GB 추가. 둘째, 결정론. 같은 입력에 같은 출력 보장이 깨질 수 있어 temperature 0 테스트가 어긋난다. 셋째, structured output. JSON 강제 디코딩과 같이 쓰면 grammar 위반 토큰이 자주 reject돼 accept rate 0.1 수준으로 추락. 별도 풀로 분리할 것.

9. 의사결정 가이드

QPS 낮고 지연 민감, 70B 이상이면 EAGLE-2가 거의 항상 정답. QPS 높고 batch 큰 채팅은 n-gram 우선. 30B 이하 모델은 메모리 바운드 정도가 약해서 이득이 1.3배 내외. 굳이 도입할 필요 없다.

참고

  • arxiv.org/abs/2401.15077 (EAGLE)
  • docs.vllm.ai/en/latest/features/spec_decode.html
  • github.com/SafeAILab/EAGLE

댓글 0

아직 댓글이 없습니다.
Ctrl+Enter로 등록