콘텐츠로 이동

한국어 디코딩이 54% 빨라졌습니다 — MTP 헤드의 드래프트 어휘사전

노트 · 측정

한국어 디코딩이 54% 빨라졌습니다 — MTP 헤드의 드래프트 어휘사전

한국어 프롬프트에서 16.9 → 26.1 tok/s, 별도 드래프터가 아니라 MTP 헤드 자신의 어휘사전 65k 파일로

2026-10-07

드래프터 모델을 붙이는 방법(같은 31B 모델이 두 배 빨라졌습니다)과는 다른, 따로 측정한 방법입니다. MTP 헤드 자신의 드래프트 어휘사전입니다. 추측 디코딩은 드래프트 헤드의 출력 투영을 빈도 상위 어휘 부분집합으로만 계산하고, 검증은 본 모델이 전체 어휘로 하므로 출력은 그대로입니다. 지금 배포되는 부분집합은 영어와 코드 기준이라 한국어 토큰이 빠지고, 한국어 드래프트는 거절되어 디코딩이 느려집니다. MiaAI-Lab이 이미 일곱 언어로 이 파일을 배포하는데 한국어가 없어서 저희가 만들었습니다.

기본 en+code 어휘 + 한국어 65k 파일
디코딩, 한국어 고정 프롬프트 20개, 3회 반복 중앙값 16.9 tok/s 26.1 tok/s (+54%)
드래프트당 수락 토큰 1.33 2.16
품질(대체 문자 U+FFFD, 한국어 스크립트 검증, veneta-bench 12개 기억 능력 문항) — 전부 이상 없음

Qwen3.8-Flash-Next(nvidia/Qwen3.8-Flash-Next-NVFP4), DGX Spark 1대, vLLM(MiaAI-Lab 키트), MTP k=3. 어휘사전 파일, 빌드 스크립트, 모든 측정 원본 파일을 Apache-2.0으로 공개했습니다: 깃허브 · 허깅페이스.

지금 바로 쓸 수 있는 건 Qwen3.8-Flash-Next 하나뿐입니다. EXAONE 4.5와 GLM 5.3 Flash는 같은 방식(파일이 아니라 엔진 패치)이 필요하다는 게 코드로 확인됐습니다. 그 패치는 vLLM에 올려 심사 중입니다(PR #60387). 앞서 적었던 Llama 3.1 8B + EAGLE-1, EXAONE 4.5 수치는 재측정 전까지 철회합니다. 심사자가 패치 코드 경로가 설정 플래그가 켜져 있을 때만 실행된다는 점을 지적했는데, 저희 측정 기록에 그 플래그를 켰다는 근거가 없어 그 수치를 패치의 효과로 볼 수 없습니다. 플래그를 켜고 끈 두 조건으로 다시 재서, 결과가 어느 쪽이든 런 파일과 함께 공개하겠습니다. DeepSeek V4(.1)는 다른 문제로 드러났습니다. 저희 방식이 아니라 자체 드래프팅 메커니즘(“DSpark”)을 쓰고 있어서, Gemma 4처럼 별도 조사 대상입니다. 엔진은 지금 vLLM만이고, 올라마·LM Studio·SGLang 지원은 개발 예정입니다. 한국어 다음은 아시아·아프리카·서구권 다른 언어들도 같은 방식으로 계획 중입니다.

먼저 한 사람들이 있습니다. 드래프터 어휘를 줄이는 아이디어 자체는 저희가 처음이 아닙니다. vLLM 이슈 #58578(akapug, 저희보다 먼저)과 PR #59740(stecasta, “Context Aware Sparse LM Head”, 더 정교한 구현, 같은 모델·장비로 측정)이 먼저 있었습니다. 그 PR의 숫자(+15.2%/+22.6%)는 저희 +54%와 다른데, 이유는 아직 확인하지 않았습니다. 저희 작업은 그 PR이 다루지 않는 모델군을 더 단순한 방식으로 해결하고 있습니다. 자세한 내용은 저장소에 있습니다.

관련 글: 같은 31B 모델이 두 배 빨라졌습니다 · 로컬 LLM 고르기