Skip to content

feat(gemma): add official Google QAT TP=4 profile - #815

Open
Whamp wants to merge 2 commits into
noonghunna:masterfrom
Whamp:feat/gemma-31b-google-qat-tp4
Open

feat(gemma): add official Google QAT TP=4 profile#815
Whamp wants to merge 2 commits into
noonghunna:masterfrom
Whamp:feat/gemma-31b-google-qat-tp4

Conversation

@Whamp

@Whamp Whamp commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a supported four-card profile for Google's official google/gemma-4-31B-it-qat-w4a16-ct checkpoint:

  • slug: vllm/gemma-31b-multi-google-qat-w4a16
  • stock vLLM v0.25.1, TP=4, BF16 KV, native 262,144 context
  • official Gemma assistant drafter at MTP n=2
  • canonical Google chat template and native Gemma ParserEngine
  • ⚠️ Production w/ caveats

This solves the missing full-native-context Gemma option for four 3090s using Google's own QAT checkpoint. Compared with the same-session no-MTP baseline, n=2 changes narrative/code decode from 82.45/82.68 to 80.61/92.34 TPS: −2.2% narrative, +11.7% code, approximately +4.7% across the canonical pair. The trade-off is use of all four GPUs and a thin 1.2 GiB/card margin at near-max context.

Closes #814.

Type of change

  • New compose variant
  • New patch / sidecar
  • New script or tool
  • New model
  • Documentation / benchmark data

Verification

  • Actual registered compose booted through switch.sh
  • Profile header complete and status/registry drift guard passes
  • BENCHMARKS row added
  • models/gemma-4-31b/CHANGELOG.md added
  • Full rig and validation evidence attached below

MTP n-sweep

Every n=1–4 arm passed 20/20 repeated streamed two-tool calls with both argument objects preserved, confirming vLLM #45588 resolves the legacy Gemma MTP parser failure on v0.25.1.

Arm Narrative decode Code decode
no MTP 82.45 82.68
n=1 78.75 86.34
n=2 80.61 92.34
n=3 73.18 85.36
n=4 69.02 84.43

The profile embeds a measured MTP_ACCEPT_MIN=1.8. The generic 2.0 acceptance floor was tuned for deeper Qwen drafting; n=2 is independently throughput-positive and correctness-gated here.

Operational gate

  • verify-full.sh: PASS without host overrides
  • verify-stress.sh: PASS through 257,544 prompt tokens (98%)
  • KV pool: 650,262 tokens / 14.84 GiB; 2.48× native-window concurrency
  • VRAM free at 257K: 1,213 MiB/card
  • vision smoke: PASS — identified a blue circle centered on red
  • soak: 100/100; 0 errors, silent outputs, or VRAM growth; 104.2% retention
  • 10K/90K prefill: 981/692 tok/s

Full 8-pack quality

Mode TC IF SO DE RM BF HA CLI Total
thinking off 12/15 14/15 15/15 12/15 13/15 14/15 14/20 22/40 116/150
thinking on 15/15 14/15 14/15 12/15 13/15 15/15 13/20 26/40 122/150

Repository guards

The full scripts/tests/*.sh suite passes except test-switch-explain.sh. That test fails identically on unchanged master on this four-GPU host: vllm/default detects multi4, but Qwen has no vLLM TP=4 DEFAULTS row. No profile-relevant guard fails.

Full report and selected raw logs: https://gist.github.com/Whamp/742569247ce18c234bd3c7170d18b724

Caveats

  1. Uses all four GPUs.
  2. MTP n=2 trades −2.2% narrative for +11.7% code decode.
  3. Vision passes at short context, but vision plus near-max text is unvalidated at the 1.2 GiB/card margin.

Cross-links

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Profile: official Gemma 4 31B Google QAT W4A16 on 4x3090 TP=4

1 participant