How to use from
Docker Model Runner
docker model run hf.co/majentik/Nemotron-3-Nano-4B-RotorQuant-GGUF-Q2_K:Q2_K
Quick Links

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.

Nemotron-3-Nano-4B-RotorQuant-GGUF-Q2_K

GGUF Q2_K weight-quantized variant of nvidia/NVIDIA-Nemotron-3-Nano-4B-BF16 optimised for use with RotorQuant KV cache compression via a dedicated llama.cpp fork.

Important: RotorQuant 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 ~1.5 GB works via llama.cpp; slower than GPU but no accelerator required
Apple Silicon (Metal) ~1.7 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 Q2_K weight quantization Reduces model size from ~8 GB (BF16) to ~1.4 GB Any llama.cpp-compatible runtime
RotorQuant KV cache compression — block-diagonal Clifford-algebra rotors for 3-bit KV cache (--cache-type-k iso3 --cache-type-v iso3) 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 RotorQuant-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 RotorQuant KV cache
./build/bin/llama-cli -m Nemotron-3-Nano-4B-RotorQuant-GGUF-Q2_K.gguf \
  --cache-type-k iso3 --cache-type-v iso3 \
  -ngl 99 -fa \
  -p "Explain quantum computing"

# Or run as a server
./build/bin/llama-server -m Nemotron-3-Nano-4B-RotorQuant-GGUF-Q2_K.gguf \
  --cache-type-k iso3 --cache-type-v iso3 \
  -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 RotorQuant-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-RotorQuant-GGUF-Q2_K.gguf \
  --cache-type-k q8_0 --cache-type-v q8_0 \
  -ngl 99 -fa \
  -p "Explain quantum computing"

LM Studio

  1. Download the GGUF file and load in LM Studio.
  2. Enable Developer Mode (Settings → Developer).
  3. In the model loader's advanced settings, set Flash Attention to ON.
  4. Set K Cache Quantization and V Cache Quantization to q8_0 (or q4_0 for more aggressive VRAM savings).
  5. Note: LM Studio does not currently support RotorQuant's iso3 cache types. Track this feature request for updates.

Ollama

# Standard Ollama does not support RotorQuant 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-RotorQuant-GGUF-Q2_K

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 Q2_K (aggressive 2-bit, noticeable quality drop)
Original Size (BF16) ~8 GB
Quantized File Size ~1.4 GB
KV Cache (RotorQuant) 3-bit via --cache-type-k iso3 --cache-type-v iso3 (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 RotorQuant in the Ecosystem

Runtime RotorQuant 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, iso3 ✅ 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) Q2_K + q8_0 KV cache + Flash Attention, 8K–16K context
16 GB Q2_K + q4_0 KV cache + Flash Attention, 4K–8K context
48+ GB Q2_K + f16 KV cache, full 32K+ context

See Also

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 — Q2_K — is bolded.)

Variants in this family

(Showing 13 sibling variants under majentik/nemotron3-nano-4b-*. The current variant — RotorQuant-GGUF-Q2_K — is bolded.)

Variant Runtime Approx size Use case
RotorQuant-GGUF-Q2_K llama.cpp ~2.4 GB Lossy, low-RAM CPU/edge
Downloads last month
76
GGUF
Model size
4B params
Architecture
nemotron_h
Hardware compatibility
Log In to add your hardware

2-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for majentik/Nemotron-3-Nano-4B-RotorQuant-GGUF-Q2_K

Collection including majentik/Nemotron-3-Nano-4B-RotorQuant-GGUF-Q2_K

Paper for majentik/Nemotron-3-Nano-4B-RotorQuant-GGUF-Q2_K