Text Generation
GGUF
rotorquant
kv-cache-quantization
nemotron
nvidia
mamba2
hybrid
llama-cpp
quantized
conversational
Instructions to use majentik/Nemotron-3-Nano-4B-RotorQuant-GGUF-Q2_K with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use majentik/Nemotron-3-Nano-4B-RotorQuant-GGUF-Q2_K 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-4B-RotorQuant-GGUF-Q2_K:Q2_K # Run inference directly in the terminal: llama cli -hf majentik/Nemotron-3-Nano-4B-RotorQuant-GGUF-Q2_K:Q2_K
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-4B-RotorQuant-GGUF-Q2_K:Q2_K # Run inference directly in the terminal: llama cli -hf majentik/Nemotron-3-Nano-4B-RotorQuant-GGUF-Q2_K:Q2_K
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-4B-RotorQuant-GGUF-Q2_K:Q2_K # Run inference directly in the terminal: ./llama-cli -hf majentik/Nemotron-3-Nano-4B-RotorQuant-GGUF-Q2_K:Q2_K
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-4B-RotorQuant-GGUF-Q2_K:Q2_K # Run inference directly in the terminal: ./build/bin/llama-cli -hf majentik/Nemotron-3-Nano-4B-RotorQuant-GGUF-Q2_K:Q2_K
Use Docker
docker model run hf.co/majentik/Nemotron-3-Nano-4B-RotorQuant-GGUF-Q2_K:Q2_K
- LM Studio
- Jan
- vLLM
How to use majentik/Nemotron-3-Nano-4B-RotorQuant-GGUF-Q2_K 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-4B-RotorQuant-GGUF-Q2_K" # 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-4B-RotorQuant-GGUF-Q2_K", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/majentik/Nemotron-3-Nano-4B-RotorQuant-GGUF-Q2_K:Q2_K
- Ollama
How to use majentik/Nemotron-3-Nano-4B-RotorQuant-GGUF-Q2_K with Ollama:
ollama run hf.co/majentik/Nemotron-3-Nano-4B-RotorQuant-GGUF-Q2_K:Q2_K
- Unsloth Studio
How to use majentik/Nemotron-3-Nano-4B-RotorQuant-GGUF-Q2_K 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-4B-RotorQuant-GGUF-Q2_K 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-4B-RotorQuant-GGUF-Q2_K 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-4B-RotorQuant-GGUF-Q2_K to start chatting
- Pi
How to use majentik/Nemotron-3-Nano-4B-RotorQuant-GGUF-Q2_K 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-4B-RotorQuant-GGUF-Q2_K:Q2_K
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-4B-RotorQuant-GGUF-Q2_K:Q2_K" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use majentik/Nemotron-3-Nano-4B-RotorQuant-GGUF-Q2_K 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-4B-RotorQuant-GGUF-Q2_K:Q2_K
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-4B-RotorQuant-GGUF-Q2_K:Q2_K
Run Hermes
hermes
- Atomic Chat new
- OpenClaw new
How to use majentik/Nemotron-3-Nano-4B-RotorQuant-GGUF-Q2_K with OpenClaw:
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-4B-RotorQuant-GGUF-Q2_K:Q2_K
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 "majentik/Nemotron-3-Nano-4B-RotorQuant-GGUF-Q2_K:Q2_K" \ --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"
- Docker Model Runner
How to use majentik/Nemotron-3-Nano-4B-RotorQuant-GGUF-Q2_K with Docker Model Runner:
docker model run hf.co/majentik/Nemotron-3-Nano-4B-RotorQuant-GGUF-Q2_K:Q2_K
- Lemonade
How to use majentik/Nemotron-3-Nano-4B-RotorQuant-GGUF-Q2_K with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull majentik/Nemotron-3-Nano-4B-RotorQuant-GGUF-Q2_K:Q2_K
Run and chat with the model
lemonade run user.Nemotron-3-Nano-4B-RotorQuant-GGUF-Q2_K-Q2_K
List all available models
lemonade list
| 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 | |
| - rotorquant | |
| - 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](https://github.com/ggml-org/llama.cpp/pull/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-RotorQuant-GGUF-Q2_K | |
| GGUF Q2_K weight-quantized variant of [nvidia/NVIDIA-Nemotron-3-Nano-4B-BF16](https://huggingface.co/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](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 β₯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](https://github.com/johndpope/llama-cpp-turboquant/tree/feature/planarquant-kv-cache) only | | |
| ## Quickstart | |
| ### Option A β RotorQuant KV cache (experimental fork β not required) | |
| You must build from the RotorQuant-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 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)** | |
| ```bash | |
| 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](https://github.com/lmstudio-ai/lmstudio-bug-tracker/issues/1719) for updates. | |
| **Ollama** | |
| ```bash | |
| # 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](https://huggingface.co/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](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) | 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 | |
| - [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-4B-BF16](https://huggingface.co/nvidia/NVIDIA-Nemotron-3-Nano-4B-BF16) | |
| - [Nemotron-3-Nano-4B announcement](https://huggingface.co/blog/nvidia/nemotron-3-nano-4b) | |
| ## 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 | |