본문으로 건너뛰기

© 2026 Molayo

Reddit요약2026. 05. 16. 22:34

듀얼 Mi50에서 더 성공적인 Qwen3.6-27B MTP

요약

본 기사는 Qwen3.6-27B 모델을 듀얼 Mi50 GPU 환경에서 MTP(Model Tensor Parallelism) 양자화 기술을 적용하여 테스트한 결과를 공유합니다. MTP를 적용했을 때 기존 대비 평균적으로 약 1.5배의 속도 향상을 보였으며, 특히 텐서 병렬화(Tensor Parallelism)까지 결합하자 최대 2배에 가까운 성능 개선 효과를 확인했습니다. 이러한 테스트는 `llama.cpp` 포크와 ROCm 환경을 사용하여 진행되었으며, 다양한 추론 작업(코드 생성, 요약 등)에서 MTP 적용 시 높은 토큰/초(tok/s) 수치를 기록하며 모델의 효율성을 입증했습니다.

핵심 포인트

  • MTP 양자화 기술은 Qwen3.6-27B와 같은 대규모 언어 모델의 추론 속도를 크게 향상시킬 수 있습니다.
  • MTP 적용만으로도 기존 대비 약 1.5배의 성능 개선이 관찰되었습니다.
  • 텐서 병렬화(Tensor Parallelism)를 함께 사용하면 최대 2배에 가까운 극적인 속도 향상을 달성할 수 있습니다.
  • 테스트는 ROCm 환경과 커스텀 `llama.cpp` 빌드를 통해 진행되었으며, 다양한 작업 유형에서 성능 우위를 보였습니다.

TLDR: 기대는 현실이었습니다! 1.5배 속도 향상. 텐서 병렬화 (Tensor Parallelism) 사용 시 최대 2배 속도 향상!

Unsloth의 MTP 양자화 (quants) 모델은 여기 있습니다: https://huggingface.co/unsloth/Qwen3.6-27B-GGUF-MTP

PR을 읽은 후 즉시 MTP 호환 Q4_1 양자화 모델을 찾아보았습니다 (연산 능력이 부족한 구형 카드에서는 약간의 속도 향상을 제공합니다) 하지만 찾을 수 없었습니다.

다행히도 포스트를 발견했는데, 여기에는 MTP 이식 (grafting)을 본인의 양자화 모델에 어떻게 적용하는지가 강조되어 있었고, 덕분에 이미 가지고 있던 Unsloth 양자화 모델에 이를 부착할 수 있었습니다.

설정 (Setup)

  • CachyOS (Arch Linux)
  • ROCm 7.2
  • 두 카드 모두 PCIe 4.0 x 8로 작동

https://github.com/ggml-org/llama.cpp/pull/22673이 포함된 llama.cpp 포크 https://github.com/skyne98/llama.cpp-gfx906를 빌드하였으며, 포함된 PR 벤치마크 스크립트로 다음 명령어를 실행했습니다:

llama-server -m ~/models/Qwen3.6-27B-MTP-Q4_1.gguf \
--temp 1.0 --min-p 0.0 --top-k 20 --top-p 0.95 \
--jinja --presence-penalty 1.5 \
--chat-template-kwargs '{"preserve_thinking": true}' \
-ub 2048 -b 2048 \
-fa 1 -np 1 \
--no-mmap --no-warmup \
-dev ROCm0,ROCm1 --fit on -fitt 256

스크립트 벤치마크 (Script Benchmark)

순정 (Stock):

code_python        pred= 192 draft=   0 acc=   0 rate=n/a tok/s=26.2
code_cpp           pred= 192 draft=   0 acc=   0 rate=n/a tok/s=26.2
explain_concept    pred= 192 draft=   0 acc=   0 rate=n/a tok/s=26.3
summarize          pred= 192 draft=   0 acc=   0 rate=n/a tok/s=26.4
qa_factual         pred= 192 draft=   0 acc=   0 rate=n/a tok/s=26.4
translation        pred= 192 draft=   0 acc=   0 rate=n/a tok/s=26.4
creative_short     pred= 192 draft=   0 acc=   0 rate=n/a tok/s=26.4
stepwise_math      pred= 192 draft=   0 acc=   0 rate=n/a tok/s=26.3
long_code_review   pred= 192 draft=   0 acc=   0 rate=n/a tok/s=26.0

MTP 적용 시: --spec-type mtp --spec-draft-n-max 2

code_python        pred= 192 draft= 144 acc= 119 rate=0.826 tok/s=39.6
code_cpp           pred= 192 draft= 156 acc= 113 rate=0.724 tok/s=36.5
explain_concept    pred= 192 draft= 154 acc= 113 rate=0.734 tok/s=36.7
summarize          pred= 192 draft= 138 acc= 121 rate=0.877 tok/s=40.7
qa_factual         pred= 192 draft= 144 acc= 119 rate=0.826 tok/s=39.4
translation        pred= 192 draft= 152 acc= 115 rate=0.757 tok/s=37.5
creative_short     pred= 192 draft= 156 acc= 113 rate=0.724 tok/s=36.6
stepwise_math      pred= 192 draft= 146 acc= 118 rate=0.808 tok/s=39.0
long_code_review   pred= 192 draft= 150 acc= 115 rate=0.767 tok/s=37.8

합계 (Aggregate): {
 "n_requests": 9,
 "total_predicted": 1728,
 "total_draft": 1340,
 "total_draft_accepted": 1046,
 "aggregate_accept_rate": 0.7806,
 "wall_s_total": 51.42
}

텐서 병렬화 (Tensor Parallelism) 적용 시: -sm tensor

code_python        pred= 192 draft=   0 acc=   0 rate=n/a tok/s=35.0
code_cpp            pred= 192 draft=   0 acc=   0 rate=n/a tok/s=34.8
explain_concept    pred= 192 draft=   0 acc=   0 rate=n/a tok/s=34.6
summarize          pred= 192 draft=   0 acc=   0 rate=n/a tok/s=34.6
qa_factual         pred= 192 draft=   0 acc=   0 rate=n/a tok/s=34.7
translation       pred= 192 draft=   0 acc=   0 rate=n/a tok/s=34.7
creative_short     pred= 192 draft=   0 acc=   0 rate=n/a tok/s=34.7
stepwise_math      pred= 192 draft=   0 acc=   0 rate=n/a tok/s=34.6
long_code_review   pred= 192 draft=   0 acc=   0 rate=n/a tok/s=34.3

MTP와 텐서 병렬화 (Tensor Parallelism) 결합 시:

code_python        pred= 192 draft= 142 acc= 120 rate=0.845 tok/s=59.8
code_cpp           pred= 192 draft= 148 acc= 116 rate=0.784 tok/s=56.6
explain_concept    pred= 192 draft= 146 acc= 117 rate=0.801 tok/s=56.8
summarize          pred=  53 draft=  42 acc=  31 rate=0.738 tok/s=54.5
qa_factual         pred= 192 draft= 148 acc= 117 rate=0.790 tok/s=56.8
translation        pred= 192 draft= 146 acc= 117 rate=0.801 tok/s=57.3
creative_short     pred= 192 draft= 154 acc= 114 rate=0.740 tok/s=54.8
stepwise_math      pred= 192 draft= 140 acc= 121 rate=0.864 tok/s=59.6
long_code_review   pred= 192 draft= 148 acc= 117 rate=0.790 tok/s=56.2

Aggregate: {
  "n_requests": 9,
  "total_predicted": 1589,
  "total_draft": 1214,
  "total_draft_accepted": 970,
  "aggregate_accept_rate": 0.799,
  "wall_s_total": 32.24

실제 환경 벤치마크 (Real-world benchmark)

위의 수치들은 정말 말도 안 돼 보이지만, 실제 환경(real-world)에서는 속도 향상 폭이 매우 빠르게 줄어듭니다. 게다가 현재 수정 작업이 진행 중인 프리필(prefill) 속도의 퇴보(regression)는 말할 것도 없습니다. 저는 이것 18k 코딩 프롬프트를 실행해 보았는데, 60t/s의 속도는 매우 짧은 프롬프트에서만 관찰 가능하다는 것이 명확합니다. 하지만 MTP와 텐서 병렬성 (tensor parallelism)을 결합하면 실제로 상당한 2배의 속도 향상을 얻을 수 있습니다.

기본 (Stock):

prompt eval time =  53173.24 ms / 19191 tokens (   2.77 ms per token,   360.91 tokens per second)
   eval time = 337695.94 ms /  7791 tokens (  43.34 ms per token,   23.07 tokens per second)
 total time = 390869.18 ms / 26982 tokens

MTP 적용 시:

prompt eval time =  84388.11 ms / 19191 tokens (   4.40 ms per token,   227.41 tokens per second)
   eval time = 260732.83 ms /  8408 tokens (  31.01 ms per token,   32.25 tokens per second)
 total time = 345120.94 ms / 27599 tokens

텐서 병렬성 (tensor parallelism) 적용 시:

prompt eval time =   41925.27 ms / 19191 tokens (    2.18 ms per token,   457.74 tokens per second)
       eval time =  253262.25 ms /  8104 tokens (   31.25 ms per token,    32.00 tokens per second)
      total time =  295187.53 ms / 27295 tokens

MTP와 텐서 병렬성 (tensor parallelism) 결합 시:

prompt eval time =   49696.04 ms / 19191 tokens (    2.59 ms per token,   386.17 tokens per second)
       eval time =  155821.64 ms /  7440 tokens (   20.94 ms per token,    47.75 tokens per second)
      total time =  205517.69 ms / 26631 tokens

AI 자동 생성 콘텐츠

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

원문 바로가기
0

댓글

0