본문으로 건너뛰기

[vllm] Draft Model 기반 Speculative Decoding 지원

PR 링크: vllm-project/vllm#24322 상태: Merged | 변경: +897/-115

들어가며

Speculative decoding의 가장 기본적인 형태는 소형 draft 모델이 후보 토큰을 빠르게 생성하고, 대형 target 모델이 이를 검증하는 것이다. 이 PR은 draft 모델 기반 speculative decoding을 vLLM V1 엔진에 공식적으로 통합하며, Eagle/MTP 등 모델 기반 방식의 기반 인프라를 구축한다.

핵심 코드 분석

Draft 모델 기반 spec decode의 핵심 구조는 다음과 같다:

  1. Draft 모델 로딩: target 모델과 동일한 GPU에 소형 모델을 추가 로딩
  2. 병렬 drafting: draft 모델이 N개의 후보 토큰을 autoregressive하게 생성
  3. Batch verification: target 모델이 N개 토큰을 한 번의 forward pass로 검증
  4. Acceptance sampling: 확률 비교를 통해 일치하는 토큰까지 수용

이 방식은 target 모델의 forward pass 횟수를 줄여서 throughput을 높인다. Draft 모델이 target과 비슷한 분포를 생성할수록 acceptance rate이 높아진다.

왜 이게 좋은가

  1. Throughput 향상: acceptance rate에 비례하여 토큰 생성 속도 향상 (일반적으로 2-3배)
  2. 출력 품질 보존: target 모델의 분포를 정확히 유지하므로 출력 품질 저하 없음
  3. 유연한 draft 모델 선택: HuggingFace Hub의 다양한 소형 모델 활용 가능
  4. 후속 최적화 기반: Unified Parallel Drafting(#32887), DFlash(#36847) 등의 기반

정리

Draft 모델 기반 speculative decoding은 LLM 추론 최적화의 핵심 기법이다. vLLM V1에서의 공식 지원으로 프로덕션 환경에서도 안정적으로 활용할 수 있게 되었다.

참고 자료


이 글은 AI(Claude)의 도움을 받아 작성되었습니다. 코드 분석 내용은 실제 PR diff를 기반으로 합니다.

댓글

관련 포스트

PR Analysis 의 다른글