추측 디코딩이 빠른 이유는 연산량을 줄여서가 아니라 GPU가 하는 작업의 종류를 바꿔서임
- 추측 디코딩은 일을 적게 해서 빨라지는 게 아니라 메모리 바운드 상태에서 남는 연산 자원을 쓰기 때문에 총 FLOPs는 오히려 늘어남
- 작은 초안 모델이 토큰 여러 개를 제안하면 큰 모델이 한 번의 순전파로 이를 병렬 검증해서 맞는 토큰만 받아들임
- 토큰을 하나씩 생성하는 디코딩은 매 토큰마다 Qwen3.5-27B 같은 모델의 활성 파라미터 전체를 메모리에서 읽어야 해서 메모리 바운드가 됨
- 배치 크기가 최적 토큰 수보다 작을 때는 추측 디코딩이 남는 연산으로 모든 시퀀스를 더 빨리 완료함
- 배치가 커져 연산 바운드가 되면 거부된 토큰이 순수한 낭비가 되므로 vLLM은 --speculative-disable-by-batch-size 옵션으로 고처리량 상황에서 추측 디코딩을 끌 수 있게 함