손실 없는 추측 디코딩 — 설계와 보장
손실 없는 추측 디코딩
'추측 디코딩이 출력 품질을 망치면 어쩌지?'라는 걱정이 자연스러워요. vLLM은 이를 **lossless(손실 없음)**로 보장해요. 즉 더 빨라지되, 제대로 된 target 모델이 직접 생성한 것과 동일한 분포를 유지한다는 거예요.
손실 없는 보장의 세 축
- 이론적 무손실: Fixed-length 추측 디코딩 샘플링은 하드웨어 수치 정밀도 한계 내에서 이론적으로 무손실이에요.
- 수락 검증: draft 모델 제안을 target 모델이 검증하고, 일부만 수락돼도 전체 검증 방식이 분포를 보존해요.
- 거부 샘플링: draft 출력이 틀리면 패널티 없이 올바른 토큰으로 재샘플링해요.
설계 요소
- num_speculative_tokens: 한 스텝에 제안할 후보 토큰 수
- rejection_sample_method:
standard(기본) /synthetic/block - use_heterogeneous_vocab: draft·target이 서로 다른 토크나이저·어휘를 쓸 때 TLI(Token-Level Intersection)로 매핑
실제 이득이 있는 상황
중·저 QPS, 메모리 바운드, 긴 생성이 많은 환경에서 지연이 크게 줄어요. 반면 target이 대부분의 시간을 답변 생성에 쓰는 상황에선 이득이 제한적일 수 있어요.