1x H100에서 Gemma 4 MTP vs DFlash: dense vs MoE 결과
요약
본 기사는 단일 H100 80GB 환경에서 vLLM을 사용하여 Gemma 4 모델에 대한 MTP(Multi-Token Prediction)와 DFlash의 성능을 비교한 결과를 담고 있습니다. 테스트 결과, dense 모델인 Gemma 4 31B에서는 MTP가 더 높은 처리량을 보였으나, MoE 구조의 Gemma 4 26B-A4B에서는 DFlash가 우위를 점하는 등 워크로드와 모델 유형에 따라 최적의 방식이 달라짐을 보여줍니다. 따라서 실제 배포 시에는 사용 환경과 작업 부하를 고려하여 두 접근 방식을 모두 테스트해 볼 것을 권장합니다.
핵심 포인트
- Gemma 4 31B (dense)에서는 MTP가 DFlash보다 높은 처리량(throughput)을 기록했습니다.
- Gemma 4 26B-A4B (MoE)에서는 DFlash가 MTP보다 더 나은 성능을 보여주었습니다.
- 속도 향상 폭은 모델의 구조적 특성(dense vs MoE)과 추론 시 활성화되는 파라미터 수에 영향을 받습니다.
- 코딩, 수학, STEM 등 예측 가능한 토큰 패턴을 가진 작업에서 속도 개선 효과가 더 컸습니다.
- 단순히 높은 위치당 수락률(per-position acceptance)이 항상 최고의 처리량(throughput)을 의미하지는 않습니다.
vLLM과 NVIDIA의 SPEED-Bench 정성적 데이터셋을 사용하여 단일 H100 80GB에서 Gemma 4 MTP와 z-lab의 DFlash를 벤치마크했습니다.
설정:
- 하드웨어: 1x H100 80GB
- 런타임: vLLM
- 데이터셋: SPEED-Bench 정성적 데이터셋
- 프롬프트: 총 880개, 11개 카테고리당 80개 프롬프트
- 모델: google/gemma-4-31B-it 및 google/gemma-4-26B-A4B-it
- MTP 초안(drafts): Google의 매칭되는 Gemma 4 어시스턴트 모델
- DFlash 초안(drafts): z-lab의 매칭되는 Gemma 4 DFlash 모델
- MTP 사용 설정: num_speculative_tokens=8
- DFlash 사용 설정: num_speculative_tokens=15
- 컨텍스트 길이 / 최대 모델 길이:
32768 - 온도(Temperature): 0
- 프리픽스 캐싱(Prefix caching) 비활성화
결과:
-
Gemma 4 31B dense의 경우, 동시성(concurrency) 1에서 MTP는 베이스라인 디코딩(baseline decoding)보다 3.11배 빨랐고, DFlash는 3.03배 빨랐습니다. 베이스라인은 40.3 output tok/s를 기록했고, MTP는 125.3 output tok/s, DFlash는 122.1 output tok/s를 기록했습니다. 동시성 16에서 베이스라인은 375 tok/s에 도달했고, MTP는 953 tok/s, DFlash는 725 tok/s에 도달했습니다.
-
Gemma 4 26B-A4B MoE의 경우, 결과가 뒤집혔습니다. 동시성 1에서 DFlash는 베이스라인 디코딩보다 1.73배 빨랐고, MTP는 1.49배 빨랐습니다. 베이스라인은 177.1 output tok/s를 기록했고, MTP는 264.2 output tok/s, DFlash는 306.4 output tok/s를 기록했습니다. 동시성 16에서 베이스라인은 975 tok/s에 도달했고, MTP는 1808 tok/s, DFlash는 1957 tok/s에 도달했습니다.
-
MoE의 속도 향상 폭이 dense 모델보다 작은 이유는 베이스라인 MoE 타겟이 이미 실행하기에 상대적으로 저렴하기 때문입니다. Gemma 4 26B-A4B는 총 25.2B 파라미터를 가지고 있지만, 추론(inference) 중에는 3.8B의 활성 파라미터(active parameters)만 사용합니다. 이는 투기적 디코딩(speculative decoding)이 dense 31B 모델과 비교했을 때 제거해야 할 타겟 모델의 연산량(compute)이 더 적다는 것을 의미합니다.
-
이득은 워크로드(workload)에 따라 균일하지 않았습니다. 코딩(Coding), 수학(Math), STEM, 그리고 추론(Reasoning)은 이러한 작업들이 종종 더 예측 가능한 토큰 패턴을 가지기 때문에 더 많은 혜택을 받았습니다. 글쓰기(Writing), 요약(Summarization), 그리고 역할극(Roleplay)은 모델이 텍스트를 이어갈 수 있는 유효한 방법이 많기 때문에 개선 폭이 적었습니다.
-
위치당 수락률(per-position acceptance)이 높다고 해서 반드시 더 높은 처리량(throughput)을 의미하는 것은 아니었습니다. MTP는 더 많은 초안 토큰(draft tokens)을 수락했지만, MoE 모델에서는 DFlash가 더 나은 처리량을 보여주었습니다. 수락률은 문제의 한 단면일 뿐입니다. DFlash는 단일 순전파(forward pass) 과정에서 블록 전체를 초안으로 작성하는 반면, MTP는 토큰 단위로 초안을 작성합니다. 타겟 모델이 이 정도로 빠를 때는 수락률이 낮더라도 더 저렴한 초안 경로(draft path)가 더 중요할 수 있습니다.
-
수락된 대부분의 초안 토큰은 처음 몇 개의 위치에서 발생했습니다. Position-1 수락률은 MTP의 경우 약 80%, DFlash의 경우 75%였으나, Position 8에 도달하면 두 방식 모두 20% 미만으로 떨어졌습니다.
실제 배포를 위해서는 어느 한 쪽이 항상 더 나을 것이라고 가정하는 대신, 본인의 설정과 워크로드에서 두 접근 방식을 모두 시도해 보시기 바랍니다. 결과는 모델, 프롬프트(prompts), 하드웨어, 그리고 서빙 구성(serving configuration)에 따라 달라질 수 있습니다. 이 수치들이 사람들에게 유용한 참고 지점이 되기를 바랍니다.
벤치마킹에 사용된 모든 벤치마크 설정과 스크립트, 그리고 이 결과들을 재현하기 위한 도구들은 Github repository에 있습니다.
더 많은 결과와 심층 분석은 저희 블로그에서 확인하실 수 있습니다: https://jarvislabs.ai/blog/gemma-4-mtp-vs-dflash-benchmark
AI 자동 생성 콘텐츠
본 콘텐츠는 Reddit AI Engineering의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기