RTX 5090에서 구동한 Qwen3.8 27B: DFlash2 적용 여부에 따른 6개 추론 엔진 벤치마크
Qwen3.8 27B on one RTX 5090: six inference engines benchmarked with and without DFlash2
핵심 요약
RTX 5090에서 6개 추론 엔진의 성능을 비교한 벤치마크 결과로, 엔진별 처리량과 지연 시간을 상세히 분석했습니다.
- 벤치마크 대상 — llama.cpp, vLLM, SGLang, NInfer, velox-inferer, TensorSharp 비교
- 성능 지표 — 처리량, TTFT, 동시 요청 처리 및 도구 루프 성능 측정
- 실험 환경 — Ubuntu 24.04, EPYC 9354, RTX 5090 32GB 환경에서 테스트
- 주요 결과 — NInfer가 추론 및 동시 처리량에서 우수한 성능을 기록함
공지: 저는 TensorSharp의 개발자입니다. 이 영어 요약본은 전체 벤치마크 보고서를 바탕으로 LLM의 도움을 받아 각색 및 편집되었습니다.
이번 비교는 동일한 RTX 5090 32GB 환경에서 llama.cpp, vLLM, SGLang, NInfer, velox-inferer, TensorSharp를 대상으로 진행했으며, 디코드 처리량, 긴 프롬프트, 동시 요청, 이미지 입력, 간단한 도구 루프 등을 포함했습니다.
환경 설정: Ubuntu 24.04, EPYC 9354, 한 번에 하나의 엔진만 실행. 모든 요청은 'thinking' 기능을 끄고 greedy decoding을 사용했습니다. 컨텍스트는 시퀀스당 40,960 토큰으로 설정했고, 테스트한 프롬프트는 최대 약 32K입니다. TensorSharp는 자체 direct-CUDA 백엔드인 --backend cuda를 사용했습니다.
수치를 보기 전에 중요한 점을 먼저 밝힙니다. 각 엔진은 서로 다른 양자화 체크포인트, 드래프터(drafter), KV 포맷을 사용했습니다.
-
TensorSharp / llama.cpp: 동일한 NVFP4 GGUF 타겟 및 Q4_K_M DFlash2 드래프터 사용.
-
vLLM / SGLang: NVIDIA의 NVFP4/FP8 safetensors 타겟 및 FP8 드래프터 사용.
-
NInfer / velox: 혼합형 NVFP4/FP8
.ninfer타겟 및 Q8 드래프터 사용.
결과는 위와 같은 전체 구성에 대한 것이며, 런타임 코드 자체의 성능만을 따로 떼어낸 것은 아닙니다.
처리량 (Throughput)
아래 모든 수치는 초당 토큰(tokens per second) 기준입니다.
| Engine | Single request, plain | Single request, DFlash2 | Four requests, DFlash2 — total |
|---|---|---|---|
| NInfer | 77.0 | 280.5 | 488 |
| vLLM | 69.4 | 247.8 | 304 |
| velox-inferer | 68.8 | 234.9 | 303 |
| SGLang | 78.5 | 234.5 | 251* |
| TensorSharp | 80.0 | 234.4 | 445 |
| llama.cpp |
