Qwen3.8-27B · vLLM · NVFP4 · conc-64
status: done
Configuration
| Model | Qwen/Qwen3.8-27B |
|---|---|
| Company | Alibaba |
| Family | Qwen |
| Parameters | 27B (dense, hybrid linear-attn) |
| Engine | vLLM |
| Quant / precision | NVFP4 |
| Why this quant | Same unsloth NVFP4 checkpoint as the conc-32 headline — only --max-num-seqs differs. Extends the curve past the c32 headline, and the non-speculative baseline for the conc-64 MTP config. |
| Download | unsloth/Qwen3.8-27B-NVFP4 |
| Context window | 65536 |
| Input modalities | text, image, video (served text-only here) |
Measured results
| Prefill tok/s | 363.75 |
|---|---|
| Decode tok/s | 283.72 |
| Peak memory (GB) | 105.39 (system MemAvailable delta (10s sampling) — vLLM static KV reservation (util 0.85)) |
| Completed | 2026-08-21 03:13 +0800 |
Full run command
# conc-64 point. Identical to the conc-32 base recipe except --max-num-seqs.
scripts/bench-vllm-serving.sh unsloth/Qwen3.8-27B-NVFP4 65536 64 1000 900 256 \
--trust-remote-code --dtype bfloat16
# 1000/1000 prompts in 840.0 s — DRAINED the dataset, did NOT hit the 900 s cap. 0 errors.
# ready after 358 s. TTFT median 658.1 ms, TPOT median 209.1 ms.
Notes
283.7 tok/s at conc-64 — and the first point where the sweep’s run cap stops binding.
- Result (conc 64): prefill 363.75 / decode 283.72 tok/s; TTFT median 658.1 ms, TPOT median 209.1 ms. 1000/1000 completed in 840.0 s, 0 errors. Load 358 s.
- Read this number as a floor, not a steady state. Every point from c1 to c32 hit the 900 s time cap
with prompts to spare, so its aggregate is pure steady-state throughput. At c64 the box chewed through
all 1000 ShareGPT prompts in 840 s, so the average includes the ramp-down tail where fewer than 64
slots are busy. Mean request latency is ≈64/1.19 ≈ 54 s, so roughly the last 6% of the window is
draining — real steady-state throughput is a few percent above 283.7. A saturated re-run at
--num-prompts 4000is recorded below when available; the 1000-prompt figure is kept as the headline so the c1…c128 curve stays recipe-identical. - Scaling continues to flatten: 1.94× (c4→c8) → 1.71× (c8→c16) → 1.63× (c16→c32) → 1.35× (c32→c64), and that 1.35× is itself understated by the tail. The GB10 is firmly compute-bound at this batch.
- Per-stream latency is where c64 actually costs you: TPOT 209.1 ms, up 45% from c32’s 144.1 and 2.4× the c1 floor of 88.5 ms. At ~5 tok/s per stream this is past what most interactive use tolerates. c64 is a batch-throughput setting, not a chat setting.
- Memory 105.4 GB, mid-band — unchanged by concurrency, as everywhere on this sweep. Resident breakdown on the conc-32 base.
- Base-vs-MTP comparison on conc-64 + MTP.
- Served text-only (
mm_served: false), ctx 65536, consistent with the rest of the sweep.