Multi-token prediction (MTP)이 5월 16일 am17an의 PR #22673을 통해 llama.cpp에 병합되었다. 이 기능은 베타로 출시된다 — llama-cli와 llama-server의 --mtp 플래그 뒤에 위치하며, 기본값은 꺼짐.
병합 후 24시간 이내에 게시된 커뮤니티 벤치마크는 다음을 보고했다: Qwen 3.6-27B가 단일 RTX 5090에서 65 토큰/초로 디코딩하며, MTP 없이는 38 토큰/초였다 — Q4_K_M에서 1.71× 가속, 나란히 비교한 프롬프트에서 인지 가능한 품질 저하 없음. 현재로서는 유일한 데이터 포인트; 더 넓은 빌드×모델 커버리지에는 몇 차례의 리프레시 사이클이 필요하다.
MTP가 실제로 무엇인가
모델은 동일한 공유 백본 히든 스테이트에서 다음 2, 3 또는 4 토큰을 동시에 예측하는 추가 출력 헤드로 훈련된다. 메인 헤드는 후보 시퀀스를 검증하기 위해 다시 실행된다. 추측 토큰이 일치하면 사실상 무료로 얻는다. 그렇지 않으면 그 단계에서 토큰 단위 디코딩으로 돌아간다.
이는 speculative decoding이 전통적으로 해온 일 — 큰 target 모델 옆에서 작은 draft 모델을 실행 — 을 예측 헤드가 내장된 단일 모델로 압축한다. 오버헤드는 추가 예측 위치당 대략 한 transformer 레이어 추가 정도이지, 완전한 두 번째 네트워크가 아니다. 메모리 비용은 적다; 검증 실패 시의 throughput 비용이 주요 단점이지만, MTP로 훈련된 모델에서는 히트율이 충분히 높아 평균 디코딩이 체감할 정도로 빨라진다.
모델에 요구되는 것
MTP는 훈련에 구워 넣은 예측 헤드를 필요로 한다 — 런타임은 사후에 합성할 수 없다. 인용된 벤치마크는 Q4_K_M의 Qwen 3.6-27B를 사용했다; --mtp 플래그는 체크포인트에 추가 헤드 가중치가 없는 모든 모델에 대해 no-op이므로, 기본값으로 켜둔 채로 두어도 해가 없다.
DeepSeek-V3 논문은 MTP를 훈련 시 보조 목적으로 대중화했다. DeepSeek-V3 논문 이후에 출시된 어떤 open-weights 모델이 공개 체크포인트에 헤드를 담고 있는지 — 그리고 몇 위치 앞을 보는지 — 는 다음 데이터 리프레시에서 아키텍처 루머가 아니라 각 model card를 직접 인용하여 모델별로 카탈로그화할 것이다.
단서
- 베타는 베타. PR #22673 자체가 이를 표시한다; 거친 부분을 예상하고, 프로덕션에서 의존하기 전에 연결된 llama.cpp 이슈 트래커를 주시하라.
- 가속폭은 디코딩의 병목에 따라 스케일한다. compute가 풍부하고 대역폭이 충분한 rig에서는 추측 패스에 여유가 있다; 대역폭 제한 rig에서는 이득이 줄어든다. 5090에서의 1.71×는 그 그래디언트 상의 한 점 — 보편적이라고 가정하지 말 것.
활성화 방법
5월 16일 이후 main 브랜치에서 llama.cpp를 빌드하고 llama-server 또는 llama-cli에 --mtp를 전달한다. Ollama, LM Studio, Jan의 업스트림 지원은 일반적으로 llama.cpp main보다 한 릴리스 사이클 뒤처진다 — 각 런타임의 release notes에서 처음 이를 채택한 빌드를 확인하라.
출처
- llama.cpp PR #22673 — MTP 지원 (am17an, 2026-05-16 병합)
- 커뮤니티 Gist: MTP로 Qwen 3.6 실행 (RTX 5090에서 38 → 65 토큰/초, 벤치마크)
- Multi-token prediction 튜토리얼 — DataCamp