Gemma 4 E2B on a Single TPU v6e Chip: A Serving Deep Dive Google's Gemma 4 E2B model serves efficiently on a single TPU v6e chip, achieving 213 tok/s for a single user and scaling to ~2,200 output tok/s across concurrent streams, while its QAT variants fail to load due to a loader bug. A developer found that the plain checkpoint works, but the int4 and bf16 QAT exports hit unimplemented quantization paths or missing weights, filed as issue #3225. Measured 2026-07-21 on vllm/vllm-tpu:nightly vLLM 0.23.1rc1.dev1076 , a GCE flex-start ct6e-standard-1t one TPU v6e chip, 32 GB HBM in europe-west4-a. The plain google/gemma-4-E2B-it serves well on one v6e chip; none of its QAT siblings load at all. The 2-billion-parameter "efficient" Gemma 4 sustains 213 tok/s for a single user with a 16 ms first token, scales to ~2,200 output tok/s across concurrent streams, handles OpenAI-style function calling — including parallel calls and refusal to hallucinate calls — without a miss, and answers simple vision questions accurately in ~200 ms. The QAT variants are a different story: the int4 compressed-tensors export hits an unimplemented quantization path, and the bf16 QAT export trips a loader bug — the Gemma 4 implementation demands per-layer norms that E2B's KV-sharing architecture legitimately doesn't have. Filed upstream as tpu-inference 3225 https://github.com/vllm-project/tpu-inference/issues/3225 . One capability coupling to know about: with a reasoning parser configured, schema enforcement only engages when thinking is enabled — thinking-off requests sail through unconstrained with a 200 status. Config interaction, not TPU limitation; details below. The host is a GCE flex-start VM — capacity granted on request, billed until deleted, hard-stopped at a 4-hour max run, $1.35/chip-hour. A startup script installs Docker, pulls vllm/vllm-tpu:nightly , fetches the Hugging Face token from Secret Manager via the metadata server, and launches vLLM. Boot timeline: VM RUNNING at t+0 200 GB boot disk — the 10 GB default cannot hold the vLLM image → Docker installed ~t+1:00 → image pulled ~t+6:00 → weights downloaded, XLA compiled, health green ~t+8:30. Two environment quirks worth knowing: gcloud compute ssh --tunnel-through-iap rides over HTTPS and works; so does tunneling the API port with gcloud compute start-iap-tunnel