Text Generation
Transformers
Safetensors
nemotron_h
compressed-tensors
w8a16
int8
vllm
nemotron-3.5
mamba
Mixture of Experts
conversational
Instructions to use GotoAI-Inc/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-W8A16 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use GotoAI-Inc/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-W8A16 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="GotoAI-Inc/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-W8A16") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("GotoAI-Inc/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-W8A16") model = AutoModelForCausalLM.from_pretrained("GotoAI-Inc/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-W8A16", device_map="auto") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use GotoAI-Inc/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-W8A16 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "GotoAI-Inc/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-W8A16" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "GotoAI-Inc/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-W8A16", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/GotoAI-Inc/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-W8A16
- SGLang
How to use GotoAI-Inc/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-W8A16 with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "GotoAI-Inc/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-W8A16" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "GotoAI-Inc/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-W8A16", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "GotoAI-Inc/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-W8A16" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "GotoAI-Inc/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-W8A16", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use GotoAI-Inc/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-W8A16 with Docker Model Runner:
docker model run hf.co/GotoAI-Inc/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-W8A16
Upload folder using huggingface_hub
Browse files- .gitattributes +3 -0
- LICENSE +51 -0
- README.md +222 -0
- accuracy_plot.png +3 -0
- agentic_coding_benchmarks.png +3 -0
- bias.md +10 -0
- chat_template.jinja +190 -0
- config.json +162 -0
- explainability.md +14 -0
- generation_config.json +13 -0
- model-00001-of-00014.safetensors +3 -0
- model-00002-of-00014.safetensors +3 -0
- model-00003-of-00014.safetensors +3 -0
- model-00004-of-00014.safetensors +3 -0
- model-00005-of-00014.safetensors +3 -0
- model-00006-of-00014.safetensors +3 -0
- model-00007-of-00014.safetensors +3 -0
- model-00008-of-00014.safetensors +3 -0
- model-00009-of-00014.safetensors +3 -0
- model-00010-of-00014.safetensors +3 -0
- model-00011-of-00014.safetensors +3 -0
- model-00012-of-00014.safetensors +3 -0
- model-00013-of-00014.safetensors +3 -0
- model-00014-of-00014.safetensors +3 -0
- model.safetensors.index.json +0 -0
- privacy.md +5 -0
- safety.md +9 -0
- special_tokens_map.json +30 -0
- tokenizer.json +3 -0
- tokenizer_config.json +0 -0
.gitattributes
CHANGED
|
@@ -33,3 +33,6 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
accuracy_plot.png filter=lfs diff=lfs merge=lfs -text
|
| 37 |
+
agentic_coding_benchmarks.png filter=lfs diff=lfs merge=lfs -text
|
| 38 |
+
tokenizer.json filter=lfs diff=lfs merge=lfs -text
|
LICENSE
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
| 2 |
+
|
| 3 |
+
OpenMDW License Agreement, version 1.1 (OpenMDW-1.1)
|
| 4 |
+
|
| 5 |
+
By exercising rights granted to you under this agreement, you accept and agree
|
| 6 |
+
to its terms.
|
| 7 |
+
|
| 8 |
+
As used in this agreement, "Model Materials" means the materials provided to
|
| 9 |
+
you under this agreement, consisting of: (1) one or more machine learning
|
| 10 |
+
models (including architecture and parameters); and (2) all related artifacts
|
| 11 |
+
(including associated data, documentation and software) that are provided to
|
| 12 |
+
you hereunder.
|
| 13 |
+
|
| 14 |
+
Subject to your compliance with this agreement, permission is hereby granted,
|
| 15 |
+
free of charge, to deal in the Model Materials without restriction, including
|
| 16 |
+
under all copyright, patent, database, and trade secret rights included or
|
| 17 |
+
embodied therein.
|
| 18 |
+
|
| 19 |
+
If you distribute any portion of the Model Materials, you shall retain in your
|
| 20 |
+
distribution (1) a copy of this agreement, and (2) all copyright notices and
|
| 21 |
+
other notices of origin included in the Model Materials that are applicable to
|
| 22 |
+
your distribution.
|
| 23 |
+
|
| 24 |
+
If you file, maintain, or voluntarily participate in a lawsuit against any
|
| 25 |
+
person or entity asserting that the Model Materials directly or indirectly
|
| 26 |
+
infringe any patent or copyright, then all rights and grants made to you
|
| 27 |
+
hereunder are terminated, unless that lawsuit was in response to a
|
| 28 |
+
corresponding lawsuit first brought against you.
|
| 29 |
+
|
| 30 |
+
This agreement does not impose any restrictions or obligations with respect to
|
| 31 |
+
any use, modification, or sharing of any outputs generated by using the Model
|
| 32 |
+
Materials.
|
| 33 |
+
|
| 34 |
+
THE MODEL MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
| 35 |
+
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 36 |
+
FITNESS FOR A PARTICULAR PURPOSE, TITLE, NONINFRINGEMENT, ACCURACY, OR THE
|
| 37 |
+
ABSENCE OF LATENT OR OTHER DEFECTS OR ERRORS, WHETHER OR NOT DISCOVERABLE, ALL
|
| 38 |
+
TO THE GREATEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW.
|
| 39 |
+
|
| 40 |
+
YOU ARE SOLELY RESPONSIBLE FOR (1) CLEARING RIGHTS OF OTHER PERSONS THAT MAY
|
| 41 |
+
APPLY TO THE MODEL MATERIALS OR ANY USE THEREOF, INCLUDING WITHOUT LIMITATION
|
| 42 |
+
ANY PERSON'S COPYRIGHTS OR OTHER RIGHTS INCLUDED OR EMBODIED IN THE MODEL
|
| 43 |
+
MATERIALS; (2) OBTAINING ANY NECESSARY CONSENTS, PERMISSIONS OR OTHER RIGHTS
|
| 44 |
+
REQUIRED FOR ANY USE OF THE MODEL MATERIALS; OR (3) PERFORMING ANY DUE
|
| 45 |
+
DILIGENCE OR UNDERTAKING ANY OTHER INVESTIGATIONS INTO THE MODEL MATERIALS OR
|
| 46 |
+
ANYTHING INCORPORATED OR EMBODIED THEREIN.
|
| 47 |
+
|
| 48 |
+
IN NO EVENT SHALL THE PROVIDERS OF THE MODEL MATERIALS BE LIABLE FOR ANY CLAIM,
|
| 49 |
+
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
| 50 |
+
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MODEL MATERIALS, THE
|
| 51 |
+
USE THEREOF OR OTHER DEALINGS THEREIN.
|
README.md
ADDED
|
@@ -0,0 +1,222 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: other
|
| 3 |
+
license_name: openmdw-1.1
|
| 4 |
+
license_link: https://openmdw.ai/license/1-1/
|
| 5 |
+
base_model: nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16
|
| 6 |
+
base_model_relation: quantized
|
| 7 |
+
pipeline_tag: text-generation
|
| 8 |
+
library_name: transformers
|
| 9 |
+
language:
|
| 10 |
+
- en
|
| 11 |
+
- es
|
| 12 |
+
- fr
|
| 13 |
+
- de
|
| 14 |
+
- it
|
| 15 |
+
- ja
|
| 16 |
+
tags:
|
| 17 |
+
- compressed-tensors
|
| 18 |
+
- w8a16
|
| 19 |
+
- int8
|
| 20 |
+
- vllm
|
| 21 |
+
- nemotron-3.5
|
| 22 |
+
- mamba
|
| 23 |
+
- moe
|
| 24 |
+
---
|
| 25 |
+
|
| 26 |
+
# NVIDIA-Nemotron-3.5-Lightning-30B-A3B-W8A16
|
| 27 |
+
|
| 28 |
+
Int8 weight-only quantization of
|
| 29 |
+
[nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16](https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16),
|
| 30 |
+
in compressed-tensors format for vLLM. **35.93 GB**, down from 65.83 GB — a 45% reduction.
|
| 31 |
+
Its KV cache is unusually cheap, so a 48 GB card serves it at the full native 256k context.
|
| 32 |
+
|
| 33 |
+
This is the fidelity-first build. Int8 round-to-nearest stays far closer to the bfloat16
|
| 34 |
+
weights than int4 does, at ~1.8x the footprint of the
|
| 35 |
+
[int4 W4A16 sibling](https://huggingface.co/GotoAI-Inc/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-W4A16)
|
| 36 |
+
(20.49 GB). If you are targeting a 24 or 32 GB card, use that one; use this one when you
|
| 37 |
+
have the VRAM and want the least quality loss quantization can give without calibration.
|
| 38 |
+
The gap matters more than usual here — see [Evaluation](#evaluation).
|
| 39 |
+
|
| 40 |
+
Unofficial and unaffiliated with NVIDIA. All model capabilities, evaluations and
|
| 41 |
+
limitations belong to the original model card — see the base model for those.
|
| 42 |
+
|
| 43 |
+
NVIDIA's own optimized deployment build is
|
| 44 |
+
[NVFP4](https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-NVFP4), which
|
| 45 |
+
needs a **Blackwell** GPU. This repository is for everything else: int8 W8A16 runs on
|
| 46 |
+
Marlin kernels from compute capability 7.5 up, so Ampere, Ada and Hopper cards get a
|
| 47 |
+
weight-quantized build too. The base model card lists "building quantized variants" as one
|
| 48 |
+
of the BF16 repo's intended uses; this is that.
|
| 49 |
+
|
| 50 |
+
## What was changed
|
| 51 |
+
|
| 52 |
+
Weights were quantized from bfloat16 to **int8, group size 64, symmetric, weight-only**
|
| 53 |
+
(activations stay 16-bit) using `llmcompressor.model_free_ptq`. No calibration data was
|
| 54 |
+
used and the model was never loaded — the quantizer operates directly on the safetensors.
|
| 55 |
+
Architecture, tokenizer and chat template are the vendor's, unmodified.
|
| 56 |
+
|
| 57 |
+
6,004 Linear modules were converted, covering 88.6% of the output's bytes:
|
| 58 |
+
|
| 59 |
+
| component | precision | source | quantized |
|
| 60 |
+
|---|---|---|---|
|
| 61 |
+
| routed experts (128 per MoE layer × 23 layers) | int8 g64 | 58.75 GB | **30.29 GB** |
|
| 62 |
+
| Mamba in/out projections + attention (70 modules) | int8 g64 | 2.06 GB | 1.06 GB |
|
| 63 |
+
| shared expert (46 modules) | int8 g64 | 0.92 GB | 0.47 GB |
|
| 64 |
+
| MTP head (`mtp.*`) | bfloat16 | 2.67 GB | 2.67 GB |
|
| 65 |
+
| `backbone.embeddings` + `lm_head` (untied) | bfloat16 | 1.41 GB | 1.41 GB |
|
| 66 |
+
| MoE routers (`.gate`) | bfloat16 / fp32 | 0.02 GB | 0.02 GB |
|
| 67 |
+
| Mamba `conv1d`, norms, SSM params | bfloat16 | 0.001 GB | 0.001 GB |
|
| 68 |
+
| **total** | | **65.83 GB** | **35.93 GB** |
|
| 69 |
+
|
| 70 |
+
Of the quantized share, 30.86 GB is packed int8 and 0.96 GB is bf16 group scales. The
|
| 71 |
+
scales are the same count as in the W4A16 sibling — both builds use group size 64 and
|
| 72 |
+
convert the same 6,004 modules — so the int8 payload is almost exactly twice the int4 one
|
| 73 |
+
and everything else is unchanged.
|
| 74 |
+
|
| 75 |
+
**Group size 64, not the usual 128.** The expert `down_proj` takes an 1856-wide input, and
|
| 76 |
+
128 does not divide it. At the default group size 2,944 expert tensors cannot be
|
| 77 |
+
quantized; at 64 nothing is misaligned.
|
| 78 |
+
|
| 79 |
+
Left at bfloat16:
|
| 80 |
+
|
| 81 |
+
- **`mtp.*`** — the multi-token-prediction head (one `attention` + one `moe` block,
|
| 82 |
+
`num_nextn_predict_layers: 1`). vLLM loads it through the speculative-decoding path
|
| 83 |
+
rather than the main stack. At 2.67 GB it is the largest 16-bit component here, so
|
| 84 |
+
there is real headroom for anyone who measures that vLLM accepts a quantized one.
|
| 85 |
+
- **`.gate`** — the 23 MoE routers plus their fp32 `e_score_correction_bias`. Routing
|
| 86 |
+
decides which experts run at all; 0.02 GB is not worth the risk.
|
| 87 |
+
- **`backbone.embeddings` and `lm_head`** — precision-sensitive, and untied in this model.
|
| 88 |
+
- **`conv1d`** — Mamba causal-convolution kernels, shape `(6144, 1, 4)`. Not Linear
|
| 89 |
+
layers, and quantizers reject them outright.
|
| 90 |
+
- **`backbone.norm_f`** and the Mamba `A_log` / `dt_bias` / `D` state-space parameters —
|
| 91 |
+
1-D, never quantizable.
|
| 92 |
+
|
| 93 |
+
The architecture is a 52-block hybrid: **23 Mamba-2 blocks, 23 MoE blocks and 6 attention
|
| 94 |
+
blocks**. Only 6 blocks carry a KV cache, which is what makes long context cheap here (see
|
| 95 |
+
below). Of ~30B total parameters, ~3B are active per token — 6 of 128 routed experts plus
|
| 96 |
+
one shared expert.
|
| 97 |
+
|
| 98 |
+
### Checkpoint layout
|
| 99 |
+
|
| 100 |
+
Experts ship as per-expert 2-D weights in the source already
|
| 101 |
+
(`…mixer.experts.{id}.up_proj`, `down_proj`), so no fused-3-D splitting was involved and
|
| 102 |
+
the naming carries straight through as `…experts.{id}.up_proj.weight_packed`. vLLM's
|
| 103 |
+
NemotronH loader builds its expert mapping with `ckpt_gate_proj_name="up_proj"` and
|
| 104 |
+
`ckpt_down_proj_name="down_proj"`, matching this layout.
|
| 105 |
+
|
| 106 |
+
## Usage
|
| 107 |
+
|
| 108 |
+
Requires **vLLM >= 0.25.1**, where `NemotronHForCausalLM` and the `nemotron_v3` reasoning
|
| 109 |
+
parser are both present. No nightly build needed.
|
| 110 |
+
|
| 111 |
+
```bash
|
| 112 |
+
vllm serve GotoAI-Inc/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-W8A16 \
|
| 113 |
+
--max-model-len 262144 \
|
| 114 |
+
--mamba-backend flashinfer \
|
| 115 |
+
--reasoning-parser nemotron_v3 \
|
| 116 |
+
--enable-auto-tool-choice --tool-call-parser qwen3_coder
|
| 117 |
+
```
|
| 118 |
+
|
| 119 |
+
Do not pass `--quantization`; compressed-tensors is detected from `config.json`. The int8
|
| 120 |
+
W8A16 scheme uses Marlin kernels and runs on compute capability 7.5 and above.
|
| 121 |
+
|
| 122 |
+
- **`--tool-call-parser qwen3_coder`** is what the base model card specifies — Nemotron 3.5
|
| 123 |
+
emits the same XML tool-call framing as Qwen3-Coder. `qwen3_xml` is an alias for the same
|
| 124 |
+
parser class in current vLLM.
|
| 125 |
+
- **`--reasoning-parser nemotron_v3`** splits thinking into `reasoning_content`.
|
| 126 |
+
- **`--mamba-ssm-cache-dtype float16`** halves the Mamba state cache if you are tight on
|
| 127 |
+
memory; the base card pairs it with
|
| 128 |
+
`--enable-mamba-cache-stochastic-rounding --mamba-cache-philox-rounds 5`.
|
| 129 |
+
- **Speculative decoding**: the base card uses a separate DSpark checkpoint. This build
|
| 130 |
+
also still carries the vendor's MTP head, which vLLM can route through its
|
| 131 |
+
`nemotron_h_mtp` path — `--speculative-config '{"method": "mtp", "num_speculative_tokens": 1}'`.
|
| 132 |
+
Neither path is smoke-tested here.
|
| 133 |
+
|
| 134 |
+
### Fitting the card
|
| 135 |
+
|
| 136 |
+
Only **6 of 52 blocks use attention**, with 2 KV heads at `head_dim` 128 — about
|
| 137 |
+
**6 KB/token**, an order of magnitude cheaper than a conventional 30B. The 23 Mamba blocks
|
| 138 |
+
hold a fixed-size recurrent state instead, roughly **48 MB per concurrent sequence** at the
|
| 139 |
+
default fp32 SSM cache (half that at float16), independent of sequence length.
|
| 140 |
+
|
| 141 |
+
| context | KV cache | + weights |
|
| 142 |
+
|---|---|---|
|
| 143 |
+
| 32k | ~0.2 GB | ~36.1 GB |
|
| 144 |
+
| 128k | ~0.8 GB | ~36.7 GB |
|
| 145 |
+
| 256k (native max) | ~1.6 GB | ~37.5 GB |
|
| 146 |
+
|
| 147 |
+
The weights, not the context, are the binding constraint on this build: going from 32k to
|
| 148 |
+
the full 256k costs only ~1.4 GB. A 48 GB card is comfortable at the native maximum with
|
| 149 |
+
room for concurrency. A 40 GB card fits but with little slack once activations and CUDA
|
| 150 |
+
graphs are counted — lower `--max-model-len` before lowering
|
| 151 |
+
`--gpu-memory-utilization`. On 32 GB or less, use the W4A16 sibling instead.
|
| 152 |
+
|
| 153 |
+
`max_position_embeddings` is 262144 — the base card's validated 1M-token configurations use
|
| 154 |
+
`VLLM_ALLOW_LONG_MAX_MODEL_LEN=1 --max-model-len 1048576` on 8×H100 or GB200, which is not
|
| 155 |
+
what this single-card build is for. This is arithmetic from `config.json`, not a measured
|
| 156 |
+
deployment.
|
| 157 |
+
|
| 158 |
+
## Reproducing this checkpoint
|
| 159 |
+
|
| 160 |
+
Built with [llm-quantizer](https://github.com/gotoai/llm-quantizer):
|
| 161 |
+
|
| 162 |
+
```bash
|
| 163 |
+
./llmq.py run --profile nemotron-3.5-lightning-30b-a3b --scheme W8A16
|
| 164 |
+
```
|
| 165 |
+
|
| 166 |
+
which is equivalent to:
|
| 167 |
+
|
| 168 |
+
```python
|
| 169 |
+
# llmcompressor==0.13.1a20260814, compressed-tensors==0.18.1a20260818,
|
| 170 |
+
# transformers==5.15.1, torch==2.13.0
|
| 171 |
+
from llmcompressor import model_free_ptq
|
| 172 |
+
|
| 173 |
+
model_free_ptq(
|
| 174 |
+
model_stub="NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16",
|
| 175 |
+
save_directory="NVIDIA-Nemotron-3.5-Lightning-30B-A3B-W8A16",
|
| 176 |
+
scheme="W8A16",
|
| 177 |
+
group_size=64,
|
| 178 |
+
ignore=["re:.*\\.gate$", "re:.*\\.conv1d$", "re:.*mtp.*",
|
| 179 |
+
"lm_head", "re:.*\\.embeddings$", "re:.*\\.norm_f$"],
|
| 180 |
+
device="cuda:0",
|
| 181 |
+
)
|
| 182 |
+
```
|
| 183 |
+
|
| 184 |
+
The source ships as 14 shards of ~5 GB and a job holds one shard at a time, so no
|
| 185 |
+
re-sharding is needed and the build peaks at a few GB of VRAM — it took about a minute on
|
| 186 |
+
one consumer GPU.
|
| 187 |
+
|
| 188 |
+
Two of those ignore patterns are easy to miss. `re:.*\.embeddings$` is needed because this
|
| 189 |
+
model calls its embedding table `backbone.embeddings`, not `embed_tokens`. And
|
| 190 |
+
`re:.*\.norm_f$` is needed because compressed-tensors auto-skips norms with a literal
|
| 191 |
+
`module_name.endswith("norm")` test, which the final norm — `backbone.norm_f`, 1-D
|
| 192 |
+
`(2688,)` — misses; without it the run aborts with `expected 2D linear weight`.
|
| 193 |
+
|
| 194 |
+
## Evaluation
|
| 195 |
+
|
| 196 |
+
**No benchmarks have been run.** Data-free round-to-nearest quantization degrades quality
|
| 197 |
+
more than a calibrated (GPTQ/AWQ) or QAT build; how much, for your task, is unmeasured
|
| 198 |
+
here. Int8 degrades far less than int4 — that is the reason this build exists — but "less"
|
| 199 |
+
is not "none". Treat the published Nemotron 3.5 Lightning numbers as describing the
|
| 200 |
+
bfloat16 model, not this one.
|
| 201 |
+
|
| 202 |
+
Two properties of this architecture are why the int8 build is worth its extra 15 GB. The
|
| 203 |
+
routers stay 16-bit, so expert *selection* is identical in both builds, but all 2,944
|
| 204 |
+
routed experts are quantized without calibration and rarely-activated experts get no more
|
| 205 |
+
attention than hot ones — with only 6 of 128 experts active per token, a cold expert's
|
| 206 |
+
error is never averaged away. And Mamba blocks carry state across the whole sequence, so
|
| 207 |
+
projection error has a longer path to accumulate than in a pure attention stack. Both are
|
| 208 |
+
error-accumulation stories, and int8's smaller per-weight error compounds less. Long-context
|
| 209 |
+
behaviour on your own traffic is still the thing worth checking.
|
| 210 |
+
|
| 211 |
+
## License
|
| 212 |
+
|
| 213 |
+
**OpenMDW License Agreement, version 1.1**, inherited from the base model — the vendor's
|
| 214 |
+
`LICENSE` is included unmodified. OpenMDW is permissive: it grants use without restriction
|
| 215 |
+
and places no conditions on model outputs. It does require that any distribution retain a
|
| 216 |
+
copy of the agreement and all notices of origin, so NVIDIA's `LICENSE` and its
|
| 217 |
+
accompanying `safety.md`, `bias.md`, `privacy.md` and `explainability.md` are carried
|
| 218 |
+
through here. It also terminates the grant for anyone who brings patent or copyright
|
| 219 |
+
litigation over the model. Read it before redistributing a derivative.
|
| 220 |
+
|
| 221 |
+
"Nemotron" and "NVIDIA" are NVIDIA's marks; this repository is not endorsed by or
|
| 222 |
+
affiliated with NVIDIA.
|
accuracy_plot.png
ADDED
|
Git LFS Details
|
agentic_coding_benchmarks.png
ADDED
|
Git LFS Details
|
bias.md
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
| Field | Response |
|
| 2 |
+
| :---- | :---- |
|
| 3 |
+
| Participation considerations from adversely impacted groups [protected classes](https://www.senate.ca.gov/content/protected-classes) in model design and testing: | None |
|
| 4 |
+
| Bias Metric (If Measured): | [BBQ Accuracy Scores in Ambiguous Contexts](https://github.com/nyu-mll/BBQ/) |
|
| 5 |
+
| Which characteristic (feature) show(s) the greatest difference in performance?: | The model shows high variance in the characteristics when it is used with a high temperature. |
|
| 6 |
+
| Measures taken to mitigate against unwanted bias: | Supervised Fine-Tuning (SFT) and Reinforcement Learning from Human Feedback (RLHF) employed to calibrate the model’s reasoning capabilities to maintain logical consistency and appropriate complexity when interacting with or interpreting data from diverse age demographics. |
|
| 7 |
+
| If using internal data, description of methods implemented in data acquisition or processing, if any, to address the prevalence of identifiable biases in the training, testing, and validation data: | The training datasets contain a large amount of synthetic data generated by LLMs. We manually curated prompts. |
|
| 8 |
+
| Tools used to assess statistical imbalances and highlight patterns that may introduce bias into AI models: | [BBQ](https://github.com/nyu-mll/BBQ/) |
|
| 9 |
+
| Tools used to assess statistical imbalances and highlight patterns that may introduce bias into AI models: | These datasets, such as web-scraped finance reasoning data derived from SEC EDGAR filings, science and math problem datasets, OpenResearcher/source-document datasets, Common Crawl, CC-News, Wikimedia, and long-context document datasets, do not collectively or exhaustively represent all demographic groups (and proportionally therein). For instance, these datasets do not contain explicit mentions of demographic classes such as age, gender, or ethnicity in approximately 97% to 99.9% of finance reasoning samples and in over 85% of samples across the broader assessed datasets. In the subset where such terms are present, these datasets contain notable representational skews. For example, ethnicity mentions are often dominated by Middle Eastern contexts (found in finance documents) or "White," "Two or more," and "Black or African American" as the most frequent ethnic identifiers, while references categorized as male-only significantly outnumber those categorized as female-only. Furthermore, gender is explicitly mentioned in approximately 12% of samples across the broader dataset assessment, yet in only 0.9% of finance-specific samples. Dataset-level results vary by source type, with long-context/source-document datasets containing higher explicit demographic mention rates compared to certain web-scraped sources. To mitigate these imbalances, we recommend considering evaluation techniques such as bias audits, fine-tuning with demographically balanced datasets, and mitigation strategies such as counterfactual data augmentation to align with the desired model behavior. This evaluation used a 3,000-sample subset per dataset, identified as the optimal threshold for maximizing embedder accuracy. |
|
| 10 |
+
| Unwanted Bias Testing: | Constrained to English-language inputs. Multi-lingual parity is not currently claimed or guaranteed. |
|
chat_template.jinja
ADDED
|
@@ -0,0 +1,190 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{% macro render_extra_keys(json_dict, handled_keys) %}
|
| 2 |
+
{%- if json_dict is mapping %}
|
| 3 |
+
{%- for json_key in json_dict if json_key not in handled_keys %}
|
| 4 |
+
{%- if json_dict[json_key] is mapping or (json_dict[json_key] is sequence and json_dict[json_key] is not string) %}
|
| 5 |
+
{{- '\n<' ~ json_key ~ '>' ~ (json_dict[json_key] | tojson | safe) ~ '</' ~ json_key ~ '>' }}
|
| 6 |
+
{%- else %}
|
| 7 |
+
{{-'\n<' ~ json_key ~ '>' ~ (json_dict[json_key] | string) ~ '</' ~ json_key ~ '>' }}
|
| 8 |
+
{%- endif %}
|
| 9 |
+
{%- endfor %}
|
| 10 |
+
{%- endif %}
|
| 11 |
+
{% endmacro %}
|
| 12 |
+
{%- set enable_thinking = enable_thinking if enable_thinking is defined else True %}
|
| 13 |
+
{%- set truncate_history_thinking = truncate_history_thinking if truncate_history_thinking is defined else True %}
|
| 14 |
+
{%- set ns = namespace(last_user_idx = -1) %}
|
| 15 |
+
{%- set loop_messages = messages %}
|
| 16 |
+
{%- for m in loop_messages %}
|
| 17 |
+
{%- if m["role"] == "user" %}
|
| 18 |
+
{%- set ns.last_user_idx = loop.index0 %}
|
| 19 |
+
{%- endif %}
|
| 20 |
+
{%- endfor %}
|
| 21 |
+
{%- if messages[0]["role"] == "system" %}
|
| 22 |
+
{%- set system_message = messages[0]["content"] %}
|
| 23 |
+
{%- set loop_messages = messages[1:] %}
|
| 24 |
+
{%- else %}
|
| 25 |
+
{%- set system_message = "" %}
|
| 26 |
+
{%- set loop_messages = messages %}
|
| 27 |
+
{%- endif %}
|
| 28 |
+
{%- if not tools is defined %}
|
| 29 |
+
{%- set tools = [] %}
|
| 30 |
+
{%- endif %}
|
| 31 |
+
{%- set ns = namespace(last_user_idx = -1) %}
|
| 32 |
+
{%- for m in loop_messages %}
|
| 33 |
+
{%- if m["role"] == "user" %}
|
| 34 |
+
{%- set ns.last_user_idx = loop.index0 %}
|
| 35 |
+
{%- endif %}
|
| 36 |
+
{%- endfor %}
|
| 37 |
+
{%- if system_message is defined %}
|
| 38 |
+
{{- "<|im_start|>system\n" + system_message }}
|
| 39 |
+
{%- else %}
|
| 40 |
+
{%- if tools is iterable and tools | length > 0 %}
|
| 41 |
+
{{- "<|im_start|>system\n" }}
|
| 42 |
+
{%- endif %}
|
| 43 |
+
{%- endif %}
|
| 44 |
+
{%- if tools is iterable and tools | length > 0 %}
|
| 45 |
+
{%- if system_message is defined and system_message | length > 0 %}
|
| 46 |
+
{{- "\n\n" }}
|
| 47 |
+
{%- endif %}
|
| 48 |
+
{{- "# Tools\n\nYou have access to the following functions:\n\n" }}
|
| 49 |
+
{{- "<tools>" }}
|
| 50 |
+
{%- for tool in tools %}
|
| 51 |
+
{%- if tool.function is defined %}
|
| 52 |
+
{%- set tool = tool.function %}
|
| 53 |
+
{%- endif %}
|
| 54 |
+
{{- "\n<function>\n<name>" ~ tool.name ~ "</name>" }}
|
| 55 |
+
{%- if tool.description is defined %}
|
| 56 |
+
{{- '\n<description>' ~ (tool.description | trim) ~ '</description>' }}
|
| 57 |
+
{%- endif %}
|
| 58 |
+
{{- '\n<parameters>' }}
|
| 59 |
+
{%- if tool.parameters is defined and tool.parameters is mapping and tool.parameters.properties is defined and tool.parameters.properties is mapping %}
|
| 60 |
+
{%- for param_name, param_fields in tool.parameters.properties|items %}
|
| 61 |
+
{{- '\n<parameter>' }}
|
| 62 |
+
{{- '\n<name>' ~ param_name ~ '</name>' }}
|
| 63 |
+
{%- if param_fields.type is defined %}
|
| 64 |
+
{{- '\n<type>' ~ (param_fields.type | string) ~ '</type>' }}
|
| 65 |
+
{%- endif %}
|
| 66 |
+
{%- if param_fields.description is defined %}
|
| 67 |
+
{{- '\n<description>' ~ (param_fields.description | trim) ~ '</description>' }}
|
| 68 |
+
{%- endif %}
|
| 69 |
+
{%- if param_fields.enum is defined %}
|
| 70 |
+
{{- '\n<enum>' ~ (param_fields.enum | tojson | safe) ~ '</enum>' }}
|
| 71 |
+
{%- endif %}
|
| 72 |
+
{%- set handled_keys = ['name', 'type', 'description', 'enum'] %}
|
| 73 |
+
{{- render_extra_keys(param_fields, handled_keys) }}
|
| 74 |
+
{{- '\n</parameter>' }}
|
| 75 |
+
{%- endfor %}
|
| 76 |
+
{%- endif %}
|
| 77 |
+
{% set handled_keys = ['type', 'properties', 'required'] %}
|
| 78 |
+
{{- render_extra_keys(tool.parameters, handled_keys) }}
|
| 79 |
+
{%- if tool.parameters is defined and tool.parameters.required is defined %}
|
| 80 |
+
{{- '\n<required>' ~ (tool.parameters.required | tojson | safe) ~ '</required>' }}
|
| 81 |
+
{%- endif %}
|
| 82 |
+
{{- '\n</parameters>' }}
|
| 83 |
+
{%- set handled_keys = ['type', 'name', 'description', 'parameters'] %}
|
| 84 |
+
{{- render_extra_keys(tool, handled_keys) }}
|
| 85 |
+
{{- '\n</function>' }}
|
| 86 |
+
{%- endfor %}
|
| 87 |
+
{{- "\n</tools>" }}
|
| 88 |
+
{{- '\n\nIf you choose to call a function ONLY reply in the following format with NO suffix:\n\n<tool_call>\n<function=example_function_name>\n<parameter=example_parameter_1>\nvalue_1\n</parameter>\n<parameter=example_parameter_2>\nThis is the value for the second parameter\nthat can span\nmultiple lines\n</parameter>\n</function>\n</tool_call>\n\n<IMPORTANT>\nReminder:\n- Function calls MUST follow the specified format: an inner <function=...></function> block must be nested within <tool_call></tool_call> XML tags\n- Required parameters MUST be specified\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\n</IMPORTANT>' }}
|
| 89 |
+
{%- endif %}
|
| 90 |
+
{%- if system_message is defined %}
|
| 91 |
+
{{- '<|im_end|>\n' }}
|
| 92 |
+
{%- else %}
|
| 93 |
+
{%- if tools is iterable and tools | length > 0 %}
|
| 94 |
+
{{- '<|im_end|>\n' }}
|
| 95 |
+
{%- endif %}
|
| 96 |
+
{%- endif %}
|
| 97 |
+
{%- for message in loop_messages %}
|
| 98 |
+
{%- if message.role == "assistant" %}
|
| 99 |
+
{%- if message.reasoning_content is defined and message.reasoning_content is string and message.reasoning_content | trim | length > 0 %}
|
| 100 |
+
{%- set content = "<think>\n" ~ message.reasoning_content ~ "</think>" ~ (message.content | default('', true)) %}
|
| 101 |
+
{%- else %}
|
| 102 |
+
{%- set content = message.content | default('', true) %}
|
| 103 |
+
{%- if content is string -%}
|
| 104 |
+
{%- if '<think>' not in content and '</think>' not in content -%}
|
| 105 |
+
{%- set content = "<think></think>" ~ content -%}
|
| 106 |
+
{%- endif -%}
|
| 107 |
+
{%- else -%}
|
| 108 |
+
{%- set content = content -%}
|
| 109 |
+
{%- endif -%}
|
| 110 |
+
{%- endif %}
|
| 111 |
+
{%- if message.tool_calls is defined and message.tool_calls is iterable and message.tool_calls | length > 0 %}
|
| 112 |
+
{{- '<|im_start|>assistant\n' }}
|
| 113 |
+
{%- set include_content = not (truncate_history_thinking and loop.index0 < ns.last_user_idx) %}
|
| 114 |
+
{%- if content is string and content | trim | length > 0 %}
|
| 115 |
+
{%- if include_content %}
|
| 116 |
+
{{- (content | trim) ~ '\n' -}}
|
| 117 |
+
{%- else %}
|
| 118 |
+
{%- set c = (content | string) %}
|
| 119 |
+
{%- if '</think>' in c %}
|
| 120 |
+
{%- set c = c.split('</think>')[-1] %}
|
| 121 |
+
{%- elif '<think>' in c %}
|
| 122 |
+
{%- set c = c.split('<think>')[0] %}
|
| 123 |
+
{%- endif %}
|
| 124 |
+
{%- set c = "<think></think>" ~ c %}
|
| 125 |
+
{%- if c | length > 0 %}
|
| 126 |
+
{{- c ~ '\n' -}}
|
| 127 |
+
{%- endif %}
|
| 128 |
+
{%- endif %}
|
| 129 |
+
{%- else %}
|
| 130 |
+
{{- "<think></think>" -}}
|
| 131 |
+
{%- endif %}
|
| 132 |
+
{%- for tool_call in message.tool_calls %}
|
| 133 |
+
{%- if tool_call.function is defined %}
|
| 134 |
+
{%- set tool_call = tool_call.function %}
|
| 135 |
+
{%- endif %}
|
| 136 |
+
{{- '<tool_call>\n<function=' ~ tool_call.name ~ '>\n' -}}
|
| 137 |
+
{%- if tool_call.arguments is defined %}
|
| 138 |
+
{%- for args_name, args_value in tool_call.arguments|items %}
|
| 139 |
+
{{- '<parameter=' ~ args_name ~ '>\n' -}}
|
| 140 |
+
{%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}
|
| 141 |
+
{{- args_value ~ '\n</parameter>\n' -}}
|
| 142 |
+
{%- endfor %}
|
| 143 |
+
{%- endif %}
|
| 144 |
+
{{- '</function>\n</tool_call>\n' -}}
|
| 145 |
+
{%- endfor %}
|
| 146 |
+
{{- '<|im_end|>\n' }}
|
| 147 |
+
{%- else %}
|
| 148 |
+
{%- if not (truncate_history_thinking and loop.index0 < ns.last_user_idx) %}
|
| 149 |
+
{{- '<|im_start|>assistant\n' ~ (content | default('', true) | string | trim) ~ '<|im_end|>\n' }}
|
| 150 |
+
{%- else %}
|
| 151 |
+
{%- set c = (content | default('', true) | string) %}
|
| 152 |
+
{%- if '<think>' in c and '</think>' in c %}
|
| 153 |
+
{%- set c = "<think></think>" ~ c.split('</think>')[-1] %}
|
| 154 |
+
{%- endif %}
|
| 155 |
+
{%- set c = c | trim %}
|
| 156 |
+
{%- if c | length > 0 %}
|
| 157 |
+
{{- '<|im_start|>assistant\n' ~ c ~ '<|im_end|>\n' }}
|
| 158 |
+
{%- else %}
|
| 159 |
+
{{- '<|im_start|>assistant\n<|im_end|>\n' }}
|
| 160 |
+
{%- endif %}
|
| 161 |
+
{%- endif %}
|
| 162 |
+
{%- endif %}
|
| 163 |
+
{%- elif message.role == "user" or message.role == "system" %}
|
| 164 |
+
{{- '<|im_start|>' + message.role + '\n' }}
|
| 165 |
+
{%- set content = message.content | string %}
|
| 166 |
+
{{- content }}
|
| 167 |
+
{{- '<|im_end|>\n' }}
|
| 168 |
+
{%- elif message.role == "tool" %}
|
| 169 |
+
{%- if loop.previtem and loop.previtem.role != "tool" %}
|
| 170 |
+
{{- '<|im_start|>user\n' }}
|
| 171 |
+
{%- endif %}
|
| 172 |
+
{{- '<tool_response>\n' }}
|
| 173 |
+
{{- message.content }}
|
| 174 |
+
{{- '\n</tool_response>\n' }}
|
| 175 |
+
{%- if not loop.last and loop.nextitem.role != "tool" %}
|
| 176 |
+
{{- '<|im_end|>\n' }}
|
| 177 |
+
{%- elif loop.last %}
|
| 178 |
+
{{- '<|im_end|>\n' }}
|
| 179 |
+
{%- endif %}
|
| 180 |
+
{%- else %}
|
| 181 |
+
{{- '<|im_start|>' + message.role + '\n' + message.content + '<|im_end|>\n' }}
|
| 182 |
+
{%- endif %}
|
| 183 |
+
{%- endfor %}
|
| 184 |
+
{%- if add_generation_prompt %}
|
| 185 |
+
{%- if enable_thinking %}
|
| 186 |
+
{{- '<|im_start|>assistant\n<think>\n' }}
|
| 187 |
+
{%- else %}
|
| 188 |
+
{{- '<|im_start|>assistant\n<think></think>' }}
|
| 189 |
+
{%- endif %}
|
| 190 |
+
{%- endif %}
|
config.json
ADDED
|
@@ -0,0 +1,162 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"architectures": [
|
| 3 |
+
"NemotronHForCausalLM"
|
| 4 |
+
],
|
| 5 |
+
"attention_bias": false,
|
| 6 |
+
"attention_dropout": 0.0,
|
| 7 |
+
"bos_token_id": 1,
|
| 8 |
+
"chunk_size": 128,
|
| 9 |
+
"conv_kernel": 4,
|
| 10 |
+
"dtype": "bfloat16",
|
| 11 |
+
"eos_token_id": 2,
|
| 12 |
+
"expand": 2,
|
| 13 |
+
"head_dim": 128,
|
| 14 |
+
"hidden_dropout": 0.0,
|
| 15 |
+
"hidden_size": 2688,
|
| 16 |
+
"initializer_range": 0.02,
|
| 17 |
+
"intermediate_size": 1856,
|
| 18 |
+
"layer_norm_epsilon": 1e-05,
|
| 19 |
+
"layers_block_type": [
|
| 20 |
+
"mamba",
|
| 21 |
+
"moe",
|
| 22 |
+
"mamba",
|
| 23 |
+
"moe",
|
| 24 |
+
"mamba",
|
| 25 |
+
"attention",
|
| 26 |
+
"moe",
|
| 27 |
+
"mamba",
|
| 28 |
+
"moe",
|
| 29 |
+
"mamba",
|
| 30 |
+
"moe",
|
| 31 |
+
"mamba",
|
| 32 |
+
"attention",
|
| 33 |
+
"moe",
|
| 34 |
+
"mamba",
|
| 35 |
+
"moe",
|
| 36 |
+
"mamba",
|
| 37 |
+
"moe",
|
| 38 |
+
"mamba",
|
| 39 |
+
"attention",
|
| 40 |
+
"moe",
|
| 41 |
+
"mamba",
|
| 42 |
+
"moe",
|
| 43 |
+
"mamba",
|
| 44 |
+
"moe",
|
| 45 |
+
"mamba",
|
| 46 |
+
"attention",
|
| 47 |
+
"moe",
|
| 48 |
+
"mamba",
|
| 49 |
+
"moe",
|
| 50 |
+
"mamba",
|
| 51 |
+
"moe",
|
| 52 |
+
"mamba",
|
| 53 |
+
"attention",
|
| 54 |
+
"moe",
|
| 55 |
+
"mamba",
|
| 56 |
+
"moe",
|
| 57 |
+
"mamba",
|
| 58 |
+
"moe",
|
| 59 |
+
"mamba",
|
| 60 |
+
"moe",
|
| 61 |
+
"mamba",
|
| 62 |
+
"attention",
|
| 63 |
+
"moe",
|
| 64 |
+
"mamba",
|
| 65 |
+
"moe",
|
| 66 |
+
"mamba",
|
| 67 |
+
"moe",
|
| 68 |
+
"mamba",
|
| 69 |
+
"moe",
|
| 70 |
+
"mamba",
|
| 71 |
+
"moe"
|
| 72 |
+
],
|
| 73 |
+
"mamba_head_dim": 64,
|
| 74 |
+
"mamba_hidden_act": "silu",
|
| 75 |
+
"mamba_num_heads": 64,
|
| 76 |
+
"mamba_proj_bias": false,
|
| 77 |
+
"mamba_ssm_cache_dtype": "float32",
|
| 78 |
+
"max_position_embeddings": 262144,
|
| 79 |
+
"mlp_bias": false,
|
| 80 |
+
"mlp_hidden_act": "relu2",
|
| 81 |
+
"model_type": "nemotron_h",
|
| 82 |
+
"moe_intermediate_size": 1856,
|
| 83 |
+
"moe_latent_size": null,
|
| 84 |
+
"moe_shared_expert_intermediate_size": 3712,
|
| 85 |
+
"moe_shared_expert_overlap": true,
|
| 86 |
+
"mtp_layers_block_type": [
|
| 87 |
+
"attention",
|
| 88 |
+
"moe"
|
| 89 |
+
],
|
| 90 |
+
"n_group": 1,
|
| 91 |
+
"n_groups": 8,
|
| 92 |
+
"n_routed_experts": 128,
|
| 93 |
+
"n_shared_experts": 1,
|
| 94 |
+
"norm_eps": 1e-05,
|
| 95 |
+
"norm_topk_prob": true,
|
| 96 |
+
"num_attention_heads": 32,
|
| 97 |
+
"num_experts_per_tok": 6,
|
| 98 |
+
"num_hidden_layers": 52,
|
| 99 |
+
"num_key_value_heads": 2,
|
| 100 |
+
"num_logits_to_keep": 1,
|
| 101 |
+
"num_nextn_predict_layers": 1,
|
| 102 |
+
"pad_token_id": 0,
|
| 103 |
+
"partial_rotary_factor": 1.0,
|
| 104 |
+
"quantization_config": {
|
| 105 |
+
"config_groups": {
|
| 106 |
+
"config_group_0": {
|
| 107 |
+
"format": "pack-quantized",
|
| 108 |
+
"input_activations": null,
|
| 109 |
+
"output_activations": null,
|
| 110 |
+
"targets": [
|
| 111 |
+
"Linear"
|
| 112 |
+
],
|
| 113 |
+
"weights": {
|
| 114 |
+
"actorder": null,
|
| 115 |
+
"block_structure": null,
|
| 116 |
+
"dynamic": false,
|
| 117 |
+
"group_size": 64,
|
| 118 |
+
"num_bits": 8,
|
| 119 |
+
"observer": "memoryless_minmax",
|
| 120 |
+
"observer_kwargs": {},
|
| 121 |
+
"scale_dtype": null,
|
| 122 |
+
"strategy": "group",
|
| 123 |
+
"symmetric": true,
|
| 124 |
+
"type": "int",
|
| 125 |
+
"zp_dtype": null
|
| 126 |
+
}
|
| 127 |
+
}
|
| 128 |
+
},
|
| 129 |
+
"format": "pack-quantized",
|
| 130 |
+
"global_compression_ratio": null,
|
| 131 |
+
"ignore": [
|
| 132 |
+
"re:.*\\.gate$",
|
| 133 |
+
"re:.*\\.conv1d$",
|
| 134 |
+
"re:.*mtp.*",
|
| 135 |
+
"lm_head",
|
| 136 |
+
"re:.*\\.embeddings$",
|
| 137 |
+
"re:.*\\.norm_f$"
|
| 138 |
+
],
|
| 139 |
+
"kv_cache_scheme": null,
|
| 140 |
+
"quant_method": "compressed-tensors",
|
| 141 |
+
"quantization_status": "compressed",
|
| 142 |
+
"transform_config": {},
|
| 143 |
+
"version": "0.18.1.a20260818"
|
| 144 |
+
},
|
| 145 |
+
"rescale_prenorm_residual": true,
|
| 146 |
+
"residual_in_fp32": false,
|
| 147 |
+
"rope_theta": 10000,
|
| 148 |
+
"routed_scaling_factor": 2.5,
|
| 149 |
+
"sliding_window": null,
|
| 150 |
+
"ssm_state_size": 128,
|
| 151 |
+
"tie_word_embeddings": false,
|
| 152 |
+
"time_step_floor": 0.0001,
|
| 153 |
+
"time_step_max": 0.1,
|
| 154 |
+
"time_step_min": 0.001,
|
| 155 |
+
"topk_group": 1,
|
| 156 |
+
"transformers_version": "4.57.6",
|
| 157 |
+
"use_bias": false,
|
| 158 |
+
"use_cache": true,
|
| 159 |
+
"use_conv_bias": true,
|
| 160 |
+
"use_mamba_kernels": true,
|
| 161 |
+
"vocab_size": 131072
|
| 162 |
+
}
|
explainability.md
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
| Field | Response |
|
| 2 |
+
| :---- | :---- |
|
| 3 |
+
| Intended Task/Domain: | Text generation, reasoning, and chat |
|
| 4 |
+
| Model Type: | Text-to-text Mamba2-Transformer Hybrid |
|
| 5 |
+
| Intended Users: | Generative AI creators working with conversational AI models and image content. |
|
| 6 |
+
| Output: | Text |
|
| 7 |
+
| Tools used to evaluate datasets to identify synthetic data and ensure data authenticity. | We used a Gemma-3 4B-based filtering model fine-tuned on [Nemotron Content Safety Dataset v2](https://huggingface.co/datasets/nvidia/Aegis-AI-Content-Safety-Dataset-2.0) to ensure the quality of synthetic data. |
|
| 8 |
+
| Describe how the model works: | Generates text by predicting the next word or token based on the context provided in the input sequence using multiple self-attention layers. |
|
| 9 |
+
| Name the adversely impacted groups this has been tested to deliver comparable outcomes regardless of: | Age, Disability Status, Gender Identity, Nationality, Physical Appearance, Ethnicity, Socioeconomic Status, Sexual Orientation, Religion |
|
| 10 |
+
| Technical Limitations & Mitigation: | This model performs particularly well in instruction following regimes, as such may be strongly influenced by untrusted inputs and should be paired with appropriate guardrails and data filtering to better align use-case behaviors when exposed to such data. |
|
| 11 |
+
| Verified to have met prescribed NVIDIA quality standards: | Yes |
|
| 12 |
+
| Performance Metrics: | Accuracy, Throughput, and User-side throughput |
|
| 13 |
+
| Potential Known Risks: | The model was optimized explicitly for instruction following and as such is more susceptible to prompt injection and jailbreaking in various forms as a result of its instruction tuning. This means that the model should be paired with additional rails or system filtering to limit exposure to instructions from malicious sources -- either directly or indirectly by retrieval (e.g. via visiting a website) -- as they may yield outputs that can lead to harmful, system-level outcomes up to and including remote code execution in agentic systems when effective security controls including guardrails are not in place. The model may generate answers that may be inaccurate, omit key information, include irrelevant or redundant text, or produce socially unacceptable or undesirable text, even if the prompt itself does not include anything explicitly offensive. The model may exhibit self-anthropomorphism (e.g., displaying human-like characteristics in dialogue, such as expressing preferences and emotions). |
|
| 14 |
+
| Licensing: | Use of this model is governed by the [OpenMDW License Agreement, version 1.1](https://raw.githubusercontent.com/OpenMDW/OpenMDW/refs/heads/main/1.1/LICENSE.OpenMDW-1.1) (OpenMDW-1.1). |
|
generation_config.json
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"_from_model_config": true,
|
| 3 |
+
"bos_token_id": 1,
|
| 4 |
+
"do_sample": true,
|
| 5 |
+
"eos_token_id": [
|
| 6 |
+
2,
|
| 7 |
+
11
|
| 8 |
+
],
|
| 9 |
+
"pad_token_id": 0,
|
| 10 |
+
"top_p": 0.95,
|
| 11 |
+
"transformers_version": "4.57.6",
|
| 12 |
+
"temperature": 1.0
|
| 13 |
+
}
|
model-00001-of-00014.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:79c9ef6cddd3779fec55991c07d954543084656ae96635b8a1f82e92a911f29a
|
| 3 |
+
size 2915453848
|
model-00002-of-00014.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:3740c71bc76b18a4b8013c8bc97e5dd06d871ffb0e0fa0169c01c638abf343ab
|
| 3 |
+
size 2575218432
|
model-00003-of-00014.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:b933d41543434ed4e802aad2f910bf2c798410059b5789192c04335bce4c0644
|
| 3 |
+
size 2575219440
|
model-00004-of-00014.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:39ab7ff029bb0d743c740983ac11238bdce5a39af72f2a9526b40a5928ded615
|
| 3 |
+
size 2576811656
|
model-00005-of-00014.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:19d03020dfcc47fa5377159933bdde2f38dd2f61ff4fdd782ed4bb5079f788ed
|
| 3 |
+
size 2569005224
|
model-00006-of-00014.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:c2ead9f0aa074d3a9fd40efad24a3d0e6a5fd2f6c6811d99eeced896082f295e
|
| 3 |
+
size 2573210456
|
model-00007-of-00014.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:28bcb1b29ca06282b89bbb012f065c54685eb68c2a3ef9369f5d8f3978a27a51
|
| 3 |
+
size 2575219816
|
model-00008-of-00014.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:b9458cae347dea65c34e1ed202a0b773965f872b307ae8d6137791352708f396
|
| 3 |
+
size 2575219904
|
model-00009-of-00014.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:3daf90edb5e0de300242854ad55f533a9d3605fc59c719e2bb65ae68e521483f
|
| 3 |
+
size 2576811656
|
model-00010-of-00014.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:a871d444acfc8285a011a43ca2720af25cfdbb9752c5b20575d6abd32cd49674
|
| 3 |
+
size 2575219904
|
model-00011-of-00014.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:c351426be56cee7adf20e76b75114034c01df7079014d949025bd233b7d382ee
|
| 3 |
+
size 2576811664
|
model-00012-of-00014.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:29c93fd77b3fe9c93a858916324ae3b7b5a89f3928c066a549dba3297d92a01f
|
| 3 |
+
size 2576811680
|
model-00013-of-00014.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:9618c85646c96977a8a0a5b307dec07315c81653c72f08a2480633202eea18f0
|
| 3 |
+
size 2017370440
|
model-00014-of-00014.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:64577b275ca4e7e5266eae0903674f7f46ec2a8cbf4f4f1a3207f80d503cd1d0
|
| 3 |
+
size 2670685240
|
model.safetensors.index.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
privacy.md
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
| Privacy Information |
|
| 2 |
+
| :--- |
|
| 3 |
+
| Nemotron 3.5 Lightning was trained on large-scale publicly available data that may contain images, audio-video, and text relating to people. NVIDIA collected and used this data in compliance with applicable data protection and privacy laws. This model was not designed to derive insights or otherwise learn from any personal data contained in the datasets. |
|
| 4 |
+
| NVIDIA uses a combination of filters, data minimization techniques, and other guardrails to help prevent personal data from being recited by our models. We employ automated tools and data processing techniques during pre-training or training to identify and filter certain categories of personal data. |
|
| 5 |
+
| Please review NVIDIA's [Privacy Policy](https://www.nvidia.com/en-us/about-nvidia/privacy-policy/) for more information. |
|
safety.md
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
| Field | Response |
|
| 2 |
+
| :---- | :---- |
|
| 3 |
+
| Model Application Field(s): | Chat, Instruction Following, Chatbot Development, Code Generation, Reasoning, Customer Service |
|
| 4 |
+
| Describe the life critical impact (if present). | Not Applicable |
|
| 5 |
+
| Description of methods implemented in data acquisition or processing, if any, to address other types of potentially harmful data in the training, testing, and validation data: | We used a guard model for content safety to exclude potentially harmful data from training. |
|
| 6 |
+
| Description of any methods implemented in data acquisition or processing, if any, to address illegal or harmful content in the training data, including, but not limited to, child sexual abuse material (CSAM) and non-consensual intimate imagery (NCII) | We used a Gemma-3 4B-based guard model trained on [Nemotron Content Safety Dataset v2](https://huggingface.co/datasets/nvidia/Aegis-AI-Content-Safety-Dataset-2.0) for content safety to exclude potentially illegal or harmful content from the training. |
|
| 7 |
+
| Use Case Restrictions: | Use of this model is governed by the [OpenMDW License Agreement, version 1.1](https://raw.githubusercontent.com/OpenMDW/OpenMDW/refs/heads/main/1.1/LICENSE.OpenMDW-1.1) (OpenMDW-1.1).|
|
| 8 |
+
| Model and dataset restrictions: | The Principle of least privilege (PoLP) is applied limiting access for dataset generation and model development. Restrictions enforce dataset access during training, and dataset license constraints adhered to. |
|
| 9 |
+
| This AI model was developed based on our policies to ensure responsible data handling and risk mitigation. The datasets used for training have been scanned for harmful content and illegal content, consistent with our policies including scanning for Child Sexual Abuse Material (CSAM). Ongoing review and monitoring mechanisms are in place based on our policies and to maintain data integrity. | True. We use [Nemotron Content Safety Dataset V2](https://huggingface.co/datasets/nvidia/Aegis-AI-Content-Safety-Dataset-2.0) and an internal safety dataset specialized for minority sexuality for content safety evaluation to ensure the safety of this model. |
|
special_tokens_map.json
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"bos_token": {
|
| 3 |
+
"content": "<s>",
|
| 4 |
+
"lstrip": false,
|
| 5 |
+
"normalized": false,
|
| 6 |
+
"rstrip": false,
|
| 7 |
+
"single_word": false
|
| 8 |
+
},
|
| 9 |
+
"eos_token": {
|
| 10 |
+
"content": "<|im_end|>",
|
| 11 |
+
"lstrip": false,
|
| 12 |
+
"normalized": false,
|
| 13 |
+
"rstrip": false,
|
| 14 |
+
"single_word": false
|
| 15 |
+
},
|
| 16 |
+
"pad_token": {
|
| 17 |
+
"content": "<|im_end|>",
|
| 18 |
+
"lstrip": false,
|
| 19 |
+
"normalized": false,
|
| 20 |
+
"rstrip": false,
|
| 21 |
+
"single_word": false
|
| 22 |
+
},
|
| 23 |
+
"unk_token": {
|
| 24 |
+
"content": "<unk>",
|
| 25 |
+
"lstrip": false,
|
| 26 |
+
"normalized": false,
|
| 27 |
+
"rstrip": false,
|
| 28 |
+
"single_word": false
|
| 29 |
+
}
|
| 30 |
+
}
|
tokenizer.json
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:623c34567aebb18582765289fbe23d901c62704d6518d71866e0e58db892b5b7
|
| 3 |
+
size 17077484
|
tokenizer_config.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|