Instructions to use EigenLabs/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-MLX-4bit-mtp with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use EigenLabs/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-MLX-4bit-mtp 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("EigenLabs/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-MLX-4bit-mtp") 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 EigenLabs/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-MLX-4bit-mtp with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "EigenLabs/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-MLX-4bit-mtp"
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": "EigenLabs/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-MLX-4bit-mtp" } ] } } }Run Pi
# Start Pi in your project directory: pi
- MLX LM
How to use EigenLabs/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-MLX-4bit-mtp with MLX LM:
Generate or start a chat session
# Install MLX LM uv tool install mlx-lm # Interactive chat REPL mlx_lm.chat --model "EigenLabs/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-MLX-4bit-mtp"
Run an OpenAI-compatible server
# Install MLX LM uv tool install mlx-lm # Start the server mlx_lm.server --model "EigenLabs/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-MLX-4bit-mtp" # Calling the OpenAI-compatible server with curl curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "EigenLabs/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-MLX-4bit-mtp", "messages": [ {"role": "user", "content": "Hello"} ] }' - Hermes Agent
How to use EigenLabs/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-MLX-4bit-mtp 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 "EigenLabs/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-MLX-4bit-mtp"
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 EigenLabs/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-MLX-4bit-mtp
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use EigenLabs/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-MLX-4bit-mtp with OpenClaw:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "EigenLabs/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-MLX-4bit-mtp"
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 "EigenLabs/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-MLX-4bit-mtp" \ --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 — MLX 4-bit with embedded MTP
This repository contains a local MLX conversion of NVIDIA Nemotron 3.5 Lightning 30B-A3B, prepared for Darkbloom engineering. The target model and its multi-token prediction (MTP) head are included together in the indexed safetensor shards. No separate draft-model download is required.
This EigenLabs copy preserves the model files from the original MLX conversion,
revision 6cdb7f43467ed3b4802e08eadc3275d02f12b8a8. Model weights,
quantization, tokenizer, configuration, and embedded MTP tensors are unchanged.
Artifact
| Field | Value |
|---|---|
| Source | nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16 |
| Source revision | a9904d24bcc1d289a1950fa9d2b978c47cf903b9 |
| Architecture | nemotron_h: hybrid Mamba2, attention, and MoE |
| Quantization | MLX affine, 4 bits, group size 64 |
| Stored tensor payload | 18,526,974,592 bytes |
| Safetensor files including headers | 18,527,064,387 bytes (about 17.25 GiB) |
| Indexed parameter arrays | 763, including 34 MTP arrays |
| License | OpenMDW 1.1, inherited from NVIDIA |
Eligible target and MTP matrix weights use Q4/g64. Normalization weights, router parameters, and other non-quantized parameters retain their native floating-point types. Scales and affine offsets add storage overhead; “4-bit” does not mean every stored array or every effective byte is four bits.
Embedded MTP
The official checkpoint contains 270 mtp.* tensors. This conversion preserves
them as 34 MLX parameter arrays after stacking the routed experts and adding
quantization scales and offsets. The index explicitly includes mtp.layers.*.
The single prediction layer contains an attention block followed by an MoE
block. It combines the normalized next-token embedding with normalized
post-norm_f target hidden states, applies eh_proj, attention and MoE
residual blocks, and final normalization. It shares the target embeddings
and output projection.
The conversion used a local adapter over MLX-LM's Nemotron primitives to retain the MTP namespace; the standard sanitizer in the installed MLX-LM version would otherwise remove those tensors. Architecture was cross-checked against the official checkpoint and the oMLX Nemotron MTP implementation.
Embedded weights and runtime activation are distinct. An MTP-aware Nemotron runtime must load the head, draft tokens, verify them against the target, and correctly commit or roll back attention and Mamba state. Runtimes without that support may run the serial target and ignore the included head.
MLX usage
With a version of MLX-LM that supports Nemotron 3.5 Lightning:
mlx_lm.generate \
--model EigenLabs/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-MLX-4bit-mtp \
--prompt "Explain how a scientific station prepares for severe weather." \
--max-tokens 256
This command alone does not establish that MTP is active. Consult the chosen runtime's MTP support and proposal/acceptance diagnostics. Pin the immutable Hub revision from this repository's history for reproducible use.
Validation and current scope
- The converted model loads strictly with the complete target and MTP module definitions; the saved head inventory was checked against the converted module inventory.
- A native Swift target check matched all 32 deterministic reference tokens from the converted Python MLX model.
- Three loaded-head checks produced the same greedy draft IDs as the Python reference. The Python and Swift builds did not produce numerically identical hidden states/logits at a tight tolerance. Matching draft IDs is not a claim of byte-identical head arithmetic across runtimes.
- Native request-isolation, discard/retry, quantized-head inventory, and release tests passed. Darkbloom HTTP MTP activation and full-stream qualification are still in progress at initial publication.
These checks are not a quality benchmark, a speedup claim, or a qualification for every hardware tier, sampler, context length, or cache mode.
Darkbloom
This is a Hugging Face source artifact for ongoing Darkbloom native-runtime work. Darkbloom providers use catalog-approved immutable revisions and verified manifests. Publishing this repository does not register a Darkbloom catalog release or activate provider traffic. The new embedded Nemotron MTP path is under development and should not be assumed available in a shipping provider.
After a catalog release pins this artifact and its verified manifest, use the catalog-assigned model ID:
darkbloom models catalog
darkbloom models download <catalog-model-id>
darkbloom start --foreground
Attribution and limitations
Original model and training: NVIDIA. Conversion and local integration work: Jonathan Spangler / Darkbloom. This repository contains quantized model materials under the included NVIDIA OpenMDW 1.1 license. It is not an official NVIDIA release. See the original model card for intended use, model limitations, evaluation, and safety information.
- Downloads last month
- 208
4-bit