본문으로 건너뛰기

© 2026 Molayo

Reddit요약2026. 05. 16. 13:23

MTP 벤치마크 결과: 생성 작업의 성격에 따라 speculative inference (추측적 추론)를 통해 이득을 얻을지(코딩), 아니면

요약

본 분석은 MTP(Model Type Parameterization)와 Speculative Inference (추측적 추론)를 사용하여 LLM의 디코딩 속도를 테스트한 결과를 다룹니다. 핵심 발견은 모델 양자화 수준과 작업 유형에 따라 성능 이득이 극명하게 달라진다는 것입니다. 특히, F16 같은 고정밀도 모델에서는 코딩 작업 시 MTP와 Speculative Decoding을 사용하는 것이 큰 속도 향상을 가져오지만, Q4_K_M 같은 저정밀도 모델의 창의적 글쓰기 작업에는 오히려 오버헤드가 발생하여 성능이 느려질 수 있습니다.

핵심 포인트

  • 모델 양자화(Quantization) 수준과 작업 유형에 따라 Speculative Inference의 효과가 상반되게 나타난다. (예: F16 코딩 vs Q4_K_M 창의적 글쓰기)
  • 코딩 작업은 초안 토큰 수락률이 높고, 예측 가능한 패턴을 따르므로 MTP와 Speculative Decoding 사용에 매우 유리하다.
  • 창의적/사실 분석 등 비(非)코드 작업에서는 초안 생성 과정에서 발생하는 오버헤드가 속도 저하를 유발할 수 있다.
  • 최적의 초안 토큰 수는 일반적으로 3개이며, F16과 같이 메모리 대역폭이 병목인 고정밀 모델은 예외적으로 더 많은 초안을 사용할 가치가 있을 수 있다.

최근 저는 Qwen 3.6 27B의 MTP 양자화 모델을 게시했으며, Reddit과 HF(Hugging Face)에서 speculative inference (추측적 추론)를 사용했을 때 사용하지 않았을 때보다 속도가 더 느려지는 현상을 경험하고 있다는 사용자들의 보고를 보고 놀랐습니다. 이는 제가 관찰했던 결과와 일치하지 않았으나, 그들의 사용 환경을 정확히 재현해 보려 시도했을 때 그들이 겪고 있는 현상을 확인할 수 있었습니다.

저는 이 문제를 분석하려고 시도했고, 나중에 틀린 것으로 판명된 몇 가지 추측을 내놓기도 했으며, 이후 300개 이상의 테스트와 벤치마크를 실행하고 다양한 파라미터(parameter)를 변경하며 결과를 수집 및 비교하는 본격적인 체계적 분석을 시작했습니다. 제가 발견한 결과는 다음과 같습니다:

F16 + MTP는 코딩 작업 속도를 거의 3배로 높입니다. Q4_K_M + MTP는 창의적 글쓰기 속도를 늦춥니다. 동일한 기능, 동일한 모델, 동일한 설정임에도 결과는 정반대였습니다.

모든 양자화(quantization) 크기를 테스트하지는 않았습니다. 그랬다면 저는 아직도 여기서 테스트를 하고 있었을 것입니다. 대신 5가지의 유의미한 크기로 제한했습니다. 제가 변경한 다른 파라미터들은 작업 유형(4가지 유형), temperature (온도: 0.0, 0.3, 0.7), MTP 레이어의 양자화(q8 및 모델 양자화와 일치시킴)였습니다. Temperature와 MTP 양자화는 결과에 미치는 영향이 매우 적었습니다.

모델 양자화와 작업 유형을 변경하며 MTP를 사용했을 때의 누적 평균 디코딩(decode) 속도를 MTP가 없는 기준점(baseline)과 비교한 결과입니다:

|quant|base tok/s|code|factual|analysis|creative|
|:-|:-|:-|:-|:-|
|Q4_K_M|15.1|19.7|17.5|14.9|13.7|
| ... |

메모리 대역폭(memory bandwidth)이 모델이 speculative decoding (추측적 디코딩)으로부터 얼마나 이득을 얻을 수 있는지를 결정합니다. 51GB인 F16은 모든 토큰이 메모리를 통해 전체 모델을 끌어와야 하기 때문에 6.6 tok/s로 매우 느리게 움직입니다. 수락된 MTP 초안(drafts)은 해당 과정을 건너뜁니다. 16GB인 Q4_K_M은 이미 충분히 빠르기 때문에, 코드보다 예측 불가능한 작업에서는 초안 생성에 따른 오버헤드(overhead)가 거의 가치가 없습니다.

초안 토큰 수락률(draft tokens acceptance rate)을 제어하는 요소는:

작업수락률예시
코딩 (code)79-89%함수 작성 (writing functions), 디버깅 (debugging), 리팩토링 (refactoring)
...
코딩에서 창의적 글쓰기로 넘어갈 때 40포인트의 차이가 발생합니다. 세 가지 온도 (temperature) 설정과 다섯 가지 양자화 (quant) 설정을 테스트해 보았습니다. 수치는 거의 변하지 않았습니다. 코딩 작업에서는 초안 토큰 (draft tokens) 5개 중 4개가 정확하지만, 창의적 작업에서는 절반도 되지 않습니다. 무엇을 생성하고 있는가(what you're generating) 만큼 중요한 것은 그 어떤 것도 없습니다.

또한 위에서 언급한 모든 시나리오에서 이 모델에 대한 최적의 초안 토큰 수를 테스트했습니다. 초안 토큰의 최적점 (sweet spot)은 3개입니다. 이보다 높게 설정하면 수락률 (acceptance rate)이 추가적인 초안이 제공하는 이득보다 더 빠르게 떨어집니다. F16은 예외입니다: N=4가 N=3을 앞섭니다 (17.9 대 16.2). 이는 6.6 tok/s의 속도에서 살아남은 모든 초안 토큰이 낮은 수락률을 감수할 만큼 가치가 있기 때문입니다.

사용 사례 (use case)Q4_K_MQ5_K_MQ6_KQ8_0F16
코딩 (coding)🟢 +31%🟢 +47%🟢 +50%🟢 +123%🟢 +171%
...
🟢 속도 향상, 🟡 미미한 이득, 🔴 속도 저하.
  • Q8_0 및 F16: 항상 MTP 레이어와 함께 추측적 디코딩 (speculative decoding)을 사용하십시오.
  • 어떤 양자화에서도 코딩 작업 시에는 켜두십시오.
  • Q4_K_M (및 그 이하) 창의적 작업 시에는 꺼두십시오.

마지막 관찰 사항: 코딩 작업에서 사고 모드 (thinking mode)를 켰을 때, Q8_0의 초안 토큰 수락률은 87%에서 73%로 떨어집니다. 여전히 +94%의 속도 향상이 있지만, 전체 +123%만큼은 아닙니다.

테스트 환경: Apple Silicon M2 Max 96GB, MTP PR이 적용된 llama.cpp 수동 빌드, MTP 레이어가 보존된 Qwen3.6-27B.

AI 자동 생성 콘텐츠

본 콘텐츠는 Reddit AI Engineering의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0