Gemma 4 E4B-it QAT, W4A16 with int4 embeddings, text only (unofficial)
The E4B text-only W4A16 repack
xbill9/gemma-4-E4B-it-qat-q4_0-w4a16-ct-text
with its embedding tables packed as int4 too, the E4B twin of
xbill9/gemma-4-E2B-it-qat-q4_0-w4a16-ct-text-emb4.
QAT put the embedding tables on the same 4-bit grid as the linears (group 32), so the
packing recovers that grid; an off-grid group would abort the build.
| Table | bf16 | int4 + fp16 scales |
|---|---|---|
embed_tokens_per_layer (per-layer embeddings) |
5.250 GiB | 1.477 GiB |
embed_tokens |
1.250 GiB | 0.352 GiB |
lm_head |
tied to embed_tokens |
0.352 GiB int4, untied copy |
| Checkpoint | 4.26 GiB |
- 0 off-grid groups in either table; 74.78 % (per-layer embeddings) and 73.48 %
(
embed_tokens) of values bit-identical, worst error 0.66 % of the group maximum. lm_headis untied: vLLM ties the output layer by copying the embedding's.weight, which a packed embedding does not have, so the same levels and scales are written a second time aslm_headand run as an int4 linear. The model was trained tied.- Linear layers are unchanged from the W4A16 repack (0 group-level mismatches against the
QAT source,
verify_report.json).
Made with embed_int4.py
(--embed-tokens, default fp16 scales). Needs vLLM 0.29 or later
(CompressedTensorsEmbeddingWNA16Int).
Limitations
- Text only.
- Unofficial. Report problems here, not to Google.