로컬에서 LLM을 돌리다 보면 결국 속도의 벽을 만난다. 모델 크기를 키울수록 응답이 느려지고, 빠른 소형 모델로 타협하면 품질이 아쉽다. MTP(Multi-Token Prediction) 기반 Speculative Decoding은 이 딜레마를 꽤 영리하게 피해가는 방법이다. 품질은 그대로 두고 속도만 높이는 기법인데, 이제 LM Studio에서 UI 몇 번 클릭만으로 켤 수 있다.
LM Studio가 v0.3.10에서 Speculative Decoding을 정식 도입한 것은 2025년 2월이었다. 그로부터 1년여가 지난 지금, Gemma 4와 Qwen3 계열 모델이 각자의 방식으로 MTP를 지원하기 시작하면서 로컬 추론 환경이 한 단계 더 업그레이드됐다. 어떤 방식이고, 어떻게 세팅하며, 실제로 얼마나 빠른지 순서대로 짚어본다.
MTP가 속도를 높이는 원리
전통적인 LLM 추론은 토큰을 한 번에 하나씩 생성한다. 앞 토큰이 확정돼야 다음 토큰 계산이 시작되는 순차적 구조다. GPU를 최대로 활용하기 어렵고, 모델이 클수록 이 병목이 심해진다.
Speculative Decoding은 이 흐름을 바꾼다. 핵심 아이디어는 간단하다. 메인 모델이 직접 생성하는 대신, 먼저 빠른 “드래프터(drafter)”가 여러 토큰을 한꺼번에 초안으로 제시한다. 그러면 메인 모델은 그 초안들을 병렬로 검증하고, 맞는 것은 그대로 수락하고 틀린 것만 수정한다. 수락된 토큰은 사실상 공짜로 얻는 셈이다. 출력 분포는 메인 모델이 혼자 생성할 때와 수학적으로 동일하게 보장되기 때문에 품질 저하는 없다.
드래프터를 구현하는 방식이 두 가지다. 첫 번째는 외부 드래프트 모델 방식이다. 메인 모델(예: Llama 3.1 70B)과 별도의 소형 모델(예: Llama 3.1 8B)을 함께 로드해서 소형 모델이 초안을 낸다. 두 번째는 내장 MTP 헤드 방식이다. 모델 아키텍처 안에 추가 예측 레이어를 심어두고, 별도 모델 없이 자기 자신이 드래프터 역할을 한다. Qwen3.6이 대표적으로 이 방식을 채택했다.
흥미로운 점은 코딩 태스크에서 효과가 두드러진다는 것이다. 코드는 패턴이 예측 가능해서 드래프터의 수락률이 85~90%에 달한다. 반면 창작 글쓰기처럼 temperature를 높여 쓰는 작업은 수락률이 낮아서 효과가 제한적이다. 본인의 사용 패턴을 먼저 생각해보면 기대치를 조정하는 데 도움이 된다.
LM Studio 설치
LM Studio는 macOS(Apple Silicon 및 Intel), Windows 10/11, Linux(베타)를 지원한다. lmstudio.ai에서 운영체제에 맞는 설치 파일을 내려받으면 된다. 별도 의존성 설치 없이 실행되며, 첫 실행 시 간단한 온보딩 후 바로 모델 다운로드가 가능하다.
MTP 기능을 쓰려면 Power User 모드 이상으로 활성화해야 한다. 앱 설정(Preferences)에서 “Power User Mode”를 켜면 Chat UI와 모델 로드 화면에 Speculative Decoding 관련 옵션이 나타난다. 버전은 v0.3.10 이상이어야 한다. 최신 안정 버전인 v0.4.x를 권장한다.
Speculative Decoding 활성화하는 두 가지 방법
LM Studio에서 Speculative Decoding을 켜는 경로는 두 가지다. 어떤 모델을 쓰느냐에 따라 방법이 달라진다.
외부 드래프트 모델 사용(Classic Speculative Decoding)은 Llama 계열처럼 내장 MTP 헤드가 없는 일반 모델에 쓰는 방식이다. 메인 모델을 로드한 후 Chat 사이드바에 “Speculative Decoding” 섹션이 보이면, “Draft Model” 선택기에서 같은 계열의 소형 모델을 고른다. 같은 토크나이저를 공유하는 모델끼리 페어링하는 것이 수락률을 높이는 핵심이다. 예를 들어 Llama 3.1 70B를 쓴다면 드래프터로 Llama 3.1 8B 또는 Llama 3.2 1B를 고른다.
내장 MTP 헤드 사용(Native MTP)은 Qwen3.6이나 Gemma 4의 MTP 변형 모델처럼 모델 자체에 MTP 헤드가 포함된 경우다. 모델 로드 시 “고급 모델 로드 설정(Advanced Model Load Settings)”을 열고 “MTP Speculative Decoding” 옵션을 활성화하면 된다. 별도 드래프트 모델이 필요 없으므로 VRAM 부담이 훨씬 적다.
어느 방식이든 OpenAI 호환 REST API를 통해서도 동일하게 활용할 수 있다. 로컬 서버로 LM Studio를 띄워두고 다른 도구에서 API 형태로 붙어 쓰는 경우에도 MTP 설정이 그대로 적용된다.
Qwen3.6과 Gemma 4: 어떻게 다른가
두 모델 모두 MTP를 지원하지만 접근 방식이 다르고, LM Studio에서의 현재 지원 상태도 다르다. 먼저 각 모델의 특징을 보자.
내장 MTP 헤드 방식 — 별도 드래프트 모델 불필요. MTP GGUF 파일 하나로 끝난다.
지원 모델:
- Qwen3.6-27B — Dense 모델, MTP 효과 가장 뚜렷
- Qwen3.6-35B-A3B — MoE(혼합 전문가) 모델, VRAM 효율 높음
- Qwen2.5 계열 — MTP 미지원 (내장 헤드 없음)
GGUF 파일 크기가 일반 Qwen3.6 GGUF보다 약 1GB 크다. MTP 헤드가 포함돼 있기 때문이다. Hugging Face에서 unsloth/Qwen3.6-27B-MTP-GGUF 또는 froggeric/Qwen3.6-27B-MTP-GGUF를 검색해 내려받는다.
Qwen3.6 MTP 세팅 단계별 가이드
Qwen3.6은 현재 LM Studio에서 MTP를 가장 안정적으로 쓸 수 있는 조합이다. 단계별로 따라 해보자.
1단계 — MTP GGUF 다운로드
LM Studio 내에서 직접 검색하거나, Hugging Face 웹에서 받아 LM Studio로 임포트한다. 검색 키워드는 Qwen3.6 MTP GGUF다. 파일명에 MTP가 명시돼 있어야 한다. 일반 Qwen3.6 GGUF와는 다른 파일이다.
VRAM에 따라 양자화 버전을 선택한다.
| 양자화 | 파일 크기(27B 기준) | 최소 VRAM | 비고 |
|---|---|---|---|
| Q4_K_M | ~17 GB | 20 GB | 품질/속도 균형, 권장 |
| Q5_K_M | ~20 GB | 24 GB | 품질 중시 |
| Q3_K_M | ~13 GB | 16 GB | VRAM 부족 시 |
| IQ2_XS | ~10 GB | 12 GB | 최소 VRAM, 품질 저하 있음 |
2단계 — 모델 로드 시 MTP 활성화
LM Studio에서 모델을 로드할 때 “Load” 버튼 옆의 고급 설정 아이콘을 클릭한다. “MTP Speculative Decoding” 토글을 켠다. 별도 드래프트 모델을 선택하지 않아도 된다. MTP GGUF 파일 안에 이미 헤드가 포함돼 있으므로 자동으로 인식한다.
3단계 — spec-draft-n-max 값 조정
이 파라미터가 한 번에 드래프트할 토큰 수를 결정한다. 기본값으로 시작하되, 성능이 아쉽다면 2~4 사이로 실험해본다. 너무 높게 잡으면 수락률이 낮아져 오히려 느려질 수 있다.
▶ 펼쳐보기: llama.cpp CLI로 직접 실행하는 경우
# 신버전 (2026년 5월 13일 이후 llama.cpp)
./llama-cli -m qwen3.6-27b-mtp-q4_k_m.gguf \
--spec-type draft-mtp \
--spec-draft-n-max 6 \
-ngl 99 \
-p "Hello, how are you?"
# 구버전 플래그
./llama-cli -m qwen3.6-27b-mtp-q4_k_m.gguf \
--draft-mtp \
--draft-max 6 \
-ngl 99
-ngl 99는 GPU 레이어를 최대로 올리는 옵션이다. VRAM에 따라 값을 조정한다.
Gemma 4 MTP 세팅 단계별 가이드
Gemma 4 MTP는 Google이 2026년 5월 5일 공식 발표한 따끈따끈한 기능이다. Apache 2.0 라이선스라 상업적 사용도 자유롭다. 다만 현재 LM Studio에서의 지원 상태에 주의해야 한다.
1단계 — 메인 모델과 assistant 모델 모두 다운로드
Gemma 4 MTP는 외부 드래프터 방식이라 두 파일이 필요하다. 메인 모델(예: gemma-4-31B-it)과 드래프터(gemma-4-31B-it-assistant)를 각각 GGUF로 받는다. 두 모델을 같은 VRAM에 올려야 하므로 메모리 계획을 먼저 세운다.
# llama.cpp CLI 사용 시 (2026년 5월 13일 이후 버전)
./llama-cli \
-m gemma-4-31b-it-q4_k_m.gguf \
--mtp-head gemma-4-31b-it-assistant-q4_k_m.gguf \
--spec-type draft-mtp \
--draft-block-size 3 \
--draft-max 8 \
-ngl 99
2단계 — LM Studio에서 사용하는 경우 (중요 주의사항)
macOS에서 LM Studio를 쓴다면 엔진 설정을 먼저 확인해야 한다. LM Studio의 Apple Silicon 기본 엔진은 MLX인데, 2026년 5월 기준으로 Gemma 4 MTP 드래프터 모델이 MLX 엔진에서 완전히 지원되지 않는다. GitHub mlx-engine 이슈 #323에서 이 문제가 제기돼 있으며 수정이 진행 중이다.
현재 안정적으로 쓰려면 모델 로드 설정에서 엔진을 llama.cpp로 전환한다. 설정 방법은 아래와 같다.
- 모델 로드 창에서 “Advanced Load Settings” 열기
- “Inference Backend”를 “llama.cpp”로 변경
- 메인 모델 로드 후, Chat 사이드바 “Speculative Decoding”에서 Draft Model로 assistant 파일 선택
Windows나 Linux 사용자는 llama.cpp가 기본 엔진이라 별도 전환이 필요 없다. RTX GPU를 쓰는 경우 이 경로가 더 간단하다.
▶ 펼쳐보기: 12GB VRAM(RTX 4070급)에서 Gemma 4 MTP 운용하기
- Gemma 4-E4B-it + E4B-it-assistant: 경량 엣지 모델 페어. 12GB 이내에서 MTP 경험 가능
- Gemma 4-26B-A4B-it(MoE) + assistant: MoE 구조라 활성 파라미터가 4B 수준, 속도와 품질 균형
assistant 모델 크기가 작을수록 VRAM 절약이 되지만 드래프트 수락률이 떨어질 수 있다. Q4_K_M 양자화 기준으로 두 모델 합산 VRAM을 계산하고 여유를 1~2GB 두는 것이 안전하다.
실제 속도는 얼마나 빨라지나
벤치마크 수치는 하드웨어와 태스크에 따라 편차가 크다. 코딩처럼 패턴이 반복되는 작업에서는 드래프터 수락률이 높아 효과가 극적이고, 창작이나 고온도 설정 대화에서는 기대를 낮추는 편이 좋다.
MTP 적용 전후 토큰 생성 속도 비교 (tok/s)
코딩 태스크 기준 실측치. 하드웨어 및 양자화에 따라 결과가 다를 수 있음.
Apple Silicon M5 Max에서 Qwen3.6-27B를 MTPLX(Apple Silicon 전용 독립 런타임)로 돌린 경우 28 tok/s에서 63 tok/s, 약 2.24배 향상이 나왔다. NVIDIA RTX 3090에서 Qwen3.6-35B-A3B(MoE)는 12GB VRAM에서 80 tok/s를 달성했다. Gemma 4 쪽은 RTX 4070 12GB 기준으로 44에서 54 tok/s 수준으로, 상대적으로 향상 폭이 작다. 모델 구조나 드래프터 매칭 품질, 태스크 특성에 따라 이 차이가 생긴다.
알아두면 좋은 주의사항들
MTP는 잘 되면 상당히 인상적이지만, 기대와 다르게 동작하는 경우도 있어 미리 알아두면 좋다.
첫째, 드래프트 모델과 메인 모델은 반드시 같은 계열이어야 한다. 다른 패밀리, 다른 토크나이저끼리 페어링하면 수락률이 낮아서 MTP가 오히려 느려진다. Gemma 4 메인 모델에는 Gemma 4 assistant 드래프터만, Qwen3.6 MTP GGUF는 자체 헤드로만 써야 한다.
둘째, MoE 모델은 Dense 모델보다 MTP 효과가 약할 수 있다. 희소 활성화 구조의 특성상 병렬 검증의 이점을 충분히 누리기 어렵다. Qwen3.6-27B(Dense)가 Qwen3.6-35B-A3B(MoE)보다 MTP 배율이 높게 나오는 이유이기도 하다.
셋째, LM Studio에서 Qwen3.6 MTP GGUF 로드 시 텐서 누락 오류가 일부 사용자에게 보고됐다. 'blk.64.ssm_conv1d.weight' 같은 오류가 발생한다면 llama.cpp CLI를 직접 사용하거나, 다른 배포자의 MTP GGUF로 교체해본다.
넷째, 출력 품질은 보장된다. 이 점을 강조하는 이유는 사람들이 종종 의심하기 때문이다. Speculative Decoding은 수학적으로 메인 모델이 단독 생성할 때와 동일한 분포를 보장하도록 설계됐다. 드래프터가 틀린 토큰을 제안하면 메인 모델이 수정하고 넘어간다. 품질을 희생해서 속도를 얻는 양자화와는 근본적으로 다른 기법이다.
결국 MTP는 “어떤 태스크에 쓰는가”가 가장 중요한 변수다. 코드 작성, 정형화된 데이터 출력, 일정한 패턴의 응답이 필요한 RAG(검색 증강 생성) 파이프라인에서 효과가 두드러진다. 반면 창의적 글쓰기나 높은 temperature가 필요한 작업은 드래프트 수락률이 낮아 설정을 켜도 체감 차이가 크지 않을 수 있다. 본인의 주요 사용 시나리오를 기준으로 먼저 테스트해보는 게 가장 빠른 답이다.
로컬 LLM 생태계가 빠르게 움직이고 있어, Gemma 4의 MLX 지원이나 Qwen3.x 이후 모델의 MTP 확장도 멀지 않다. LM Studio의 버전 업데이트를 주기적으로 체크하면서 세팅을 한 번씩 다시 살펴보는 것을 권한다.
출처
- LM Studio v0.3.10: Speculative Decoding 공식 블로그 (lmstudio.ai)
- Speculative Decoding 공식 문서 (lmstudio.ai)
- Accelerating Gemma 4 with multi-token prediction drafters (Google Blog)
- Gemma 4 MTP Overview (Google AI for Developers)
- unsloth/Qwen3.6-27B-MTP-GGUF (Hugging Face)
- New MTP models not supported — mlx-engine Issue #323 (GitHub)
- MTPLX — Apple Silicon Native MTP Runtime (GitHub)