| # Gemma 4 E4B MTP drafter | |
| Multi-Token Prediction (MTP) drafter for `unsloth/gemma-4-E4B-it-GGUF`. It runs as a speculative draft model that shares the target's KV cache and speeds up text generation. | |
| Verified on a single B200 with the `gemma-4-E4B-it-Q4_K_M.gguf` target: 150 tok/s without MTP, 214 tok/s with MTP, 0.66 draft acceptance. | |
| MTP for E4B was added to llama.cpp on 2026-06-08 (PR ggml-org/llama.cpp#24282). You need a llama.cpp build from after that date. Older builds cannot load these (arch `gemma4-assistant`). | |
| Run E4B with `-fa off`. With flash attention on, the draft model currently aborts in the CUDA flash attention kernel. | |
| ## Files | |
| For `-hf` auto-discovery a Q8_0 drafter sits at the repo root as `mtp-gemma-4-E4B-it.gguf`. The same three precisions live in `MTP/`: | |
| - `mtp-gemma-4-E4B-it-Q8_0.gguf` (smallest, recommended; mirrored at the repo root as `mtp-gemma-4-E4B-it.gguf`) | |
| - `mtp-gemma-4-E4B-it-BF16.gguf` | |
| - `mtp-gemma-4-E4B-it-F16.gguf` | |
| ## Build llama.cpp | |
| ```bash | |
| git clone https://github.com/ggml-org/llama.cpp | |
| cd llama.cpp | |
| # CUDA build. Set the arch for your GPU: 89 (RTX 4090), 90 (H100), 100 (B200). | |
| cmake -B build -DGGML_CUDA=ON -DCMAKE_CUDA_ARCHITECTURES=90 | |
| cmake --build build --config Release -j --target llama-server | |
| ``` | |
| ## Run, the easy way | |
| A recent llama.cpp finds the drafter automatically from the root `mtp-` file, so `-hf` is all you need. No `--model-draft`. | |
| ```bash | |
| ./build/bin/llama-server \ | |
| -hf unsloth/gemma-4-E4B-it-GGUF:Q4_K_M \ | |
| --spec-type draft-mtp --spec-draft-n-max 4 \ | |
| -ngl 999 -fa off | |
| ``` | |
| If your build is too old to auto-discover the sibling, use the explicit form below. | |
| ## Run with an explicit drafter | |
| Use this to choose a precision or point at a local file. | |
| ```bash | |
| hf download unsloth/gemma-4-E4B-it-GGUF gemma-4-E4B-it-Q4_K_M.gguf --local-dir . | |
| hf download unsloth/gemma-4-E4B-it-GGUF MTP/mtp-gemma-4-E4B-it-Q8_0.gguf --local-dir . | |
| ./build/bin/llama-server \ | |
| -m gemma-4-E4B-it-Q4_K_M.gguf \ | |
| --model-draft MTP/mtp-gemma-4-E4B-it-Q8_0.gguf \ | |
| --spec-type draft-mtp --spec-draft-n-max 4 \ | |
| -ngl 999 -fa off | |
| ``` | |
| Multi GPU: add `--spec-draft-device CUDA0 -sm layer`. The drafter pairs with any quant of the E4B. Quantized KV cache works. | |
Xet Storage Details
- Size:
- 2.23 kB
- Xet hash:
- 2caf45cc5a5a6d210c1cd53c9496e68554dbd8e04c106918bdb1c3157f707003
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.