Instructions to use Vontra/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-oQ4 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use Vontra/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-oQ4 with MLX:
# Make sure mlx-lm is installed # pip install --upgrade mlx-lm # Generate text with mlx-lm from mlx_lm import load, generate model, tokenizer = load("Vontra/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-oQ4") prompt = "Write a story about Einstein" messages = [{"role": "user", "content": prompt}] prompt = tokenizer.apply_chat_template( messages, add_generation_prompt=True ) text = generate(model, tokenizer, prompt=prompt, verbose=True) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Pi
How to use Vontra/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-oQ4 with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "Vontra/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-oQ4"
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "mlx-lm": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "Vontra/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-oQ4" } ] } } }Run Pi
# Start Pi in your project directory: pi
- MLX LM
How to use Vontra/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-oQ4 with MLX LM:
Generate or start a chat session
# Install MLX LM uv tool install mlx-lm # Interactive chat REPL mlx_lm.chat --model "Vontra/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-oQ4"
Run an OpenAI-compatible server
# Install MLX LM uv tool install mlx-lm # Start the server mlx_lm.server --model "Vontra/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-oQ4" # Calling the OpenAI-compatible server with curl curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Vontra/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-oQ4", "messages": [ {"role": "user", "content": "Hello"} ] }' - Hermes Agent
How to use Vontra/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-oQ4 with Hermes Agent:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "Vontra/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-oQ4"
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 Vontra/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-oQ4
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use Vontra/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-oQ4 with OpenClaw:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "Vontra/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-oQ4"
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 "Vontra/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-oQ4" \ --custom-provider-id mlx-lm \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
NVIDIA Nemotron 3.5 Lightning 30B-A3B — oQ4
A native Apple-silicon conversion of nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16, quantized with oMLX's optimized mixed-precision oQ4 recipe and packaged for MLX-LM and oMLX.
Original model · NVIDIA Nemotron · MLX-LM · OpenMDW 1.1 license
About this conversion
This repository contains an oMLX-optimized oQ4 mixed-precision conversion of NVIDIA Nemotron 3.5 Lightning. The source is a 30B-total / 3B-active hybrid mixture-of-experts model that interleaves Mamba-2, sparse MoE, and attention layers. The upstream tokenizer, chat template, and generation configuration are preserved.
| Item | Value |
|---|---|
| Base model | nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16 |
| Format | MLX safetensors |
| Quantization | oQ4 affine — 4-bit base with 5/6/8-bit overrides, group size 64 |
| Conversion stack | mlx-lm 0.31.3, mlx 0.32.0 |
| Weight shards | 4 |
| Weight size | 18.56 GB (17.29 GiB) |
| Maximum configured context | 262,144 tokens |
| Architecture | nemotron_h — Mamba-2 + sparse MoE + attention |
oQ4 keeps a 4-bit base while assigning 116 sensitive modules higher precision: 32 at 5-bit, 30 at 6-bit, and 54 at 8-bit. The exact per-module recipe is recorded in config.json.
Apple-silicon performance
This checkpoint was load-tested and generation-tested on the following machine:
| Hardware | Configuration |
|---|---|
| Host | Mac Studio |
| Chip | Apple M3 Ultra |
| CPU | 32 cores (24 performance + 8 efficiency) |
| Unified memory | 256 GB |
| Runtime | MLX-LM 0.31.3 / MLX 0.32.0 |
A warmed local test produced:
| Measurement | Result |
|---|---|
| Decode (median) | 145.58 tokens/s |
| Reported peak memory | 18.74 GB |
| Timed runs | 3 × 256 generated tokens |
| Warm-up | 32 generated tokens |
| Prompt | 36 tokens after chat templating |
The decode figure is the median of three greedy 256-token runs after a 32-token Metal-kernel warm-up. It is a practical local reference, not a controlled cross-platform benchmark. Prompt length, context growth, sampler settings, memory pressure, thermal state, and MLX/oMLX versions can materially change performance.
Quick start with MLX-LM
Install recent MLX-LM and Hugging Face tooling:
python -m pip install -U mlx-lm huggingface_hub
Run directly from the Hub:
mlx_lm.generate \
--model Vontra/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-oQ4 \
--prompt "Explain why hybrid Mamba and MoE architectures are efficient." \
--max-tokens 512 \
--temp 1.0 \
--top-p 0.95
Reasoning mode is enabled by the upstream chat template by default. To disable it:
mlx_lm.generate \
--model Vontra/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-oQ4 \
--chat-template-config '{"enable_thinking": false}' \
--prompt "Write a short hello-world program in Swift." \
--max-tokens 256
Python usage:
from mlx_lm import load, generate
model, tokenizer = load("Vontra/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-oQ4")
messages = [
{"role": "user", "content": "Explain sparse mixture-of-experts routing."}
]
prompt = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
tokenize=False,
enable_thinking=False,
)
print(generate(model, tokenizer, prompt=prompt, max_tokens=512))
To download the repository first:
hf download Vontra/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-oQ4 \
--local-dir ~/.omlx/models/Vontra/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-oQ4
Using it with oMLX
- Place the downloaded model at
~/.omlx/models/Vontra/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-oQ4. - Refresh the oMLX model registry.
- Load
NVIDIA-Nemotron-3.5-Lightning-30B-A3B-oQ4and use the normal chat UI or OpenAI-compatible endpoint.
Example request:
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OMLX_API_KEY" \
-d '{
"model": "NVIDIA-Nemotron-3.5-Lightning-30B-A3B-oQ4",
"messages": [{"role": "user", "content": "Say hello from Nemotron on MLX."}],
"temperature": 1.0,
"top_p": 0.95,
"max_tokens": 128
}'
For long prompts, begin with a conservative context limit and increase it while watching memory pressure. The configured 256K context is a model capability, not a guarantee that every host can prefill that context within its available unified memory.
Architecture
Nemotron 3.5 Lightning is a hybrid sparse model designed for efficient agentic and reasoning workloads.
| Architecture detail | Upstream value |
|---|---|
| Total / active parameters | 30B / 3B |
| Layers | 52 |
| Routed / shared experts | 128 / 1 |
| Active routed experts | 6 |
| Attention heads / KV heads | 32 / 2 |
| Hidden size | 2,688 |
| Expert intermediate size | 1,856 |
| Vocabulary size | 131,072 |
| Configured context | 262,144 tokens |
The upstream release is intended for coding, tool use, reasoning, research, and customization. For NVIDIA's evaluations, deployment guidance, intended use, limitations, safety information, and full architecture discussion, see the original model card.
Conversion and validation notes
- Source weights: NVIDIA's BF16 checkpoint.
- Quantization group size: 64.
- Quantization mode: affine.
- The upstream
chat_template.jinjais preserved. - All 729 converted tensors and every indexed shard were checked locally.
- The model was loaded and exercised through end-to-end generation on Apple silicon.
- Quantization can reduce output quality relative to BF16; use a higher-precision variant when quality matters more than memory use.
This is a community conversion, not an official NVIDIA release. Validate quality and numerical behavior on your own representative workload before production use.
License and attribution
The upstream model is released under the OpenMDW License Agreement, version 1.1. A copy is included in this repository; review it before use or redistribution.
All model design, training, benchmark, and upstream documentation credit belongs to NVIDIA and the original contributors. The MLX conversion, Apple-silicon validation, and packaging are provided by Vontra.
Choose for your Mac
64GB Macs · 128GB Macs · 256GB Macs
Published peak memory: 18.74 GB; estimated starting tier: 64GB, leaving about 45 GB nominal headroom. The collections use published M3 Studio peaks with at least 25% nominal headroom; fit on other Macs is an estimate, and full context is not guaranteed. Start with short context and one request.
Runtime and evidence
The exact tested oMLX application version is not recorded here; a library version is not an app version. The original performance tables retain their benchmark conditions and speed figures; this documentation update adds no new test results.
Quick start and demo prompt
hf download Vontra/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-oQ4 --local-dir ./models/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-oQ4
Add the downloaded folder to oMLX model directories, refresh the list, and follow this card's architecture and MTP compatibility requirements before loading.
Try this in a new chat with a 128-token output limit:
Explain why the sky looks blue in three short sentences.
This is a demo prompt to try, not a recorded successful run; a captured demonstration for this documentation update is not yet available.
- Downloads last month
- 380
4-bit