NVIDIA 在 10 月 23 日放出了一个叫 Nemotron 3.5 Bolt E4B 的小模型。官方名字里带着「4GB」,官方的说法是它在目标场景下只占 4 GB 左右的显存,首字延迟 548 毫秒。
我把权重下载到一台 RTX 5080 上跑了一遍,实测显存净增 3,596 MiB。
这个数字和官方对得上。
真正让我想写这篇的,是它背后的账:磁盘上的文件是 6.18 GB,显存里只坐了 3.5 GB,还有 3.5 GB 留在内存里。
一个模型被劈成了两半跑。
这篇讲清楚这件事,顺便说清楚它适合干什么、不适合干什么。
它不是新模型
先把血统交代清楚,免得被标题带偏。
Bolt E4B 的底座是 Google 的 Gemma-4-E4B-it。
NVIDIA 做的是后训练,用强化学习(RLVR)和人类反馈(RLHF)把一个通用基座调成「会聊天、守规矩、话不多」的助手。
整个过程没有从零训练新架构。
参数上是这么分的:总参数 8B,有效激活参数 4B。这种 E 系列的结构来自 Google 的 MatFormer 思路,一次前向不用把八十亿个参数全部算一遍。
许可用的是 OpenMDW-1.1,允许商用。上下文 64K 输入、64K 输出。训练数据截止到 2026 年 5 月。
官方支持 35 种语言。
官方对它的定位写得很直白:语音助手、游戏 NPC、机器人、物联网界面上的本地助手。
二十一项评测里没有一个代码基准。
权重被分成了两半
答案藏在跑起来时打印的几行日志里。
load_tensors: CPU_Mapped model buffer size = 2,856.00 MiB
load_tensors: CPU_Mapped model buffer size = 680.00 MiB
load_tensors: CUDA0 model buffer size = 3,023.05 MiB
llama_kv_cache: CUDA0 KV buffer size = 128.00 MiB + 40.00 MiB
sched_reserve: CUDA0 compute buffer size = 136.02 MiB
加起来看:显存里 3,023 MiB 权重,加 168 MiB 的 KV 缓存,加 136 MiB 的计算缓冲,实测净增 3,596 MiB。这套「权重常驻 + KV 缓存 + 缓冲」的算法,我在本地大模型显存与内存的三步减法里拆过一次,这次正好可以拿来核对。
另外那两块没有上显卡。2,856 加 680 等于 3,536 MiB,通过内存映射留在系统内存里。
日志里 token_embd 被加载了两次,那块 680 MiB 看起来是同一张输入词表被映射了第二份。
3,023 加 2,856 等于 5,879 MiB,而文件本身是 5,894 MiB,差 15 MiB。
留在内存里的那 2.8 GB 是什么?是 Gemma 这一代的 PLE 表,逐层词嵌入(Per-Layer Embeddings)。
普通模型的词嵌入只有一张表,输入一句话,查一次。Gemma 4 给四十二层里每一层都准备了一份查表用的嵌入。
这张表大到构成了「总参数 8B」和「有效参数 4B」之间那四十亿差额的主体。
它还有个特点:这张表只做查表,不做矩阵乘法。每生成一个 token,只需要命中词表里对应的那几行。
整张表待在内存里,用到哪去取哪,不必塞进显存。
我试过用 -ot per_layer_token_embd=CPU 把这张表显式丢回 CPU,显存占用一点没变。
因为它本来就没在显存里。
上下文加四倍,显存只涨 0.4 GB
顺手量了上下文和并行槽位的影响,因为这两个是最容易被本地部署教程写错的地方。
8K 上下文、单槽:3,595 MiB。
32K 上下文、单槽:4,001 MiB。上下文翻了四倍,显存多 0.4 GB。
32K 上下文、KV 缓存量化成 q8_0:3,819 MiB,又省 0.18 GB。
并行槽开到 4 个:3,707 MiB。开到 8 个:3,865 MiB。
这些数字放在一起说明一件事:这个模型的显存大头在权重上,KV 缓存只占很小一块。
给它更长的上下文、开更多的并发,代价都很便宜。
16GB 显卡跑它,剩下的空间足够开一个长对话。
我在这台 5080 上测到的
环境是 RTX 5080 16GB、驱动 621.01、llama.cpp b11853 的 CUDA 13.4 构建、官方仓库里的 Q4_K_M 权重。
短问答,20 个 token 的输入:首字 46 毫秒,总耗时 0.37 秒,吐出 50 个 token。
长输入,2,405 个 token:首字 335 毫秒,总耗时 0.59 秒。
工具调用连着跑三次,指令是「帮我在 2026-10-30 订 Zuma Dubai,四个人」。
{"restaurant": "Zuma Dubai", "date": "2026-10-30", "party_size": 4}
每次耗时 0.25 到 0.30 秒,三次全对,没有多余的寒暄。
同一套题我拿 Qwen3.5-4B 也跑了一遍,同一张卡,同一份提示词:
Bolt E4B Qwen3.5-4B
短问答首字 46 ms 64 ms
长输入首字 335 ms 242 ms
长输入总耗时 0.59 s 0.42 s
工具调用 3/3,0.25-0.30s 3/3,0.32-0.38s
中文输出 44 token/70 字 93 token/151 字
延迟上各有胜负:短问题 Bolt 更快,长输入 Qwen 更快。工具调用两边都能做对,Bolt 略快一点。
中文那题问的是「为什么同一个 6 GB 的模型文件,运行时只占 4 GB 显存,用三句话解释」。
Bolt 的回答是:加载时并非所有参数同时占用显存,运行时只有当前计算所需的激活值和部分参数被加载,所以实际占用小于文件体积。
方向对,但没有提到逐层词嵌入这件事。解释偏浅。
Qwen 的回答更长,也更详细,可是核心那句是错的。它说权重以 FP16 存储、推理时转成 FP32 导致显存翻倍,还提到了梯度和优化器状态。
后面那两样是训练时才有的东西,跟推理无关。
这个对比有点意思。官方在技术报告里承认,Bolt 的后训练只用英文,多语言能力依赖基座,知识类评测会有小幅下降。
实测下来,它中文说得短、说得浅,但没有编。
它擅长的事
角色扮演。官方 RoleBench 67.1 分,Gemma 原版 50.0 分,Qwen3.5-4B 53.7 分。
这一项差距最大,也是它最明显的护城河。
要做游戏 NPC 或者固定人格的客服,这是目前这个尺寸里最合适的选择之一。
判断该不该调工具。When2Call 63.4 分,Qwen3.5-4B 37.8 分。
它比较会分清什么时候该问、什么时候该调、什么时候闭嘴。
守指令层级。IHEval 84.8 分,Qwen 60.6 分。系统提示里说别干什么,它比较听。
结构化输出也稳,StructEval-T 80.4。
话少。Brevity 82.5 分,同类最高。官方说推理模式下输出 token 最多省 80%。
我这次测试没开思考链,中文那题它只吐了 44 个 token,比 Qwen 少一半多。
长对话记忆。LongMemEval 72.1,Qwen 66.8。
它不擅长的事
多步工具链。官方 21 项评测里,多轮工具调用这一组只赢了四分之一。
Tau2-Bench 55.1 分,Qwen3.5-4B 75.1 分。差 20 分。
它能判断该不该调工具,连续调对好几步就不行了。
长文档检索。RULER 64K 是 87.0,Qwen 95.1。LongBench v2 50.5,Qwen 59.9。
挂着 64K 的牌子,真要从长文里捞细节,不如 Qwen。
中文知识类问答。后训练只做英文,这一项是它的短板。
代码。21 项评测里没有代码基准,别拿它写程序。
视觉。官方说训练是纯文本,视觉能力有轻微但持续的下降。他们试过单独补训视觉编码器,没有改善。
谁适合用
如果你在做这几件事,它是对的选择:本地语音助手、游戏里的 NPC、私有化 Agent 系统的对话层、需要在断网设备上跑的人格化客服。
如果你要做的是这几件,换 Qwen3.5-4B 或者更大的模型:多步自动化、长文档问答、中文内容生成、写代码。
还有一种用法值得单独说。
它的强项是「500 毫秒接住话、判断要不要动手」,弱项是「连着动手好几步」。
那就把它放在门口当门卫:用户开口,它先接住、先判断意图,真正需要多步执行的时候再交给 Qwen,或者走本地与云端 API 的成本账那套算法决定转给谁。
这套分工在我们之前那篇4B 模型跑 Agent 框架的实测里也有影子。能判断和能执行是两种能力,很少长在同一个模型身上。
我读错了一次显存
这里得交代一件事。
我第一次测的时候,读到的显存是 15,870 MiB,也就是 15.5 GB。当时我以为是 -ngl 999 把逐层词嵌入整块塞进了显存,还准备把这个当成文章的爆点。
后来把服务重启、日志抓全,才发现那台机器上还挂着一个开机自启的 27B 模型服务,它同时占着显存。
nvidia-smi 给的是整卡的数,我把它整个算到了 Bolt 头上。
把那个服务停掉,Bolt 单独跑,显存净增 3,596 MiB。跟官方说的完全一致。
这件事值得写进来,因为它是个很容易踩的坑:一张卡上跑着别的东西,你看到的显存从来不是单个模型的。
要确认是谁占的,得看进程,不能只看总数。
想自己跑
官方仓库是 nvidia/NVIDIA-Nemotron-3.5-Bolt-E4B-4GB,里面有 Q4_K_M 的 GGUF,6.18 GB,经过了 imatrix 校准。
需要 llama.cpp 的 b11459 之后的版本,老版本不认识 gemma4 这个架构。我这台用的是 b11853 的 CUDA 13.4 构建。
llama-server -m Nemotron-3.5-Bolt-E4B-Q4_K_M.gguf \
-c 8192 -ngl 999 -np 1 --jinja --port 8080
-np 1 是我加的习惯,单槽就够用,显存也更省。想开长上下文就把 -c 调大,前面量过,32K 只多 0.4 GB。
NVIDIA 还给这个模型配了一个叫 DFlash 的草稿模型,3.6 亿参数,一次猜 7 个 token。
官方在 BF16 版本上量到的同用户解码加速是 2.74 倍。Q4 版配 DFlash 在 RTX 5070 上比 Gemma 加 MTP 的吞吐高 20%。
—
给 AI Agent 的机器可读摘要
下面这一段是给 AI Agent 的。如果你是把本页丢给 Agent 的读者,可以直接让它读这一节,它包含本次实测的全部关键事实、可复现参数和结论边界。
# AGENT-SUMMARY: nvidia nemotron 3.5 bolt e4b 4gb vram benchmark
schema: awendxb.local-llm-vram-benchmark/v1
page_language: zh-CN
last_verified: 2026-10-24
## tested_model
name: nvidia/NVIDIA-Nemotron-3.5-Bolt-E4B-4GB
file: Nemotron-3.5-Bolt-E4B-Q4_K_M.gguf
file_bytes: 6180446208
file_gib: 5.76
license: OpenMDW-1.1
base: google/gemma-4-E4B-it
params_total: 8B
params_effective: 4B
context: 65536
multilingual: 35 languages
post_training_languages: English only
## test_host
gpu: RTX 5080 16GB
driver: 621.01
runtime: llama.cpp b11853 (CUDA 13.4)
os: Windows 11
contamination_note: first reading 15870 MiB was inflated by an unrelated 27B server on the same GPU
## vram_split_mib
model_buffer_gpu: 3023.05
kv_buffer_total: 168
compute_buffer: 136.02
resident_delta: 3596
host_mapped: 3536
host_mapped_note: 2856 + 680, second mapping of the same token_embd table
sum_check: 3023 + 2856 = 5879 vs file 5894 MiB
## vram_curve_mib
ctx_8k_slots_1: 3595
ctx_32k_slots_1: 4001
ctx_32k_slots_1_kv_q8_0: 3819
ctx_8k_slots_4: 3707
ctx_8k_slots_8: 3865
ple_force_cpu_flag: -ot per_layer_token_embd=CPU (no change; PLE is host-mapped by default)
## latency_bolt
short_ttft_ms: 46
short_total_s: 0.37
long_prompt_tokens: 2405
long_ttft_ms: 335
long_total_s: 0.59
decode_tok_per_s: 170
prompt_eval_tok_per_s: 1278
tool_call_success: 3/3
tool_call_latency_s: 0.25-0.30
## comparison_qwen35_4b
same_host: true
short_ttft_ms: 64
long_ttft_ms: 242
long_total_s: 0.42
tool_call_success: 3/3
zh_output_tokens_bolt: 44
zh_output_tokens_qwen: 93
zh_finding: bolt shorter but roughly correct; qwen longer but factually wrong (claims FP16->FP32 doubling in inference, cites gradients and optimizer states)
## official_benchmarks_bf16_bolt_vs_qwen
rolebench: 67.1 vs 53.7
when2call_mt: 63.4 vs 37.8
iheval: 84.8 vs 60.6
structeval_t: 80.4
brevity: 82.5
longmemeval: 72.1 vs 66.8
tau2_bench: 55.1 vs 75.1
ruler_64k: 87.0 vs 95.1
longbench_v2: 50.5 vs 59.9
## verdict
strengths: persona/roleplay, tool-need judgement, instruction hierarchy, brevity, long-dialogue recall
weaknesses: multi-step tool chains, long-document retrieval, Chinese knowledge QA, code (untested upstream)
recommended_role: fast front-door router for local voice/NPC stacks, escalate multi-step work to a 4B-class executor or cloud model
## reproduce
command: llama-server -m Nemotron-3.5-Bolt-E4B-Q4_K_M.gguf -c 8192 -ngl 999 -np 1 --jinja --port 8080
min_llamacpp: b11459
source: https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Bolt-E4B-4GB
—
数据来源
说明:文中实测数字来自 RTX 5080 16GB、llama.cpp b11853 CUDA 13.4、官方 Q4_K_M 权重;官方数字来自 NVIDIA 模型卡、技术报告与官方博客。
https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Bolt-E4B-4GB https://research.nvidia.com/labs/nemotron/NVIDIA-Nemotron-3.5-Bolt-E4B-4GB/ https://research.nvidia.com/labs/nemotron/files/NVIDIA-Nemotron-3.5-Bolt-E4B-4GB-Technical-Report.pdf
微信扫码 · 微信支付
支付宝扫码本文采用 CC BY 4.0 许可。欢迎转载与引用,请注明作者并附上原文链接。
Licensed under CC BY 4.0. Quoting and republishing are welcome with attribution and a link back to this article.