Instructions to use tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- memra
How to use tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF with memra:
# memra serves NVIDIA Blackwell workstation and consumer cards (sm_120a), with a # compile-gated Hopper lane. Prebuilt binaries need Linux x86_64 and driver 580+, # and no CUDA toolkit. curl -fsSL https://raw.githubusercontent.com/avifenesh/memra/main/tools/install.sh | sh
# One chat-templated generation. In a repo with several GGUF files, append # :<substring> to choose one, for example hf:tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF:Q4_K_M MEMRA_CHAT=1 run-gen hf:tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF --prompt "Explain KV caches in one sentence."
# Or an OpenAI-compatible server on 127.0.0.1:8080. MEMRA_MODELS="model=hf:tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF" memra-server
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF:NVFP4 # Run inference directly in the terminal: llama cli -hf tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF:NVFP4
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF:NVFP4 # Run inference directly in the terminal: llama cli -hf tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF:NVFP4
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF:NVFP4 # Run inference directly in the terminal: ./llama-cli -hf tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF:NVFP4
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF:NVFP4 # Run inference directly in the terminal: ./build/bin/llama-cli -hf tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF:NVFP4
Use Docker
docker model run hf.co/tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF:NVFP4
- LM Studio
- Jan
- vLLM
How to use tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF:NVFP4
- Ollama
How to use tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF with Ollama:
ollama run hf.co/tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF:NVFP4
- Unsloth Desktop
- Pi
How to use tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF:NVFP4
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF:NVFP4" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF with Docker Model Runner:
docker model run hf.co/tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF:NVFP4
- Lemonade
How to use tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF:NVFP4
Run and chat with the model
lemonade run user.gemma-4-31B-it-assistant-MTP-GGUF-NVFP4
List all available models
lemonade list
- Hermes Agent
How to use tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF:NVFP4
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF:NVFP4
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF:NVFP4
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF:NVFP4" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
gemma-4-31B-it-assistant — MTP drafter GGUF (Q8_0 + NVFP4)
GGUF builds of google/gemma-4-31B-it-assistant, the official 4-block assistant (MTP) drafter for google/gemma-4-31B-it, quantized for speculative decoding of gemma-4-31B-it GGUF trunks.
The assistant is a small draft head (4 layers, hidden 1024, tied embeddings, 262k vocab)
that computes only its own queries and reads the target model's KV cache
(attention_k_eq_v, all 4 layers KV-shared), so its per-draft-token cost is a small
fraction of a target decode step. The target model verifies every drafted token; the
emitted stream is the target's own output.
Files
| file | quant | bytes | sha256 |
|---|---|---|---|
gemma-4-31B-it-official-Q8_0-MTP.gguf |
Q8_0 | 514,666,944 | f5a8758752b1195623a7e22f185b4445d61f19086eaaf9125b47c631ef7a9b66 |
gemma-4-31B-it-official-NVFP4-MTP.gguf |
NVFP4 (6.79 BPW; norms/embeddings kept high-precision) | 414,134,720 | f3374652c1d302cbcd2d72480042965233dea493b72e97d8c14a1dd223844d24 |
Both files carry the full 17,336-byte gemma-4 chat template in their GGUF metadata, byte-identical to the source checkpoint's (verified on the exact published bytes — quantization tooling can silently drop chat templates, so this was gated, not assumed).
How they were made
- The official
google/gemma-4-31B-it-assistantbf16 checkpoint was converted to an F16 GGUF with a byte-parity gate against the source weights (per-layer scalars byte-equal; output norm exact on all 1024 rows). llama-quantizeproduced the Q8_0 and NVFP4 files from that F16 conversion (no imatrix). NVFP4 is a Blackwell-native 4-bit float format; it was measured on RTX PRO 6000 Blackwell (sm_120). On other hardware, use the Q8_0 file.- The F16 conversion itself is deliberately not published as a drafter: a float MTP head does not arm memra's gemma speculative route (float 2D matmul weights ride a different kernel path); the quantized builds are the servable artifacts.
Measured results
All numbers are our own measurements of these exact files. Acceptance is protocol-dependent — trunk quantization, sampling, workload shape and verification policy all move it — so every number below states its protocol.
Acceptance / identity / throughput A/B (fixed workload)
Protocol: memra engine (v0.95.0/v0.96.0 candidates), greedy decoding, single stream, 1× RTX PRO 6000 Blackwell 96 GB; trunk = a Q6_K-class GGUF build of gemma-4-31B-it; draft depth K=5; 12 held-out agent-shaped prompts; interleaved ×5 with one fresh boot per arm per repetition; correctness gate outranks speed — the speculative stream must reproduce plain greedy decode byte-exactly.
| arm | acceptance (accepted/drafted) | tok/s median | byte-identity vs plain |
|---|---|---|---|
| Q8_0 | 67/135 = 0.496, bit-reproducible every repetition | 118.0 | 30/30 |
| NVFP4 | 67/135 = 0.496, numerically identical to Q8_0 every repetition | 118.3 | 30/30 |
| plain reference (same cell, drafter attached, spec route off) | — | 58.2 | — |
The two quantizations are interchangeable on this protocol: acceptance is identical to the count, outputs are byte-identical to plain decode in both arms, and throughput is a wash (~2.03× plain on this cell). What NVFP4 buys is ~100.5 MB on disk/transfer and ~96 MiB resident VRAM.
Hosted-endpoint A/B (production serving config, measured 2026-08-20)
Four fixed greedy probes (256-token budget) through our then-hosted gemma-4-31B-it endpoint, minutes apart, Q8_0 vs NVFP4 under the identical serving configuration: outputs byte-identical on 4/4 probes (content and reasoning channels); probe-set acceptance 549/817 = 0.672 (Q8_0) vs 547/823 = 0.665 (NVFP4) — a wash.
Both files served that endpoint in production: the Q8_0 build until 2026-08-20, then the NVFP4 build until the hosted gemma-4-31B-it endpoint was retired on 2026-08-21. The measurements above are dated production receipts, not claims about a live service.
Lineage pairing matters
This is the official-lineage head (minted from the bf16
gemma-4-31B-it-assistant checkpoint). In our A/Bs it measured 0.58–0.60 prose
acceptance on a trunk built from the official gemma-4-31B-it weights, and 0.28–0.34
when cross-paired with a QAT-lineage trunk. Pair this drafter with trunks derived
from the official weights; QAT trunks want the QAT assistant head.
Run it with memra
memra serves gemma-4-31B-it with this drafter
— attach it with MEMRA_DRAFT and the gemma speculative route arms
automatically (K=5; engages on greedy, unconstrained, text-only sessions; speculative
output is gated byte-identical to plain decode):
MEMRA_MODELS="google/gemma-4-31b-it=/path/to/gemma-4-31B-it-<trunk>.gguf" \
MEMRA_DRAFT=/path/to/gemma-4-31B-it-official-NVFP4-MTP.gguf \
memra-server
Hosted inference
The hosted gemma-4-31B-it endpoint this drafter served was retired on 2026-08-21 (dated receipts above). The same lab runs a production inference API at api.tiyuvta.ai — currently serving Qwen3.8 27B at native 262,144-token context (OpenAI Chat Completions, Responses, and Anthropic Messages on one endpoint, tool calling included), on the same memra engine and exactness gates used for every number on this card. Docs: inference.tiyuvta.ai/docs.
License
apache-2.0, inherited from
google/gemma-4-31B-it-assistant;
see the Gemma 4 license note
linked from the base model card.
- Downloads last month
- 229
4-bit
8-bit
Model tree for tiyuvta/gemma-4-31B-it-assistant-MTP-GGUF
Base model
google/gemma-4-31B-it-assistantEvaluation results
- draft acceptance rate (accepted/drafted), fixed greedy workload on held-out agent-shaped prompt set (12 prompts, single stream, 5 interleaved repetitions per arm)memra serving A/B cell — one fresh boot per arm per repetition, speculative output gated byte-identical to plain greedy decode0.496
- single-stream greedy decode tok/s with this drafter, RTX PRO 6000 Blackwell 96GB on held-out agent-shaped prompt set (12 prompts, single stream, 5 interleaved repetitions per arm)memra serving A/B cell — one fresh boot per arm per repetition, speculative output gated byte-identical to plain greedy decode118.250
- single-stream greedy decode tok/s, plain reference on the same cell on held-out agent-shaped prompt set (12 prompts, single stream, 5 interleaved repetitions per arm)memra serving A/B cell — one fresh boot per arm per repetition, speculative output gated byte-identical to plain greedy decode58.170