Gemma 4 26B-A4B on a DGX Spark
Gemma 4 26B-A4B is reported at 52 tok/s single-stream on one DGX Spark (vLLM 0.19, NVFP4, ai-muninn, April 2026), and 108 tok/s with multi-token prediction (MTP, ai-muninn, July 2026). The 31B dense sibling manages 6.9 tok/s on the same hardware in community figures ai-muninn cites. GPUwerk has not run any Gemma 4 model on its own fleet, so every Gemma 4 speed on this page is a third-party report with its source and date.
Variants
The Hugging Face model card (checked 2026-10-11) lists the licence as Apache 2.0 and five sizes. Three matter for a single Spark:
| Variant | Type | Active per token | Input per the card | Expected speed class |
|---|---|---|---|---|
| 26B-A4B | Mixture of experts, 25.2B total (128 experts, 8 active plus 1 shared) | 3.8B | Text, image | Fast: 52 tok/s reported (advantage) |
| 31B dense | Dense | All 30.7B | Text, image | Slow: 6.9 tok/s reported (community figure) |
| E4B | Small dense model with per-layer embeddings, 8B with embeddings | 4.5B effective | Text, image, audio | No Spark figure found. A small model reads few bytes per token, so it should be fast; that is an inference, not a report. |
Licence, variant list and input types from the model card, checked 2026-10-11. Parameter counts and expert counts are also from the card. The card also lists E2B and a 12B Unified model, not covered here. The 26B-A4B accepts text and image input but not audio; its context length on the card is 256K tokens (128K for E4B). For image prompts see the multimodal vision models guide; GPUwerk has not tested Gemma 4 image input.
Why the 31B dense model is about 7x slower
Decode speed on a Spark is limited by memory bandwidth, 273 GB/s, divided by the bytes read per token (the formula on the benchmarks page). At 4-bit, roughly half a byte per parameter:
tokens/sec ceiling ≈ 273 GB/s ÷ active bytes per token # 26B-A4B: 3.8B active x ~0.5 byte = ~1.9 GB -> ceiling ~144 tok/s # 31B dense: 30.7B active x ~0.5 byte = ~15.4 GB -> ceiling ~18 tok/s # reported: 52 and 6.9 tok/s, about 36% and 39% of those ceilings
The ceilings are rough (they ignore quantisation scales and layers kept at higher precision). The point is the ratio: 30.7 divided by 3.8 is about 8, and the reported speeds differ by 7.5x (52 against 6.9). Both figures are NVFP4 and both appear on the same ai-muninn page, though the 31B number is one it cites from community benchmarks on the NVIDIA forums rather than its own run. The same cited table has the 31B at 3.7 tok/s in BF16 and 10.6 in AWQ int4: a smaller format helps, but no format brings a dense 31B near the MoE. GPUwerk saw the same dense-against-sparse pattern in its own runs (vLLM 0.27.1, AWQ 4-bit, 2 September 2026): Qwen3-Coder 30B-A3B measured 80.9 tok/s single-stream, Llama 3.3 70B measured 6.0.
Memory fit
The NVFP4 checkpoint used in the ai-muninn run (bg-digitalservices/Gemma-4-26B-A4B-it-NVFP4) is 16.5 GB on disk, as reported on that page. vLLM reports about 121.6 GiB of a Spark’s memory as usable on GPUwerk nodes, so the weights take roughly a seventh of it. That run used --gpu-memory-utilization 0.85 and a 131,072-token context (half the 256K the card lists) with an FP8 KV cache.
By arithmetic (not reported): the 26B-A4B at 16-bit would be about 50 GB (25.2B x 2 bytes), and the 31B at 4-bit about 15.4 GB before scales. Both fit one Spark. Memory is not the constraint with Gemma 4 here; bandwidth is.
Run it on a rented Spark
GPUwerk has no tested Gemma 4 command, so nothing below is verified on its fleet. The April ai-muninn run used Docker, the image vllm/vllm-openai:gemma4-cu130, a community NVFP4 checkpoint and a patched gemma4.py mounted over vLLM’s own. Its July 2026 update says NVIDIA’s official weights, nvidia/Gemma-4-26B-A4B-NVFP4 (shipped 2026-04-30), now run on stock vLLM without the community quant or the patch. Docker does not run inside a GPUwerk instance (see the vLLM doc), so the Docker command cannot be pasted as is. The serving flags from that run:
--quantization modelopt
--kv-cache-dtype fp8
--moe-backend marlin # page: without it, the FP4 MoE path on SM121 / GB10 produces garbage
--gpu-memory-utilization 0.85
--max-model-len 131072
--reasoning-parser gemma4
--enable-auto-tool-choice --tool-call-parser pythonic
On a GPUwerk instance, install vLLM natively as described in the vLLM doc and pass these flags to vllm serve with the official NVIDIA checkpoint. Whether the official weights on a current vLLM still need --moe-backend marlin is not stated in the July update, so check the output before trusting it. Native MTP arrived in vLLM 0.21.0 (released 2026-05-15) per ai-muninn, which says the target and drafter pairing matters for its 108 tok/s. For the choice between engines see choosing an inference engine. A Spark costs $0.79/hour, billed per minute; see pricing.
Reported speeds
All figures are third-party reports, checked 2026-10-11. None is a GPUwerk measurement.
| Engine | Quant | MTP | Single | Concurrent | TTFT | Source | Date |
|---|---|---|---|---|---|---|---|
| vLLM 0.19, 26B-A4B | NVFP4 | Not mentioned | 51.6 tok/s average of five 800-token runs (51.0 at 1,633 tokens) | 114.6 tok/s aggregate at 3 (about 38 each) | 53 ms | ai-muninn | 2026-04-05, updated 2026-06-21 |
| 31B dense, engine not stated | NVFP4 | Not mentioned | 6.9 tok/s | Not reported | Not reported | Community forum figures cited by ai-muninn | 2026-04-05 |
| vLLM 0.21 or later, 26B-A4B | Not stated | Yes | 108 tok/s (advantage) | Not reported | Not reported | ai-muninn | 2026-07-07 |
| vLLM, 26B-A4B | 4-bit (NVFP4 checkpoint per the post) | Yes | 54.9 tok/s | 303.6 tok/s aggregate at 8 | 94 ms | NVIDIA forum | 2026-08-10 |
| Ollama, 26B-A4B | Q4 | Row labelled “+ MTP”; not stated per engine | 49.6 tok/s | 51.9 tok/s aggregate at 8 | 511 ms | NVIDIA forum | 2026-08-10 |
The three vLLM 26B-A4B rows disagree and GPUwerk has not reconciled them. The forum poster says MTP took vLLM single-stream on Gemma-4-26B-A4B-NVFP4 from 30.3 to 54.9 tok/s (+81%), while ai-muninn reports 52 tok/s without MTP and 108 with it; checkpoints, vLLM versions and prompts differ between the sources. ai-muninn also cites vLLM as about 30% faster than Ollama on the same model. Sources: ai-muninn FP4 post, ai-muninn 2026 guide, NVIDIA developer forum harness, model card. In the forum harness Ollama’s aggregate barely moved from one request to eight (49.6 to 51.9 tok/s) while vLLM’s rose to 303.6.
FAQ
How fast is Gemma 4 on a DGX Spark?
The 26B-A4B mixture-of-experts model is reported at 52 tok/s single-stream on vLLM 0.19 with NVFP4 (ai-muninn, April 2026), 108 tok/s with multi-token prediction (ai-muninn, July 2026), and 54.9 tok/s with MTP in a separate NVIDIA forum harness (August 2026). The 31B dense model is at 6.9 tok/s in community forum figures that ai-muninn cites. GPUwerk has not measured any Gemma 4 model.
Should I use the 26B MoE or the 31B dense?
For interactive use on one Spark, the 26B-A4B. It activates 3.8B of its 25.2B parameters per token, the 31B dense reads all 30.7B, and decode speed on a 273 GB/s machine follows bytes read per token: 52 against 6.9 tok/s reported, a ratio of about 7.5. Pick the 31B only if you need what the dense model does better on your prompts and can live with single-digit tok/s, for example in batch jobs.
Does Gemma 4 support MTP on vLLM?
Yes, according to ai-muninn, which reports that MTP became native in vLLM 0.21.0 (released 2026-05-15) and reports 108 tok/s on a Spark, noting that the target and drafter pairing matters. An NVIDIA forum harness reports MTP raising vLLM single-stream on Gemma-4-26B-A4B-NVFP4 from 30.3 to 54.9 tok/s. The two MTP figures differ by about 2x and GPUwerk has not reproduced either.
Ollama or vLLM for Gemma 4?
vLLM, if you serve more than one request at a time. In the NVIDIA forum harness (2026-08-10) Ollama (Q4) reported 49.6 tok/s single and 51.9 aggregate at 8 concurrent, vLLM (4-bit) 54.9 and 303.6, with time to first token of 511 ms against 94 ms. For one user the gap is small: Ollama was about 10% behind vLLM single-stream in that run. ai-muninn cites vLLM as about 30% faster than Ollama on the same model.