추측 디코딩 (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 문서를 참고하면 됩니다.