Create: reference/nemotron-3-nano-running-parameters.md
This commit is contained in:
@@ -0,0 +1,249 @@
|
||||
---
|
||||
created: '2026-04-09T18:05:28+00:00'
|
||||
id: 4aec42e4-21ba-4279-b41b-58a8ebfefd73
|
||||
keywords:
|
||||
- Nemotron 3
|
||||
- NVIDIA
|
||||
- Nano-4B
|
||||
- Nano-30B-A3B
|
||||
- temperature
|
||||
- top_p
|
||||
- min_p
|
||||
- GGUF
|
||||
- quantization
|
||||
- UD-Q4_K_XL
|
||||
- Q8_0
|
||||
- NoPE
|
||||
- 1M context
|
||||
- llama.cpp
|
||||
- llama-server
|
||||
- MoE
|
||||
- tool calling
|
||||
- reasoning tokens
|
||||
links: []
|
||||
modified: '2026-04-09T18:05:28+00:00'
|
||||
summary: Optimal running parameters for NVIDIA's Nemotron 3 Nano family (4B and 30B-A3B),
|
||||
covering inference settings for general chat vs tool calling, hardware requirements,
|
||||
NoPE context extension, reasoning token handling, and llama.cpp example commands.
|
||||
tags:
|
||||
- reference
|
||||
- nemotron-3
|
||||
- nvidia
|
||||
- llm
|
||||
- inference
|
||||
- llama-cpp
|
||||
- local-ai
|
||||
title: NVIDIA Nemotron 3 Nano — Optimal Running Parameters
|
||||
---
|
||||
|
||||
# NVIDIA Nemotron 3 Nano — Optimal Running Parameters
|
||||
|
||||
A reference for optimally running NVIDIA's Nemotron 3 Nano family of hybrid MoE models locally.
|
||||
|
||||
## Model Variants
|
||||
|
||||
| Variant | Architecture | Context | Best Fit |
|
||||
|---|---|---|---|
|
||||
| **Nano-4B** | MoE | Up to **1M tokens** | Lightweight coding, math, agentic tasks; fits 5GB devices |
|
||||
| **Nano-30B-A3B** | MoE (3B active) | Up to **1M tokens** | Best performing for size; fits 24GB devices |
|
||||
| Super-120B-A12B | MoE (12B active) | Up to **1M tokens** | High-end workstation / server (separate guide) |
|
||||
|
||||
> All Nemotron 3 models support a **1M-token context window**.
|
||||
|
||||
## Recommended Inference Parameters
|
||||
|
||||
NVIDIA recommends two parameter profiles depending on use-case:
|
||||
|
||||
### General Chat / Instruction
|
||||
|
||||
| Parameter | Value |
|
||||
|---|---|
|
||||
| `temperature` | **1.0** |
|
||||
| `top_p` | **1.0** |
|
||||
|
||||
### Tool Calling
|
||||
|
||||
| Parameter | Value |
|
||||
|---|---|
|
||||
| `temperature` | **0.6** |
|
||||
| `top_p` | **0.95** |
|
||||
|
||||
### Additional Settings
|
||||
|
||||
| Setting | Value | Notes |
|
||||
|---|---|---|
|
||||
| `max_new_tokens` | **32,768 – 262,144** | Standard prompts; max 1M |
|
||||
| `min_p` | **0.01** | Used in llama-server deployment |
|
||||
| `--prio` | **2** or **3** | Priority scheduling in llama.cpp |
|
||||
| `--seed` | **3407** | Reproducibility |
|
||||
| `--special` | (flag) | Needed to see reasoning tokens (`<think)>` / `</think)>`) |
|
||||
| `--verbose-prompt` | (flag) | Needed to see `<think)>` since it's prepended |
|
||||
|
||||
### Quick Reference — One-Liners
|
||||
|
||||
**General chat/instruction:**
|
||||
```
|
||||
temperature=1.0, top_p=1.0
|
||||
```
|
||||
|
||||
**Tool calling:**
|
||||
```
|
||||
temperature=0.6, top_p=0.95
|
||||
```
|
||||
|
||||
## Hardware Requirements (Total Memory: RAM + VRAM, or Unified Memory)
|
||||
|
||||
| Variant | 4-bit | 8-bit | Notes |
|
||||
|---|---|---|---|
|
||||
| **Nano-4B** | ~3 GB | ~5 GB | Fits virtually any device |
|
||||
| **Nano-30B-A3B** | ~24 GB | ~36 GB | Fits 24GB Mac / RTX device |
|
||||
|
||||
> **Architecture note:** Some GGUF quants end up similar in size because the model architecture has dimensions not divisible by 128, so parts can't be quantized to lower bits.
|
||||
|
||||
### Quantization Recommendations
|
||||
|
||||
- **Nano-4B**: Use **Q8_0** (8-bit) for near full precision — only 5GB.
|
||||
- **Nano-30B-A3B**: Use **UD-Q4_K_XL** (Dynamic 4-bit) — fits 24GB devices.
|
||||
|
||||
## Context Window Management
|
||||
|
||||
| Setting | Value |
|
||||
|---|---|
|
||||
| Native max context | **1M tokens** |
|
||||
| Default context | **262,144** (256K) |
|
||||
| Recommended starting context | **16,384** (16K) or **32,768** (32K) |
|
||||
|
||||
> ⚠️ Setting context to 1M may trigger **CUDA OOM and crash** — that's why the default is 262,144. Increase gradually as your RAM/VRAM allows.
|
||||
|
||||
### NoPE — No Positional Embeddings
|
||||
|
||||
Because Nemotron 3 was trained with **NoPE** (No Positional Embeddings):
|
||||
- You only need to change `max_position_embeddings` to extend context.
|
||||
- **YaRN is NOT needed** for context extension.
|
||||
- The model doesn't use explicit positional embeddings.
|
||||
|
||||
## Chat Template Format
|
||||
|
||||
Nemotron 3 uses the standard ChatML-style format:
|
||||
|
||||
```
|
||||
<|im_start|>system\n<|im_end|>\n
|
||||
<|im_start|>user\n{message}<|im_end|>\n
|
||||
<|im_start|>assistant\n<think)>{reasoning}</think)>{answer}<|im_end|>\n
|
||||
```
|
||||
|
||||
### Reasoning Tokens
|
||||
|
||||
- `<think)>` = token ID **12**
|
||||
- `</think)>` = token ID **13**
|
||||
- Use `--special` in llama.cpp to see these tokens.
|
||||
- Use `--verbose-prompt` to see `<think)>` since it's prepended to assistant responses.
|
||||
|
||||
## Critical Notes
|
||||
|
||||
- The model outputs a reasoning channel (`<think)>..._think)>`) before the final answer in most cases.
|
||||
- Increase `max_new_tokens` for deep reasoning or long-form generation as RAM/VRAM allows.
|
||||
- For fine-tuning: use at least **75% reasoning** and **25% non-reasoning** data to retain reasoning capabilities.
|
||||
- The router layer is disabled by default in Unsloth fine-tuning for MoE models.
|
||||
|
||||
## Example llama.cpp Commands
|
||||
|
||||
### Nano-4B — General Instruction
|
||||
|
||||
```bash
|
||||
./llama.cpp/llama-cli \
|
||||
-hf unsloth/NVIDIA-Nemotron-3-Nano-4B-GGUF:Q8_0 \
|
||||
--ctx-size 16384 \
|
||||
--temp 1.0 --top-p 1.0
|
||||
```
|
||||
|
||||
### Nano-4B — Tool Calling
|
||||
|
||||
```bash
|
||||
./llama.cpp/llama-cli \
|
||||
-hf unsloth/NVIDIA-Nemotron-3-Nano-4B-GGUF:Q8_0 \
|
||||
--ctx-size 32768 \
|
||||
--temp 0.6 --top-p 0.95
|
||||
```
|
||||
|
||||
### Nano-4B — Conversation Mode (Local GGUF)
|
||||
|
||||
```bash
|
||||
./llama.cpp/llama-cli \
|
||||
--model unsloth/NVIDIA-Nemotron-3-Nano-4B-GGUF/NVIDIA-Nemotron-3-Nano-4B-Q8_0.gguf \
|
||||
--ctx-size 16384 \
|
||||
--seed 3407 \
|
||||
--prio 2 \
|
||||
--temp 0.6 \
|
||||
--top-p 0.95
|
||||
```
|
||||
|
||||
### Nano-30B-A3B — General Instruction
|
||||
|
||||
```bash
|
||||
./llama.cpp/llama-cli \
|
||||
-hf unsloth/Nemotron-3-Nano-30B-A3B-GGUF:UD-Q4_K_XL \
|
||||
--ctx-size 32768 \
|
||||
--temp 1.0 --top-p 1.0
|
||||
```
|
||||
|
||||
### Nano-30B-A3B — Tool Calling
|
||||
|
||||
```bash
|
||||
./llama.cpp/llama-cli \
|
||||
-hf unsloth/Nemotron-3-Nano-30B-A3B-GGUF:UD-Q4_K_XL \
|
||||
--ctx-size 32768 \
|
||||
--temp 0.6 --top-p 0.95
|
||||
```
|
||||
|
||||
### Nano-30B-A3B — Conversation Mode (Local GGUF)
|
||||
|
||||
```bash
|
||||
./llama.cpp/llama-cli \
|
||||
--model unsloth/Nemotron-3-Nano-30B-A3B-GGUF/Nemotron-3-Nano-30B-A3B-UD-Q4_K_XL.gguf \
|
||||
--ctx-size 16384 \
|
||||
--seed 3407 \
|
||||
--prio 2 \
|
||||
--temp 0.6 \
|
||||
--top-p 0.95
|
||||
```
|
||||
|
||||
### llama-server Deployment (Nano-30B-A3B)
|
||||
|
||||
```bash
|
||||
./llama.cpp/llama-server \
|
||||
--model unsloth/Nemotron-3-Nano-30B-A3B-GGUF/Nemotron-3-Nano-30B-A3B-UD-Q4_K_XL.gguf \
|
||||
--alias "unsloth/Nemotron-3-Nano-30B-A3B" \
|
||||
--prio 3 \
|
||||
--min_p 0.01 \
|
||||
--temp 0.6 --top-p 0.95 \
|
||||
--ctx-size 16384 \
|
||||
--port 8001
|
||||
```
|
||||
|
||||
### OpenAI-Compatible Client
|
||||
|
||||
After deploying via `llama-server`:
|
||||
|
||||
```python
|
||||
from openai import OpenAI
|
||||
|
||||
openai_client = OpenAI(
|
||||
base_url = "http://127.0.0.1:8001/v1",
|
||||
api_key = "sk-no-key-required",
|
||||
)
|
||||
|
||||
completion = openai_client.chat.completions.create(
|
||||
model = "unsloth/Nemotron-3-Nano-30B-A3B",
|
||||
messages = [{"role": "user", "content": "What is 2+2?"}],
|
||||
)
|
||||
|
||||
print(completion.choices[0].message.content)
|
||||
```
|
||||
|
||||
## Sources
|
||||
|
||||
- Unsloth NVIDIA Nemotron 3 Nano Documentation (How to Run)
|
||||
- GGUF collections:
|
||||
- <https://huggingface.co/unsloth/NVIDIA-Nemotron-3-Nano-4B-GGUF>
|
||||
- <https://huggingface.co/unsloth/Nemotron-3-Nano-30B-A3B-GGUF>
|
||||
Reference in New Issue
Block a user