Qwen 3.6 27B - VLLM 성능 벤치마크 결과 (BF16, FP8, NVFP4)
Qwen 3.6 27B - VLLM Performance Benchmark Results (BF16, FP8, NVFP4)
핵심 요약
Qwen 3.6 27B 모델의 VLLM 성능을 BF16, FP8, NVFP4 양자화별로 비교 분석한 결과입니다.
- 성능 비교 — NVFP4는 토큰 생성 속도가 가장 빠르지만, FP8이 프롬프트 처리와 안정성 면에서 더 우수함
- VLLM 활용 — llama.cpp 대비 paged attention을 통한 속도와 안정성 이점 확인
- 테스트 환경 — RTX 6000 Pro Blackwell GPU와 Ubuntu 26.04 환경에서 벤치마크 수행
- 사용자 피드백 — NVFP4 사용 시 반복 루프 문제 발생 가능성 제기
Qwen 3.6 27B 모델을 제 개발 시스템에서 인기 있는 양자화 방식을 사용하여 VLLM으로 테스트한 결과를 공유합니다. llama benchy를 사용하여 결과를 생성했고, 이를 LLM에 입력하여 가독성 좋게 표로 정리했습니다.
NVFP4는 속도가 매우 빠르지만, BF16에서는 겪지 않았던 코파일럿에서의 루프 문제(반복 현상)가 발생했고, 에이전트 모드에서 사용할 때 응답이 더 높은 양자화 방식보다 덜 꼼꼼한 것 같습니다. 이 결과들을 바탕으로 볼 때 FP8이 적절한 선택인 것 같습니다. 성능을 더 끌어올리기 위해 일부 파라미터를 추가로 튜닝할 수 있겠지만, 현재 설정으로도 코딩 용도로는 충분히 빨랐습니다.
예전에는 llama.cpp를 사용했었지만, vLLM이 (paged attention 덕분에) 실사용 시 더 빠르고 안정적이라는 것을 알게 되었습니다(llama.cpp는 종종 무작위 오류가 발생하여 프롬프트를 재설정하거나 서비스를 재시작해야 했습니다).
개선할 점에 대한 의견이나 제안이 있다면 알려주세요.
테스트 시스템:
메인보드: Asus Proart Z890
CPU: Intel 270K plus
RAM: 96GB DDR5 (6000MHZ)
GPU: RTX 6000 Pro Blackwell 96GB (Max-Q, ECC 활성화)
소프트웨어:
OS: Ubuntu 26.04 LTS (x86_64)
Python 버전: 3.12.13
vLLM 버전: 0.24.0
NVIDIA-SMI 595.71.05
CUDA 버전: 13.2
모델:
Qwen 3.6 27B - BF16 및 FP8 (HF Qwen)
Qwen 3.6 27B - NVFP4 (HF Nvidia)
- 제공된 jinja 스크립트를 수정된 채팅 템플릿으로 교체함
VLLM 파라미터:
GPU_COUNT="1"
MAX_LEN="262144"
export VLLM_USE_DEEP_GEMM=0
export FLASHINFER_MAX_NUM_TOKENS=8192
export TORCH_CUDA_ARCH_LIST="12.0f"
export TORCH_FLOAT32_MATMUL_PRECISION=high
export PYTORCH_ALLOC_CONF=expandable_segments:True
export VLLM_USE_FLASHINFER_SAMPLER=1
vllm serve "$MODEL_PATH" \
--port "$PORT" \
--tensor-parallel-size "$GPU_COUNT" \
--max-model-len "$MAX_LEN" \
--performance-mode interactivity \
--attention-backend FLASHINFER \
--gpu-memory-utilization 0.88 \
--max-num-seqs 2 \
--enable-chunked-prefill \
--max-num-batched-tokens 8192 \
--kv-cache-dtype fp8 \
--reasoning-parser qwen3 \
--enable-auto-tool-choice \
--tool-call-parser qwen3_coder \
--speculative-config '{"method":"mtp","num_speculative_tokens":2}' \
--enable-prefix-caching \
--trust-remote-code
주요 성능 요약
- NVFP4가 토큰 생성 속도를 압도함 (BF16 대비 약 2.6배 빠름): 토큰 디코딩은 엄격하게 메모리 대역폭 제한을 받기 때문에, 가중치를 4비트로 압축하면 PCIe/VRAM 데이터 전송량이 대폭 줄어들어 생성 처리량이 약 61 t/s(BF16)에서 약 163 t/s(NVFP4)로 급증합니다.
- FP8이 프롬프트 처리 및 프리필 속도에서 승리 (BF16 대비 약 20% 빠름): 프롬프트 프리필은 연산 제한을 받습니다(무거운 행렬 연산). FP8은 디퀀타이제이션 오버헤드 없이 네이티브 텐서 코어 가속을 활용하여, 인제스트(ingestion) 과정에서 BF16과 NVFP4를 모두 앞섭니다.


