Text Generation
GGUF
turboquant
kv-cache-quantization
nemotron
nvidia
mamba2
hybrid
Mixture of Experts
llama-cpp
quantized
conversational
Instructions to use majentik/Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- llama-cpp-python
How to use majentik/Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M with llama-cpp-python:
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="majentik/Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M", filename="Nemotron-3-Nano-30B-A3B-TurboQuant-Q4_K_M.gguf", )
llm.create_chat_completion( messages = [ { "role": "user", "content": "What is the capital of France?" } ] ) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use majentik/Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M 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 majentik/Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M:Q4_K_M # Run inference directly in the terminal: llama cli -hf majentik/Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf majentik/Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M:Q4_K_M # Run inference directly in the terminal: llama cli -hf majentik/Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M:Q4_K_M
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 majentik/Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf majentik/Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M:Q4_K_M
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 majentik/Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf majentik/Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M:Q4_K_M
Use Docker
docker model run hf.co/majentik/Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use majentik/Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "majentik/Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "majentik/Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/majentik/Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M:Q4_K_M
- Ollama
How to use majentik/Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M with Ollama:
ollama run hf.co/majentik/Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M:Q4_K_M
- Unsloth Studio
How to use majentik/Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for majentik/Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for majentik/Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for majentik/Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M to start chatting
- Pi
How to use majentik/Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf majentik/Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M:Q4_K_M
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "majentik/Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use majentik/Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf majentik/Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M:Q4_K_M
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 majentik/Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M:Q4_K_M
Run Hermes
hermes
- Atomic Chat new
- Docker Model Runner
How to use majentik/Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M with Docker Model Runner:
docker model run hf.co/majentik/Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M:Q4_K_M
- Lemonade
How to use majentik/Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull majentik/Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M:Q4_K_M
Run and chat with the model
lemonade run user.Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M-Q4_K_M
List all available models
lemonade list
File size: 7,711 Bytes
bfa9043 32b6d20 bfa9043 e4404dd 32b6d20 bfa9043 32b6d20 bfa9043 e4404dd bfa9043 32b6d20 bfa9043 32b6d20 bfa9043 32b6d20 bfa9043 32b6d20 bfa9043 32b6d20 bfa9043 32b6d20 bfa9043 32b6d20 bfa9043 32b6d20 bfa9043 32b6d20 bfa9043 32b6d20 bfa9043 32b6d20 bfa9043 32b6d20 bfa9043 32b6d20 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 | ---
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-30B-A3B-BF16
tags:
- gguf
- turboquant
- kv-cache-quantization
- nemotron
- nvidia
- mamba2
- hybrid
- moe
- llama-cpp
- quantized
library_name: gguf
pipeline_tag: text-generation
---
# Nemotron-3-Nano-30B-A3B-TurboQuant-GGUF-Q4_K_M
GGUF Q4_K_M weight-quantized variant of [nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-BF16](https://huggingface.co/nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-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](https://github.com/johndpope/llama-cpp-turboquant/tree/feature/planarquant-kv-cache).
> 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 β₯18 GB RAM | ~17.8 GB | works via llama.cpp; slower than GPU but no accelerator required |
| Apple Silicon (Metal) | ~19.4 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 ~60 GB (BF16) to ~16.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](https://github.com/johndpope/llama-cpp-turboquant/tree/feature/planarquant-kv-cache) only |
## Quickstart
### Option A β With TurboQuant KV cache (fork required)
You must build from the TurboQuant-enabled llama.cpp fork:
```bash
# 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-30B-A3B-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-30B-A3B-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)**
```bash
llama-cli -m Nemotron-3-Nano-30B-A3B-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**
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 TurboQuant's `planar3` cache types. Track [this feature request](https://github.com/lmstudio-ai/lmstudio-bug-tracker/issues/1719) for updates.
**Ollama**
```bash
# 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-30B-A3B-TurboQuant-GGUF-Q4_K_M
```
## Specifications
| Property | Value |
|----------|-------|
| Base Model | [nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-BF16](https://huggingface.co/nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-BF16) |
| Architecture | Mamba-2 + Transformer hybrid Sparse MoE |
| Parameters | 30.7B total, 3.2B active per token |
| Context Length | 1M |
| Weight Quantization | GGUF Q4_K_M (popular 4-bit, best quality/size tradeoff) |
| Original Size (BF16) | ~60 GB |
| Quantized File Size | ~16.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 |
## What is TurboQuant?
[TurboQuant](https://arxiv.org/abs/2504.19874) (ICLR 2026) is a KV cache compression method that applies a random orthogonal rotation followed by optimal scalar quantization. Bit-identical prefill logits at 4-bit on tested models, with up to 4-8Γ memory savings for long sequences.
**Benchmarks from the TurboQuant repository** (Llama 3.1 8B, RTX 5090 β results will vary by model and hardware):
| Metric | TurboQuant (4-bit) | Standard q4_0 |
|--------|--------------------|---------------|
| Quality | Bit-identical prefill | Lossy |
| KV Compression | ~4Γ vs FP16 | ~4Γ vs FP16 |
| Speedup (Apple Silicon) | 1.4β1.7Γ | β |
> **Note:** These benchmarks are from the TurboQuant repository using Llama 3.1 8B on an RTX 5090. Performance on Nemotron-3-Nano-30B-A3B will differ. Independent benchmarks for this specific model are welcome β please open a discussion if you have results to share.
## 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](https://github.com/lmstudio-ai/lmstudio-bug-tracker/issues/1719) | β
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](https://github.com/scrya-com/rotorquant)
- [llama-cpp-turboquant fork](https://github.com/johndpope/llama-cpp-turboquant/tree/feature/planarquant-kv-cache)
- [TurboQuant llama.cpp discussion](https://github.com/ggml-org/llama.cpp/discussions/20969)
- [TurboQuant paper (arXiv: 2504.19874)](https://arxiv.org/abs/2504.19874)
- [Base model: nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-BF16](https://huggingface.co/nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-BF16)
- [Nemotron-3-Nano-30B-A3B announcement](https://huggingface.co/blog/nvidia/nemotron-3-nano-efficient-open-intelligent-models)
|