26 万亿 token 训练、2-bit 权重:拆开英伟达 Nemotron 3.5 Super VL 与 Bolt
💡 工具推荐:文件哈希校验, JSON 格式化, CSV 转 JSON, 图片压缩
2026 年 10 月 15 日,英伟达同时发布了两条线的模型:Nemotron 3.5 Super VL 和 Nemotron 3.5 Bolt,官方说法是覆盖「从企业服务器到边缘设备与本地硬件」的全部 Agent 部署形态。Super VL 是开放的 120B 多模态混合专家模型,每 token 激活 12B 参数,与 Nemotron Coalition 合作开发,把推理、指令遵循、工具调用与文本/图像/文档/视频理解放进同一个模型;英伟达称它的能力接近自家最大的推理模型,但体积只有五分之一,并且「同级别中吞吐约为次优者的 5 倍」。Bolt 74B-A9B 用 2-bit 量化把 74B 权重压进 24GB,跑在工位或 PC 显卡上;本月晚些时候还会有一个 4GB 的 Bolt E4B 面向可穿戴与车载。真正值得算的是两件事:24GB 里到底还剩多少余量给 KV 缓存,以及「5 倍吞吐」和你的用户实际感受到的延迟是什么关系。
120B 的身板里塞一个 12B 的活跃档位,这就是全部诀窍。
这次发布的三条线,和「开放」到底开放到哪
这次发布不是一个模型,是一组分层:数据中心的 Super VL(120B)、工作站的 Bolt 74B-A9B(24GB)、以及即将到来、面向边缘设备的 Bolt E4B(4GB)。把「开放」拆开看更清楚:权重公开,所以组织可以自己后训练、自己部署、放进防火墙内,英伟达的说法是借此维持主权、隐私与安全。训练方法也是开放的——约 26 万亿 token 的预训练与继续预训练、380 万条后训练样本、100 个开放环境里的强化学习;配套在 Hugging Face 释放的数据集覆盖 Agent 工具调用、金融、指令遵循、长上下文、安全、公平性与视觉语言理解。这个组合的意义不在于「免费」,而在于组织可以把评测与合规证据握在自己手里:你能证明用的是哪份权重、跑在什么数据上、评测结果是什么。
# Fitting 74B into 24GB is a budget problem, not a magic trick. Do the arithmetic.
BYTES_PER_PARAM = {"fp16": 2.0, "fp8": 1.0, "int4": 0.5, "int2": 0.25}
def weights_gib(params_b, precision):
return params_b * 1e9 * BYTES_PER_PARAM[precision] / (1024 ** 3)
CARD_GIB = 24.0
OVERHEAD_GIB = 2.0 # driver, CUDA context, framework
print("74B (Bolt 74B-A9B) on a 24GB card")
for p in ("fp16", "fp8", "int4", "int2"):
w = weights_gib(74, p)
room = CARD_GIB - OVERHEAD_GIB - w
verdict = "fits" if room > 0 else "does not fit"
print(f" {p:5} weights {w:6.1f} GiB headroom {room:+6.1f} GiB {verdict}")
print()
print("Headroom after 2-bit weights must hold KV cache and activations.")
def kv_budget(room_gib, layers=48, kv_heads=4, head_dim=128, bytes_per_value=2):
per_token = 2 * layers * kv_heads * head_dim * bytes_per_value / (1024 ** 3)
return {"tokens_at_batch1": int(room_gib / per_token), "per_token_gib": round(per_token, 6)}
print(kv_budget(CARD_GIB - OVERHEAD_GIB - weights_gib(74, "int2")))
# Nvidia says 2-bit quantization is what makes the 24GB target work. This is why
# the headroom matters more than the headline: the weights are only the first bill.「5 倍更快」是吞吐,不是延迟
英伟达的表述是「同级别中最快的开放 Agent 模型——比次优者快 5 倍」,依据是 Artificial Analysis 对同尺寸竞品的测试,InclusionAI 的 Ling 3.0 Flash 第二、DeepSeek 的 V4.1 Flash 第三。这类数字读的时候要分三层。第一层,吞吐(每秒 token 数)在批处理下会累加,所以「每卡吞吐」本质是账单指标;第二层,用户感受到的是首 token 延迟和出字速度,一个模型可以因为批量效率高而赢下总吞吐,却在单路延迟上输;第三层,吞吐与质量无关——同级别比较只保证「同尺寸里跑得快」,不保证「在你这个任务上答得对」。把这三层分开,你才能判断这条 5 倍对你的场景意味着什么:如果任务是大批量的文档与日志处理,吞吐直接换算成成本;如果是交互式编码补全,首 token 延迟才是命门。
# "5x faster" is throughput. Your users experience latency. Those are not the same.
def throughput(tokens_per_sec, batch):
return tokens_per_sec * batch
def cost_per_million(tokens_per_sec, batch, gpu_hour_usd):
per_hour = throughput(tokens_per_sec, batch) * 3600
return round(gpu_hour_usd / per_hour * 1_000_000, 4) if per_hour else None
CANDIDATES = [
{"name": "very large dense", "tok_s": 260, "batch": 8},
{"name": "mid dense", "tok_s": 700, "batch": 8},
{"name": "12B-active MoE", "tok_s": 1300, "batch": 8},
]
print(f"{'model':18} {'tok/s':>7} {'batch':>6} {'agg tok/s':>10} {'$/1M tok @ $3.20/h':>20}")
for c in CANDIDATES:
agg = throughput(c["tok_s"], c["batch"])
print(f"{c['name']:18} {c['tok_s']:7} {c['batch']:6} {agg:10} "
f"{cost_per_million(c['tok_s'], c['batch'], 3.20):>20}")
# Single-stream latency is a different table. A model can win on aggregate
# throughput because batching is efficient while losing on time-to-first-token.
def ttft(prompt_tokens, prefill_tok_s):
return round(prompt_tokens / prefill_tok_s * 1000, 1)
print()
for p in (2000, 32000, 128000):
print(f"prompt {p:>7} tokens -> TTFT {ttft(p, 6000):>8} ms (at 6000 prefill tok/s)")
# Nvidia's 5x claim is a same-class comparison, tested by Artificial Analysis
# against similarly sized competitors. Read it as throughput, not as quality.同一份权重,既要跑在数据中心节点,也要跑在工位上——这是一条新的分数线。
24GB 里装 74B,先算余量再谈别的
2-bit 量化把 74B 参数压到约 17.2GiB(74B × 0.25 字节),在一张 24GB 卡上扣掉约 2GiB 的运行时开销后,还能剩 4GB 出头——这些余量要装 KV 缓存、激活值与运行时缓冲,不是留给权重的。同一条账放在别的精度上完全不成立:FP8 约 68.9GiB、FP16 约 137.7GiB,都远超单卡。这也解释了为什么这个发布值得关注——它不是「又一个量化版本」,而是把「激活参数小 + 权重低位宽」两条路一起走,才让 24GB 这个门槛成立。选型时该问的第一个问题因此不是「模型多聪明」,而是「在目标卡上,权重之外还剩多少余量,够撑多长的上下文和多大的并发」。
# Open weights plus open recipes only pay off if you gate the post-training run.
from dataclasses import dataclass, field
@dataclass
class EvalCase:
name: str
category: str # tool_use | finance | instruction | long_context | safety | vision
passed: bool
@dataclass
class PostTrainGate:
baseline: dict = field(default_factory=dict)
max_allowed_regression: float = 0.02
def score(self, cases, category):
subset = [c for c in cases if c.category == category]
if not subset:
return None
return sum(c.passed for c in subset) / len(subset)
def check(self, before, after, categories):
report = []
for cat in categories:
b, a = self.score(before, cat), self.score(after, cat)
if b is None or a is None:
continue
delta = a - b
blocked = delta < -self.max_allowed_regression
report.append({"category": cat, "before": round(b, 3), "after": round(a, 3),
"delta": round(delta, 3), "blocked": blocked})
return report
BEFORE = [EvalCase(f"b{i}", c, True) for i, c in enumerate(
["tool_use"] * 20 + ["finance"] * 10 + ["safety"] * 10 + ["long_context"] * 10)]
AFTER = ([EvalCase(f"a{i}", "tool_use", i < 19) for i in range(20)] +
[EvalCase(f"f{i}", "finance", i < 10) for i in range(10)] +
[EvalCase(f"s{i}", "safety", i < 8) for i in range(10)] +
[EvalCase(f"l{i}", "long_context", i < 10) for i in range(10)])
gate = PostTrainGate()
for row in gate.check(BEFORE, AFTER, ["tool_use", "finance", "safety", "long_context"]):
flag = "BLOCK" if row["blocked"] else "ok"
print(f"{row['category']:14} {row['before']:.3f} -> {row['after']:.3f} ({row['delta']:+.3f}) {flag}")
# Nvidia publishes the ingredients (about 26T tokens, 3.8M post-training samples,
# RL across 100 open environments) plus datasets on Hugging Face. The gate above is
# what stops a fine-tune from quietly trading safety for tool-use accuracy.后训练要用评测门禁,不然是在赌
开放权重加开放配方最大的价值是能拿自己的数据后训练(官方提到可用 NVIDIA NeMo 用自己的数据、工具、策略与工作流做后训练),但这也把风险从供应商转移到了你身上:一次针对工具调用准确率的微调,很可能让安全行为静默退化。所以流程里必须有一道评测门禁:改动前后跑同一套分类评测(工具调用、金融、安全、长上下文),逐类比较,任何一类跌幅超过阈值就阻断合入。上面那段代码就是这道门禁的骨架。注意阈值要按类别设置——长上下文掉 2 个点和安全掉 2 个点不是同一件事,后者通常应该是零容忍。
# Local or cloud is a policy question before it is a cost question.
from dataclasses import dataclass
@dataclass
class Job:
name: str
data_class: str # public | internal | regulated
prompt_tokens: int
needs_vision: bool
latency_budget_ms: int
TIERS = {
"edge_4gb": {"max_prompt": 8_000, "vision": False, "cost_per_1k": 0.00002},
"workstation_24gb": {"max_prompt": 60_000, "vision": True, "cost_per_1k": 0.00012},
"datacenter": {"max_prompt": 256_000, "vision": True, "cost_per_1k": 0.00040},
}
def eligible(job, tiers):
out = []
for name, t in tiers.items():
if job.prompt_tokens > t["max_prompt"]:
continue
if job.needs_vision and not t["vision"]:
continue
if job.data_class == "regulated" and name == "datacenter":
# a regulated payload leaves the building; only allowed with an explicit waiver
continue
out.append(name)
return out
JOBS = [
Job("inline code completion", "internal", 4_000, False, 300),
Job("scan 40-page contract", "regulated", 45_000, True, 8_000),
Job("summarise public docs", "public", 20_000, False, 5_000),
]
for j in JOBS:
opts = eligible(j, TIERS)
cheapest = min(opts, key=lambda n: TIERS[n]["cost_per_1k"]) if opts else None
print(f"{j.name:26} class={j.data_class:10} -> {opts} -> pick {cheapest}")
# Bolt E4B 4GB targets wearables, dashboards and device assistants. Bolt 74B-A9B
# targets a workstation. Super VL targets the data centre. The split is the point:
# pick a tier per job, not per company.每卡吞吐是账单指标,每用户延迟是体验指标,两者并不一致。
本地还是云端:先过策略,再比价格
三档模型对应三分法,但对某个具体任务该选哪一档,取决于三件事而不是价格排序。第一是数据分级:受监管的数据一旦发到云端就已经出界,此时唯一合规的选项是本地档,哪怕贵一点。第二是上下文长度:4GB 档能处理的提示词上限远低于工作站档,一份 40 页的合同扫不进小模型。第三是延迟预算:交互式补全要求几百毫秒,而离线批处理可以等几秒甚至几分钟,同样一档模型在两个预算下表现完全不同。把这三点当成过滤器先筛出可选档位,再在剩下的里挑最便宜的,得到的结论通常和「直接挑最便宜的」不一样——后者在受监管数据上直接违规。
# Day-0 vLLM support makes the tuning surface explicit. Start with the knobs that matter.
SERVING_PLAN = {
"model": "nemotron-3.5-super-vl",
"tensor_parallel_size": 1, # 12B active; scale out only when KV cache forces it
"max_model_len": 32768, # below the trained maximum unless you need the tail
"gpu_memory_utilization": 0.90, # leave headroom for fragmentation
"max_num_seqs": 64, # aggregate throughput lever
"enable_prefix_caching": True, # repeated system prompts are the cheapest win
"quantization": None, # bf16 weights unless the target card is small
}
def estimate_kv(model_cfg, max_model_len, max_num_seqs):
layers = model_cfg["layers"]
kv_heads = model_cfg["kv_heads"]
head_dim = model_cfg["head_dim"]
bytes_per_value = 2
per_token = 2 * layers * kv_heads * head_dim * bytes_per_value
return round(per_token * max_model_len * max_num_seqs / (1024 ** 3), 1)
MODEL = {"layers": 56, "kv_heads": 8, "head_dim": 128}
for seqs in (8, 32, 64, 128):
gib = estimate_kv(MODEL, SERVING_PLAN["max_model_len"], seqs)
print(f"max_num_seqs={seqs:>4} -> KV cache {gib:6.1f} GiB on top of weights")
print()
print("Sanity checks before you tune anything:")
for k, v in SERVING_PLAN.items():
print(f" {k:26} = {v}")
# Order of operations that holds up in practice: correctness at max_num_seqs=1,
# then prefix caching, then batching, then context length. Reversing it produces
# numbers you cannot attribute to any single change.迁移前要量四个数,而且有先后顺序
决定切换模型之前,先量四个数:在目标硬件上、你的真实输入长度分布下的每卡吞吐;你实际任务集上的质量(不要用公开基准代替自己的评测集);首 token 延迟与出字速度;以及单任务成本。四个数里最容易被忽略的是第二个——开放模型的一个常见陷阱是公开基准漂亮、在你的领域数据上反而更差。部署侧的调参顺序同样重要:先在并发为 1 的情况下确认正确性,再打开前缀缓存(系统提示词重复率高的场景收益最大),然后才调批大小,最后才延长上下文。反过来做,你得到的是几个无法归因的数字。英伟达这次的发布把「同级别最快」当作卖点,但对你来说,真正决定成败的是这四个数里没有一个来自新闻稿。
📌 常见问题 FAQ
Nemotron 3.5 Super VL 的规格是什么?
开放的 120B 参数多模态混合专家模型,每 token 激活 12B 参数(A12B)。它把推理、指令遵循、工具调用与文本、图像、文档、视频理解整合在一个模型里,英伟达称这样可以省掉单独部署视觉语言模型的必要。
「5 倍更快」指的是什么?
指吞吐。英伟达的表述是「同级别中最快的开放 Agent 模型,比次优者快 5 倍」,依据是 Artificial Analysis 对该模型与同尺寸竞品的测试;InclusionAI 的 Ling 3.0 Flash 与 DeepSeek 的 V4.1 Flash 分列二三。吞吐不等于单用户延迟,也不等于质量。
Bolt 74B-A9B 怎么塞进 24GB?
74B 总参数、激活 9B(A9B)的混合专家模型,使用 2-bit 量化以适配 24GB 显存,基于 Super VL 构建。这让它能跑在企业工作站或 PC 显卡上,用于写代码、调试等日常工作,而不必把负载送到云端。
它是在什么数据上训练的?
英伟达称训练使用开放数据与开放方法,预训练与继续预训练合计约 26 万亿 token,后训练包含 380 万条样本,并在 100 个开放环境中做强化学习。同时发布了一批开放数据集,覆盖 Agent 工具调用、金融、指令遵循、长上下文、安全、公平性与视觉语言理解。
Bolt E4B 4GB 是做什么的?
面向边缘部署的更小模型,计划本月晚些时候发布,目标硬件包括 GeForce RTX、Jetson 与 RTX/GTX Spark。官方描述的用途是穿戴设备、家电、点餐/收银、车载仪表盘、设备助手等嵌入式界面,以及交互角色与可本地化个性化的智能界面。
🔧 推荐工具
📚 参考资料
- NVIDIA — Open From Data Center to Desktop: NVIDIA Expands Nemotron Family With Highest Efficiency Super VL and Bolt Models (official, 15 Oct 2026)
- NVIDIA Technical Blog — NVIDIA Nemotron 3.5 Super VL Powers Specialized Agents with Multimodal Reasoning (official)
- vLLM — Announcing Day 0 Support for NVIDIA Nemotron 3.5 Super VL
- ZDNET — Nvidia's new Nemotron 3.5 Super VL is another step forward for US open-weight AI