추측 디코딩 (Speculative Decoding)

추측 디코딩 (Speculative Decoding)

큰 모델이 토큰을 한 개씩 생성하는 건 느려요. 추측 디코딩(Speculative Decoding) 은 작고 빠른 드래프트(draft) 모델이 여러 토큰을 미리 예측해 두고, 큰 타깃 모델이 그것을 한 번에 검증하는 방식으로 생성 속도를 높이는 기법이에요.

출처: https://docs.vllm.ai/en/latest/features/speculative_decoding.html

동작 방식

드래프트 모델이 짧은 토큰 시퀀스(가설)를 생성하면, 타깃 모델이 그 가설을 병렬로 검증해요. 드래프트가 맞으면 한 번에 여러 토큰을 확정하고, 틀리면 거기서부터 재시작합니다. 이 방식은 출력 품질(분포)을 유지하면서도 처리 속도를 크게 올릴 수 있어요.

vLLM에서 지원하는 스페큘레이터

vLLM 추측 디코딩은 다양한 스페큘레이터(speculator) 유형을 지원해요.

  • draft_model — 별도 드래프트 모델 사용
  • n_gram — n-gram 기반
  • eagle — EAGLE 계열
  • mlp, mtp, suffix, parallel_draft_model, adaptive_verification, dynamic_speculative_decoding

각 스페큘레이터의 상세 동작은 공식 문서의 서브페이지에서 확인할 수 있어요. 드래프트 모델의 수용률(acceptance rate)을 보려면 acceptance_metrics 문서를 참고하면 됩니다.

더 알아보기