majentik/Nemotron-3-Nano-4B-TurboQuant-GGUF-Q4_K_M overview
TIP KV cache quantization without any fork recommended, 2026 : upstream llama.cpp/Ollama now cover this natively — use ctk q8 0 ctv q8 0 ~half KV memory, negli…
Runs locally from ~2.64 GB disk (4 GB VRAM class GPUs with llama.cpp / guIDE).
Repository Files & Downloads
| File | Type | Quantization | Size | Link |
|---|---|---|---|---|
| Nemotron-3-Nano-4B-TurboQuant-Q4_K_M.gguf | GGUF | Q4_K_M | 2.64 GB | Download |
Model Details
| Model ID | majentik/Nemotron-3-Nano-4B-TurboQuant-GGUF-Q4_K_M |
|---|---|
| Author | majentik |
| Pipeline | text-generation |
| License | other |
| Base model | nvidia/NVIDIA-Nemotron-3-Nano-4B-BF16 |
| Last modified | 2026-07-20T16:10:46.000Z |
Model README
---
license: other
license_name: nvidia-open-model-license
license_link: https://developer.download.nvidia.com/licenses/nvidia-open-model-license-agreement-june-2024.pdf
base_model: nvidia/NVIDIA-Nemotron-3-Nano-4B-BF16
tags:
- gguf
- turboquant
- kv-cache-quantization
- nemotron
- nvidia
- mamba2
- hybrid
- llama-cpp
- quantized
library_name: gguf
pipeline_tag: text-generation
---
> [!TIP]
> KV-cache quantization without any fork (recommended, 2026): upstream
> llama.cpp/Ollama now cover this natively — use -ctk q8_0 -ctv q8_0
> (~half KV memory, negligible quality loss: perplexity +0.002–0.05) or
> -ctk q4_0 -ctv q4_0 (~quarter memory, ≈7.6% perplexity increase). In
> Ollama: OLLAMA_KV_CACHE_TYPE=q8_0 with OLLAMA_FLASH_ATTENTION=1. Keep
> K and V types symmetric to stay on the fast fused Flash-Attention path.
> Since April 2026, mainline llama.cpp also applies Hadamard rotation to
> KV activations (PR #21038),
> which greatly improves low-bit KV quality (opt-out:
> LLAMA_ATTN_ROT_DISABLE=1).
>
> The RotorQuant/TurboQuant fork flow below is experimental/legacy: the
> TurboQuant llama.cpp PR was closed without merging (June 2026) and the fork
> is unmaintained relative to mainline. It is NOT required to use this model.
<!-- kv-upstream-note -->
Nemotron-3-Nano-4B-TurboQuant-GGUF-Q4_K_M
GGUF Q4_K_M weight-quantized variant of nvidia/NVIDIA-Nemotron-3-Nano-4B-BF16 optimised for use with TurboQuant KV cache compression via a dedicated llama.cpp fork.
> Important: TurboQuant KV cache types (planar3, iso3) are not available in upstream llama.cpp, standard Ollama, or LM Studio.
> They require a specific llama.cpp fork.
> The GGUF file itself is a standard GGUF and works with any llama.cpp-compatible runtime using normal KV cache types (f16, q8_0, q4_0, etc.).
Hardware compatibility
| Device | VRAM / RAM | Recommendation |
| --- | --- | --- |
| CPU host with ≥8 GB RAM | ~2.4 GB | works via llama.cpp; slower than GPU but no accelerator required |
| Apple Silicon (Metal) | ~2.6 GB | llama.cpp Metal backend; fast on M-series unified memory |
| NVIDIA GPU (partial offload) | split between GPU + RAM | offload as many layers as VRAM allows; rest on CPU |
Overview
This model combines two independent compression techniques:
| Technique | What it does | Requirement |
|-----------|-------------|-------------|
| GGUF Q4_K_M weight quantization | Reduces model size from ~8 GB (BF16) to ~2.2 GB | Any llama.cpp-compatible runtime |
| TurboQuant KV cache compression — random rotation + Lloyd-Max scalar quantization (--cache-type-k planar3 --cache-type-v planar3) | Block-diagonal rotations / random rotation for compressed KV cache | llama-cpp-turboquant fork only |
Quickstart
Option A — RotorQuant KV cache (experimental fork — not required)
You must build from the TurboQuant-enabled llama.cpp fork:
# Clone and build the fork
git clone https://github.com/johndpope/llama-cpp-turboquant.git
cd llama-cpp-turboquant && git checkout feature/planarquant-kv-cache
# CUDA (Windows/Linux)
cmake -B build -DGGML_CUDA=ON -DCMAKE_BUILD_TYPE=Release && cmake --build build -j
# Metal (Apple Silicon)
cmake -B build -DGGML_METAL=ON -DGGML_METAL_EMBED_LIBRARY=ON -DCMAKE_BUILD_TYPE=Release && cmake --build build -j
# Run with TurboQuant KV cache
./build/bin/llama-cli -m Nemotron-3-Nano-4B-TurboQuant-GGUF-Q4_K_M.gguf \
--cache-type-k planar3 --cache-type-v planar3 \
-ngl 99 -fa \
-p "Explain quantum computing"
# Or run as a server
./build/bin/llama-server -m Nemotron-3-Nano-4B-TurboQuant-GGUF-Q4_K_M.gguf \
--cache-type-k planar3 --cache-type-v planar3 \
-ngl 99 -fa --jinja
Option B — With standard llama.cpp / LM Studio / Ollama
The GGUF works as a normal quantised model. You won't get TurboQuant-specific KV cache benefits, but standard KV cache quantization (q8_0, q4_0) still reduces VRAM significantly.
llama.cpp (upstream)
llama-cli -m Nemotron-3-Nano-4B-TurboQuant-GGUF-Q4_K_M.gguf \
--cache-type-k q8_0 --cache-type-v q8_0 \
-ngl 99 -fa \
-p "Explain quantum computing"
LM Studio
- Download the GGUF file and load in LM Studio.
- Enable Developer Mode (Settings → Developer).
- In the model loader's advanced settings, set Flash Attention to ON.
- Set K Cache Quantization and V Cache Quantization to
q8_0(orq4_0for more aggressive VRAM savings). - Note: LM Studio does not currently support TurboQuant's
planar3cache types. Track this feature request for updates.
Ollama
# Standard Ollama does not support TurboQuant cache types.
# Use with default or q8_0 KV cache via OLLAMA_KV_CACHE_TYPE=q8_0
OLLAMA_KV_CACHE_TYPE=q8_0 OLLAMA_FLASH_ATTENTION=1 ollama run majentik/Nemotron-3-Nano-4B-TurboQuant-GGUF-Q4_K_M
Specifications
| Property | Value |
|----------|-------|
| Base Model | nvidia/NVIDIA-Nemotron-3-Nano-4B-BF16 |
| Architecture | Mamba-2 + Transformer hybrid (dense) |
| Parameters | 4B (dense hybrid) |
| Context Length | 262K |
| Weight Quantization | GGUF Q4_K_M (popular 4-bit, best quality/size tradeoff) |
| Original Size (BF16) | ~8 GB |
| Quantized File Size | ~2.2 GB |
| KV Cache (TurboQuant) | 3-bit via --cache-type-k planar3 --cache-type-v planar3 (fork only) |
| KV Cache (standard) | q8_0, q4_0, f16, etc. (any llama.cpp runtime) |
| License | other |
| Modalities | Text only |
| Compatible Runtimes | llama.cpp, LM Studio, Ollama, koboldcpp |
About the RotorQuant / TurboQuant labels
RotorQuant and TurboQuant are this project's release labels, not distinct
quantization algorithms — for any given tier, both brand repos carry
byte-identical weights produced with the standard MLX / llama.cpp quantizers.
No brand-specific speedup is claimed or measured. The KV-cache fork these
labels originally referred to is legacy; for KV-cache memory savings use the
upstream options described above (-ctk/-ctv q8_0, OLLAMA_KV_CACHE_TYPE).
Current Status of TurboQuant in the Ecosystem
| Runtime | TurboQuant Support | Standard KV Quant |
|---------|---------------------|-------------------|
| llama.cpp (upstream) | ❌ Not merged | ✅ q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1 |
| llama-cpp-turboquant fork | ✅ planar3 | ✅ All standard types |
| LM Studio | ❌ Requested | ✅ Via advanced settings |
| Ollama | ❌ Not supported | ✅ Via OLLAMA_KV_CACHE_TYPE |
| koboldcpp | ❌ Not supported | ✅ Standard types |
Recommended Settings
For VRAM-constrained setups, standard q8_0 KV cache quantization already halves KV cache memory with negligible quality impact. Flash Attention should always be enabled — it is required for V cache quantization and improves memory efficiency regardless.
| VRAM | Suggested Configuration |
|------|------------------------|
| 24 GB (RTX 4090) | Q4_K_M + q8_0 KV cache + Flash Attention, 8K–16K context |
| 16 GB | Q4_K_M + q4_0 KV cache + Flash Attention, 4K–8K context |
| 48+ GB | Q4_K_M + f16 KV cache, full 32K+ context |
See Also
- RotorQuant GitHub
- llama-cpp-turboquant fork
- TurboQuant llama.cpp discussion
- TurboQuant paper (arXiv: 2504.19874)
- Base model: nvidia/NVIDIA-Nemotron-3-Nano-4B-BF16
- Nemotron-3-Nano-4B announcement
Quant trade-off (GGUF lane)
| Quant | Approx size | Use case | Recommendation |
|---|---|---|---|
| Q2_K | ~2.2 GB | Lossy, low-RAM CPU/edge | Resource-constrained inference |
| Q3_K_M | ~2.4 GB | Smaller-than-Q4, modest quality drop | Edge devices with ~16 GB RAM |
| IQ4_XS | ~2.1 GB | Importance-quant 4-bit, smaller than Q4_K_M | Best size/quality at 4-bit |
| Q4_K_M | ~3.0 GB | Balanced default | Recommended for most users |
| Q5_K_M | ~3.1 GB | Higher fidelity than Q4 | Quality-sensitive applications |
| Q6_K | ~3.6 GB | Approaching FP16 quality | High-fidelity CPU/edge |
| Q8_0 | ~4.1 GB | Near-lossless reference | Fidelity-critical work |
| MXFP4_MOE | ~2.2 GB | Microscaling FP4 (MoE-aware) | vLLM / transformers users |
(Current variant — Q4_K_M — is bolded.)
Variants in this family
(Showing 13 sibling variants under majentik/nemotron3-nano-4b-*. The current variant — TurboQuant-GGUF-Q4_K_M — is bolded.)
| Variant | Runtime | Approx size | Use case |
|---|---|---|---|
| TurboQuant-GGUF-Q4_K_M | llama.cpp | ~4.4 GB | Balanced default |
Run majentik/Nemotron-3-Nano-4B-TurboQuant-GGUF-Q4_K_M with guIDE
Download guIDE — the AI-native code editor with local LLM inference and 69 built-in tools.
Source: Hugging Face · Compare models