RTX 5000 PRO 48GB에서 Qwen3.6 27B FP8 모델을 200k 토큰으로 80 TPS 구동하기
Qwen3.6 27B FP8 runs with 200k tokens of BF16 KV cache at 80 TPS on a single RTX 5000 PRO 48GB
핵심 요약
RTX 5000 PRO 48GB를 활용해 Qwen3.6 27B FP8 모델을 고성능으로 구동하는 최적의 로컬 환경 구축법을 공유함.
- 고성능 하드웨어 — RTX 5000 PRO 48GB를 사용하여 양자화 오류를 최소화하고 FP8 가속을 활용함.
- 최적화 설정 — vLLM 0.20.1과 BF16 KV 캐시를 조합해 200k 토큰 환경에서 80 TPS의 속도를 구현함.
- 비용 효율성 — 5천 달러 미만의 예산으로 소규모 데이터센터급 성능을 가정에서 구현 가능함.
- 실제 성능 — MTP=2 설정 시 코드 작성 작업에서 60~90 TPS의 실사용 가능한 속도를 보여줌.
안녕하세요,
24GB 카드에 27B 모델을 억지로 구겨 넣으려고 온갖 양자화 트릭을 쓰는 글들을 많이 봤습니다. 다들 대단한 작업이지만, 결국 양자화된 모델과 양자화된 KV 캐시는 비양자화 모델보다 오류가 훨씬 빨리 누적되고, 이는 에이전트 코딩 성능에 눈에 띄는 영향을 줍니다.
48GB GPU라면 Blackwell 가속 FP8 같은 좋은 옵션을 사용해 양자화의 악몽을 피할 수 있는 충분한 VRAM이 있다고 생각했습니다. 다행히 Qwen에서 27B 모델의 FP8 버전을 출시했더군요.
진심으로 말하는데, "1만 달러로 뭘 사야 하죠?"라는 질문들에 대한 답을 찾은 것 같습니다. Pro 5k, 64GB RAM, 적당한 CPU/메인보드 조합이면 27B FP8 양자화 모델을 Blackwell 하드웨어 가속과 비양자화 KV 캐시로 아주 쾌적하게 돌릴 수 있습니다. 조용하고, 발열도 적고, 작고, 빠릅니다... 정말 최고예요.
최종 레시피:
- vLLM 0.20.1
- CUDA 12.9
- Qwen의 공식 FP8 양자화 Qwen3.6 27B (멀티모달, MTP 등 Qwen3.6의 모든 기능 포함)
- 200k 토큰 BF16 KV 캐시 @ 1.09x 동시성
- 실제 벤치마크 수치는 지금 돌리고 있으며 곧 업데이트 예정.
설정값:
export VLLM_USE_FLASHINFER_MOE_FP8=1
export VLLM_TEST_FORCE_FP8_MARLIN=1
export VLLM_SLEEP_WHEN_IDLE=1
export VLLM_MEMORY_PROFILER_ESTIMATE_CUDAGRAPHS=1
export VLLM_LOG_STATS_INTERVAL=2
export VLLM_WORKER_MULTIPROC_METHOD=spawn
export SAFETENSORS_FAST_GPU=1
export CUDA_DEVICE_ORDER=PCI_BUS_ID
export TORCH_FLOAT32_MATMUL_PRECISION=high
export PYTORCH_ALLOC_CONF=expandable_segments:True
vllm serve Qwen/Qwen3.6-27B-FP8 \
--host 0.0.0.0 --port 8080 \
--performance-mode interactivity \
--trust-remote-code \
--enable-auto-tool-choice \
--tool-call-parser qwen3_coder \
--reasoning-parser qwen3 \
--mm-encoder-tp-mode data \
--mm-processor-cache-type shm \
--gpu-memory-utilization 0.975 \
--speculative-config '{"method":"mtp","num_speculative_tokens":2}' \
--compilation-config '{"cudagraph_mode": "FULL_AND_PIECEWISE", "max_cudagraph_capture_size": 16, "mode": "VLLM_COMPILE"}' \
--async-scheduling \
--attention-backend flashinfer \
--max-model-len 196608 \
--kv-cache-dtype bfloat16 \
--enable-prefix-caching
성능
실제 벤치마크를 돌리고 있으며 나중에 업데이트하겠지만, 대체로 MTP=2로 코드를 작성하면 60-90 TPS가 나옵니다. 일상적인 용도로는 완벽한 수치죠. 게다가 FP8을 사용하고 KV 캐시는 비양자화 상태라, Claude 세션을 길게 돌려도 압축 오류나 무한 루프 같은 문제 없이 쾌적합니다. 정말 최소한의 양자화만 적용된 상태입니다.

