Benchmark Qwen3.5-35B-A3B-GPTQ-Int4 trên RTX Pro 6000 Blackwell
Đây chắc là model phù hợp nhất để làm local service
Bài được viết bởi Claude và edit bởi tui.
Phần cứng & Model
GPU: NVIDIA RTX Pro 6000 Blackwell - 96GB GDDR7
CPU: AMD Threadripper Pro 9965WX (24C/48T, Zen 5)
RAM: Micron 768GB ECC DDR5-5600
PCIe: Crucial T705 4TB PCIe Gen5
Thật ra máy mình không phải để benchmark — nó chạy sản phẩm hàng ngày, đồng thời host thêm vài model nhỏ (4B) và pipeline phát AI cho DOSafe.
Model: Qwen3.5-35B-A3B-GPTQ-Int4 — model MoE (Mixture-of-Experts) 35 tỷ tham số tổng, nhưng chỉ 3 tỷ tham số hoạt động mỗi token. Đây là lý do nó nhanh hơn nhiều so với model dense cùng tầm.
Framework: vLLM 0.18.0
Quantization: GPTQ-Int4 (Marlin kernel)
KV cache: FP8
Ngữ cảnh tối đa: 65,536 tokens
VRAM: 21 GiB (chưa tới 1/4 card)
Kết quả: Tốc độ decode ổn định bất kể ngữ cảnh
Đây là điều ấn tượng nhất về MoE: tốc độ decode gần như không đổi dù ngữ cảnh tăng từ 1K lên 32K token.
Context TTFT TPOT Decode E2E (256 tokens)
──────────────────────────────────────────────────────────────
1,024 104 ms 6.1 ms 163 tok/s 1.7s
4,096 182 ms 6.0 ms 166 tok/s 1.7s
8,192 275 ms 6.2 ms 162 tok/s 1.9s
16,384 496 ms 6.2 ms 162 tok/s 2.1s
32,768 1,104 ms 6.3 ms 160 tok/s 2.7sTPOT (Time Per Output Token) = 6.0–6.3 ms — nghĩa là mỗi token mất ~6ms để sinh ra, bất kể bạn gửi 1K hay 32K ngữ cảnh. Với chatbot trung bình (2K–4K), người dùng nhận phản hồi gần như ngay lập tức.
Để so sánh: GPT-4o API thường có TPOT khoảng 10–20ms. Model tự host trên một GPU duy nhất nhanh hơn nhiều API trên cloud.
Thông lượng: Phục vụ bao nhiêu người cùng lúc?
Concurrency Tổng tok/s Mỗi user tok/s
────────────────────────────────────────────
1 184 184
5 570 114
10 800 80
20 1,868 93
50 3,373 67Ở 50 yêu cầu đồng thời, hệ thống vẫn đạt 3,373 tok/s tổng — mỗi người nhận ~67 tok/s. Đủ nhanh để đọc thoải mái (tốc độ đọc trung bình con người là ~4 từ/giây ≈ ~5 tok/s).
Tốc độ prefill (xử lý đầu vào) cũng ấn tượng:
Context Prefill tok/s
────────────────────────
1K 9,867
4K 22,503
8K 29,802
16K 33,005 ← đỉnh
32K 29,693Prefill đạt đỉnh ở 16K (~33K tok/s), giảm nhẹ ở 32K khi băng thông bộ nhớ bắt đầu nghẽn cổ chai.
So sánh với benchmark độc lập: Millstone AI
Millstone AI là dịch vụ benchmark chuyên nghiệp, đã test cùng model, cùng GPU, nhưng dùng FP8 quantization. Họ chạy 4,600 yêu cầu với tỉ lệ thành công 100% — dữ liệu rất đáng tin. (Báo cáo PDF đầy đủ)
So sánh trực tiếp:
Chỉ số DOS.AI (GPTQ-Int4) Millstone (FP8) Hơn
────────────────────────────────────────────────────────────────
TPOT @1K 6.1 ms ~7 ms GPTQ +13%
VRAM 21 GiB ~35 GiB GPTQ -40%
Prefill @32K 29,693 tok/s 34,509 tok/s FP8 +16%
MMLU 84.6% 84.8% NgangBao nhiêu người dùng cùng lúc?
Millstone đo giới hạn phục vụ cho từng loại tác vụ — số yêu cầu đồng thời trước khi trải nghiệm bắt đầu giảm:
Tác vụ Context Sức chứa TTFT Tốc độ sinh
──────────────────────────────────────────────────────────────────────────
Code Completion 1K 13 yêu cầu 2.1s 63 tok/s
Short-form Chat 8K 125+ yêu cầu 4.8s 15 tok/s
General Chatbot 32K ~31 yêu cầu ~7.9s ~20 tok/s
Document Processing 64K 13 yêu cầu 11.9s 27 tok/s
Coding Assistant 96K ~4 yêu cầu ~10.9s ~47 tok/sLưu ý: mỗi slot yêu cầu thường phục vụ 4–5 người dùng thực (người dùng có khoảng nghỉ tự nhiên giữa các tin nhắn). Nên “31 yêu cầu đồng thời” ở 32K thực tế phục vụ ~120–155 người dùng.
TTFT: Bao lâu người dùng phải chờ token đầu tiên?
Context 1 người 5 đồng thời 10 đồng thời
──────────────────────────────────────────────────
1K 0.8s <0.1s 0.2s
8K 0.8s 0.3s 0.4s
32K 1.0s 2.7s 4.7s
64K 2.5s 7.1s 12.8s
96K 4.6s 12.9s 18.2sThú vị: TTFT ở 2 yêu cầu đồng thời thấp hơn 1 yêu cầu ở ngữ cảnh ngắn — nhờ continuous batching hiệu quả hơn khi có nhiều hơn 1 yêu cầu.
Và quan trọng: đây là trường hợp xấu nhất (không có prompt caching). Trong thực tế, chatbot xây dựng ngữ cảnh dần qua cuộc hội thoại — chỉ token mới cần xử lý, nên TTFT thấp hơn nhiều.
Benchmark FP8 của chính mình
Mình cũng đã benchmark FP8 trên cùng máy (trước khi chọn GPTQ-Int4 cho sản phẩm):
Chỉ số GPTQ-Int4 FP8 Chênh lệch
────────────────────────────────────────────────────────────────────
Single tok/s 183.7 162.3 GPTQ +13%
@10 concurrent tok/s 800 642 GPTQ +25%
@50 concurrent tok/s 3,373 2,607 GPTQ +29%
@30 rps (vllm bench) 2,531 1,730 GPTQ +46%
TPOT @1 rps 6.6 ms 7.2 ms GPTQ -8%
VRAM 21.06 GiB 34.23 GiB GPTQ -39%
MMLU (5-shot) 84.6% 84.8% Ngang (0.2%)
Scam reasoning 0.970 0.970 Giống hệtGPTQ-Int4 thắng trên mọi chỉ số hiệu năng trừ MMLU (chênh 0.2% — không đáng kể). Đặc biệt ở tải cao: @50 đồng thời nhanh hơn 29%, @30 rps nhanh hơn 46%.
Dữ liệu FP8 của mình cũng nhất quán với Millstone AI (benchmark độc lập, cùng GPU, cùng quantization) — xác nhận kết quả là đáng tin.
Tại sao GPTQ-Int4 nhanh hơn FP8 ở decode, nhưng chậm hơn ở prefill?
Int4 ít bit hơn = đọc ít dữ liệu từ VRAM hơn = nhanh hơn. Đúng — nhưng chỉ khi nghẽn cổ chai là băng thông bộ nhớ (đọc trọng số). Ở prefill, nghẽn cổ chai là sức tính toán (nhân ma trận) — và FP8 có lợi thế ở đây vì Blackwell tensor cores có đường tính FP8 gốc, trong khi GPTQ-Int4 phải giải nén Int4 → FP16 trước khi tính.
Decode (nghẽn băng thông): GPU đọc trọng số cho từng token → Int4 đọc ít hơn ~2x → GPTQ thắng 13%
Prefill (nghẽn tính toán): GPU xử lý hàng ngàn token cùng lúc → FP8 tính nhanh hơn nhờ tensor cores gốc → FP8 thắng 16%
Ngoài ra, kernel GPTQ (Marlin/ExLlama) đã được tối ưu nhiều năm, trong khi kernel FP8 trên Blackwell còn tương đối mới. Khoảng cách có thể thu hẹp khi kernel FP8 hoàn thiện hơn.
Với tải chatbot (decode là chính, ngữ cảnh ngắn-trung bình), GPTQ-Int4 là lựa chọn tốt nhất hiện tại.
GPTQ-Int4 vs FP8: Khi nào chọn gì?
Chatbot (2K–8K) → GPTQ-Int4 — decode nhanh hơn, ít VRAM
RAG / xử lý tài liệu (32K+) → FP8 — prefill mạnh hơn ở ngữ cảnh dài
Nhiều model trên 1 GPU → GPTQ-Int4 — 21 GiB vs 35 GiB, dư chỗ cho model khác
Yêu cầu chất lượng cao → Cả hai — MMLU chênh 0.2%, không đáng kể
MoE vs Dense: Tại sao 35B nhanh hơn 27B?
Qwen3.5 có 2 phiên bản: 35B-A3B (MoE) và 27B (dense). So sánh:
Model Kiến trúc Tham số hoạt động Single tok/s @10 tok/s
─────────────────────────────────────────────────────────────────────────────
35B-A3B-GPTQ MoE 3B 184 800
27B-GPTQ Dense 27B 52 39435B nhanh hơn 3.5 lần dù tổng tham số lớn hơn. Bí quyết: MoE chỉ kích hoạt 3B trong 35B tham số cho mỗi token — GPU đọc ít trọng số hơn 9 lần so với 27B dense.
Còn chất lượng? 35B thắng ở các tác vụ phức tạp (suy luận lừa đảo: 0.970 vs 0.880), trong khi 27B thắng ở đầu ra có cấu trúc (JSON: 100% vs 95%).
So sánh với các GPU khác
Tổng hợp benchmark từ cộng đồng, Millstone AI, và NVIDIA Forums:
GPU Quant Single tok/s Đồng thời cao nhất
────────────────────────────────────────────────────────────────────────────────
RTX Pro 6000 Blackwell (96GB) GPTQ-Int4 184 3,373 (@50)
RTX 5090 (32GB) GPTQ-Int4 194–197 —
RTX 4090 (24GB) Q4_K GGUF 122 —
RTX 3090 (24GB) Q4_K GGUF 111 —
H100 SXM (80GB) FP8 — 908 (đỉnh)
H200 SXM (141GB) FP8 — 1,479 (đỉnh)
2x DGX Spark (GB10) FP8 65.5 515
M3 Ultra 512GB 8-bit MLX 80.6 —Một vài điểm đáng chú ý:
RTX 5090 nhanh hơn ~6% ở một yêu cầu (197 vs 184 tok/s) — nhưng chỉ có 32GB VRAM, không host được nhiều model cùng lúc
DGX Spark (GB10) rất chậm: 65 tok/s một yêu cầu, bị nghẽn cổ chai bởi băng thông LPDDR5x. Dù giá tương đương RTX Pro 6000 nhưng hiệu năng kém ~3 lần
H100 SXM: đỉnh 908 tok/s đồng thời (FP8) — nhưng RTX Pro 6000 với GPTQ-Int4 đạt 800 tok/s @10 đồng thời. Gần ngang H100 với giá rẻ hơn 3.5 lần
H200 SXM là vua (1,479 tok/s đỉnh) — nhưng giá ~$35K và khó mua lẻ
Với nhu cầu tự host, RTX Pro 6000 Blackwell có tỉ lệ giá/hiệu năng tốt nhất: một GPU đủ mạnh cho chatbot sản phẩm, dư VRAM cho nhiều model, giá hợp lý.
GPU Memory Utilization: Tìm điểm tối ưu
Mình thử các mức gpu-memory-utilization từ 0.65 đến 0.90:
Mức Sinh tok/s TTFT
──────────────────────────────────
0.65 298.5 78.6 ms
0.75 294.9 71.0 ms
0.80 305.4 100.1 ms
0.85 315.8 71.4 ms ← đỉnh
0.90 264.4 74.3 ms ← giảmĐiểm tối ưu: 0.85 — nhưng mình dùng 0.70 vì máy còn host thêm model observer và pipeline phát hiện ảnh. Đánh đổi ~6% thông lượng để có dư chỗ chạy nhiều model cùng lúc.
Chi phí thực tế
Máy workstation này có giá trên $50,000 - (riêng RAM đã hơn $20,000). Không hề rẻ. Nhưng so với thuê API:
Dịch vụ Chi phí / 1M output tokens
─────────────────────────────────────────────────────────
Claude 4 Sonnet $15.00
GPT-4o $10.00
Qwen3.5-35B qua Alibaba $2.00
Tự host Qwen3.5-35B ~$0.05 (tiền điện)Thú vị: ngay cả so với cùng model qua API (Alibaba: $2.00/1M), tự host vẫn rẻ hơn 40 lần. Theo Artificial Analysis, Qwen3.5-35B-A3B xếp #3/96 models về chỉ số thông minh - chất lượng không hề kém.
Ở mức 3,373 tok/s (@50 đồng thời), máy sinh ~291 triệu token/ngày. So sánh chi phí:
API (GPT-4o) Tự host
──────────────────────────────────────────────
1M output tokens $10.00 ~$0.05
291M tokens/ngày $2,910 ~$3 (điện)
Tháng (chạy hết) $87,300 ~$90Millstone AI đo mức tiêu thụ điện chi tiết: đỉnh 487W ở 256K / 5 đồng thời. Ở tải chatbot thông thường (8K–32K), công suất khoảng 200–350W.
ROI: máy hoàn vốn trong vài ngày nếu chạy hết tải. Dĩ nhiên, đây là so sánh thô - chất lượng model khác nhau, và tự host cần công sức vận hành. Nhưng với bài toán phù hợp, con số nói lên tất cả.
Lưu ý
Để benchmark có ý nghĩa, cần lưu ý:
Hai công cụ đo khác nhau: benchmark nội bộ (500 max_tokens) và
vllm bench serve(256 output) cho số liệu hơi khác nhau — hoàn toàn bình thường“Prefill tok/s” là chỉ số tổng hợp: tính từ
input_tokens / TTFT, bao gồm cả chi phí lập lịch của vLLMKhông so trực tiếp được với benchmark trên RTX 5090, 8x3090, hay framework khác (SGLang, TensorRT-LLM)
Máy đang chạy thật: không phải máy chuyên benchmark, có tiến trình khác chạy đồng thời
Millstone dùng 1024 output tokens, mình dùng 256 — sinh dài hơn thì TTFT được phân bổ ra, làm tok/s nhìn cao hơn. So sánh TPOT (mỗi token) chính xác hơn so sánh tổng tok/s
Chất lượng khác nhau: Qwen3.5-35B ≠ GPT-4o ≠ Claude Sonnet. So sánh chi phí chỉ có ý nghĩa khi model đủ tốt cho bài toán cụ thể
Kết luận
Qwen3.5-35B-A3B + GPTQ-Int4 + vLLM 0.18.0 trên RTX Pro 6000 Blackwell:
160+ tok/s decode ổn định ở mọi độ dài ngữ cảnh
3,373 tok/s thông lượng tổng @50 đồng thời
21 GiB VRAM — dư chỗ chạy nhiều model
TPOT 6ms — nhanh hơn hầu hết API trên cloud
Được xác nhận bởi Millstone AI (benchmark độc lập, FP8)
Tự host LLM inference không phải cho mọi người. Nhưng nếu bạn có tải đủ lớn, cần bảo mật dữ liệu, và sẵn sàng đầu tư vào phần cứng — một GPU Blackwell + model MoE + GPTQ quantization là sự kết hợp rất mạnh.


