답변 속도와 가속
추측 디코딩이란? 초안과 검증의 원리
싼 방법으로 먼저 제안하고, 비싼 메인 모델은 여러 후보를 한꺼번에 확인합니다.
쉽게 말하면
작고 빠른 조수가 답변 초안을 만들고, 큰 본 모델이 여러 단어를 한꺼번에 검사하는 방식입니다. 초안이 자주 맞으면 큰 모델이 한 단어씩 다시 계산하는 횟수가 줄어듭니다.
장비를 고를 때
작은 초안 모델을 함께 올릴 메모리가 필요할 수 있습니다. 남는 메모리가 적다면 n-gram 방식이나 기본 생성을 먼저 써보는 편이 낫습니다.
이 글에서 확인할 내용
- 초안 생성기와 타깃 모델 검증기라는 두 역할이 있습니다.
- 승인률과 초안 비용의 균형이 실제 속도를 결정합니다.
- 가속 방식이지 모델 품질을 높이는 방식은 아닙니다.
왜 초안을 먼저 만드나
큰 LLM은 답변을 토큰 단위로 하나씩 만듭니다. 여러 토큰을 묶어 계산하면 효율적이지만, 아직 만들지 않은 다음 토큰을 미리 알 수 없다는 문제가 있습니다.
추측 디코딩은 작고 빠른 방법으로 다음 토큰 후보를 먼저 만든 뒤, 큰 본 모델이 후보 묶음을 한꺼번에 검사합니다. 초안이 잘 맞을수록 본 모델이 반복해서 계산하는 횟수가 줄어듭니다.
초안을 만드는 방법은 세 가지가 대표적입니다
작은 별도 모델이 초안을 쓰는 방식, 본 모델 안의 MTP 기능을 쓰는 방식, 앞서 나온 문구를 찾는 n-gram 방식이 대표적입니다. 어떤 방법이든 본 모델의 확인을 거친다는 점은 같습니다.
작은 모델 방식은 여러 작업에 쓸 수 있지만 추가 메모리가 필요합니다. n-gram은 가볍지만 반복되는 문구가 적으면 후보를 거의 만들지 못합니다.

승인률만 높아도 충분하지 않습니다
초안 토큰이 많이 승인되면 타깃 모델의 순차 호출을 줄일 수 있습니다. 그러나 초안 자체가 느리거나 검증 배치가 하드웨어에 비효율적이면 높은 승인률에도 전체 지연이 줄지 않을 수 있습니다.
관찰할 값은 초당 토큰뿐 아니라 평균 승인 토큰 수, 초안 시간, 검증 시간과 메모리 증가입니다. 짧은 출력은 초기 비용 때문에 이득이 작을 수 있습니다.
초안을 그대로 답변에 붙이지 않습니다
정상적인 추측 디코딩은 본 모델이 맞다고 확인한 초안만 사용합니다. 틀린 부분은 버리고 본 모델의 결과로 이어 쓰기 때문에, 속도를 위해 작은 모델의 답을 그대로 섞는 방식이 아닙니다.
다만 두 모델이 문장을 나누는 방식이 다르거나 실행 프로그램에 문제가 있으면 출력이 달라질 수 있습니다. 중요한 작업에서는 기능을 끈 결과와 몇 가지 대표 질문으로 비교해 보세요.
무엇을 선택할까
추가 모델을 올릴 메모리가 있고 호환 초안 모델이 검증되어 있다면 draft model 방식을 고려할 수 있습니다. 코드를 고치거나 긴 원문을 다시 쓰는 작업은 추가 가중치가 없는 n-gram 방식이 더 단순합니다.
모델 자체에 MTP 헤드가 있고 런타임이 네이티브로 지원한다면 MTP가 자연스러운 선택입니다. 어느 방식이든 기본 디코드를 기준선으로 측정한 뒤 유지할 가치가 있는지 판단하세요.