- 人工智能
- 大模型
- 多模态
- 本地部署
- 模型量化
【免费下载链接】NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB
NVIDIA Nemotron 3.5 Bolt 74B-A9B-24GB 是可在 24GB 显存中本地运行的视觉语言模型(VLM):74B 总参数、每 token 仅激活 9B,采用 Mamba-2 + Attention + MoE 混合骨干,并搭配 C-RADIO 视觉编码器。仓库自带完整 remote code,核心文件 modeling_nemotron_h.py 近 1800 行,从混合动态缓存到 Top-K 专家路由一应俱全。本文带你逐层拆解这份源码,新手也能读完"混合架构"的全貌。
一、模型速览:74B 总参数、9B 激活、256K 上下文
📌 关键规格(来自 config.json 与 README.md):
| 项目 | 数值 |
|---|---|
| 总参数 / 激活参数 | 74B / 9B(Top-9 专家路由) |
| 架构 | Mamba-2 + Attention + LatentMoE 混合 + C-RADIO 视觉编码器 |
| 层数 | 82 = 32 Mamba + 42 MoE + 8 Attention |
| 隐层维度 / 词表 | 4096 / 131072 |
| 最大上下文 | 256K(262144 tokens) |
| 量化 | IQ2 专家 + NVFP4 Mamba + Q8 输出头,整包 24GB |
| 输入 / 输出 | 文本、图像、视频 / 文本 |
源码分工:9 个文件,各司其职
| 文件 | 行数 | 职责 |
|---|---|---|
| modeling_nemotron_h.py | 1754 | 语言骨干:混合缓存、Mamba 扫描、MoE 路由、Attention |
| modeling_nemotron_h_omni.py | 511 | 顶层多模态模型:图像/视频/音频融合进文本流 |
| modeling_radio.py | 512 | C-RADIO(RADIO)视觉编码器 |
| configuration_nemotron_h.py | 410 | NemotronHConfig:层类型清单与全部超参 |
| configuration_nemotron_h_puzzle.py | 151 | 逐层异构的 block_configs |
| modeling_nemotron_h_puzzle.py | 37 | 让每层按自己的配置构建 |
| configuration_nemotron_h_omni.py | 166 | 顶层组合配置(llm + vision + audio) |
| configuration_radio.py | 93 | 视觉编码器配置 |
| ultra_v3_reasoning_parser.py | 53 | vLLM 推理内容/答案切分解析器 |
二、混合架构总览:layers_block_type 决定每一层是什么
与普通 LLM 只用自注意力不同,这个模型采用三种块混合的排布,层结构直接写在配置里的字符串列表中:
"layers_block_type": ["mamba", "moe", "mamba", "moe", "...", "attention", "moe"]- NemotronHConfig 通过
_validate_layers_block_type校验列表,只允许mamba/moe/attention三种取值,层数由列表长度决定; - 每个 NemotronHBlock 都是"pre-norm → mixer → 残差连接"结构,
mixer按block_type分派为 Mamba、Attention 或 MoE 三种实现之一; - 8 个 Attention 层大致每隔 9~11 层插入一个,负责精确的长距离依赖;其余 74 层由常显存的 Mamba 与高容量的 MoE 承担。
🧩 配置里还保留了 "M/E/*" 简写模式的向后兼容,可用
_pattern_to_list(configuration_nemotron_h.py#L404-L407)与列表互相转换。
三、Mamba Cache 拆解:混合动态缓存如何驯服 256K 长上下文
👉 核心类:NemotronHHybridDynamicCache
纯 Transformer 的 KV Cache 随序列长度线性增长,而 Mamba 的状态是恒定的。这个类把两套缓存统一管理在同一个对象里:
| 缓存 | 所属层 | 形状(每 batch) | 随序列增长 |
|---|---|---|---|
| key/value_cache | 8 个 Attention 层 | 2 个 KV 头 × 128 维,逐 token 追加 | ✅ 线性增长 |
| conv_states | 32 个 Mamba 层 | (10240, 4) 环形卷积状态 | ❌ 恒定 |
| ssm_states | 32 个 Mamba 层 | (128 头, 64, 128) 状态矩阵 | ❌ 恒定 |
也就是说,256K 上下文时"显存大头"只来自 8 层 Attention;每个 Mamba 层的 SSM 状态约 2MB(bf16),32 层合计不足 70MB——这就是长上下文能落地的原因。
Mamba 混合器内部:选择性状态扫描
NemotronHMamba2Mixer 是全模型最复杂的模块,前向流程为:
in_proj把 4096 维隐层投影后拆成 gate、卷积输入、dt(离散时间步)三部分;- 深度可分离因果 Conv1d(kernel=4)对卷积输入做局部平滑;
- 拆分出 x / B / C 后执行选择性状态空间扫描:prefill 走
mamba_chunk_scan_combined分块 kernel(chunk_size=128),逐 token 解码走selective_state_update单步递推,并写回ssm_states; dt经 softplus 后截断在 [0.001, 0.1],保证递推数值稳定;- 门控 RMSNorm 后再经
out_proj投回 4096 维。
cuda_kernels_forward是快速路径,torch_forward则是纯 PyTorch 参考实现(把扫描手动展开成分块矩阵运算),没有安装 mamba-ssm 的机器也能读懂整段逻辑。
四、MoE 路由逐层拆解:Top-9 专家与 LatentMoE 降维
👉 核心类:NemotronHMoE 与 NemotronHTopkRouter
LatentMoE:专家在 1024 维"潜空间"里计算
每个 MoE 层的前向(modeling_nemotron_h.py#L952-L965):
hidden 4096 ──fc1_latent_proj──▶ 1024 ──路由专家(Top-9)──▶ 1024 ──fc2_latent_proj──▶ 4096 hidden 4096 ─────────────────▶ 共享专家(FFN 宽 5376) ────┘(相加输出)- 路由专家的 up/down_proj 全部收在 1024 维(
moe_latent_size),单个专家参数量大幅缩小; - 共享专家在原维度并行计算,保证每个 token 都有"保底"输出;
- 这正是"74B 总参数、每 token 只激活 9B"的实现方式。
路由器:sigmoid 打分 + 分组 Top-K
NemotronHTopkRouter 的前向:
- 线性层算路由 logits(float32)→sigmoid得到打分;
get_topk_indices支持"先按组选 top 组、再组内选 top-K"的两段式路径,本模型n_group=1,等价于直接全局 Top-9;- 命中的 9 个分数归一化后乘以
routed_scaling_factor=5.0作为最终路由权重; e_score_correction_bias是免 aux-loss 的负载均衡偏置(配置中aux_loss_alpha=0)。
Puzzle 设计:每层专家数量可以不一样
这个模型的 MoE 层不是同构的:config.json 里的block_configs给每个 MoE 层配置了各自的专家数(240~496)与 FFN 宽度(1536~2560),是 Star Elastic 架构搜索的结果。实现见 NemotronHPuzzleConfig:
- get_nemotron_h_config_for_layer 把某层的块级字段叠加到全局配置,为每层生成一个独立的
NemotronHConfig; - NemotronHPuzzleForCausalLM 只有 37 行,通过临时替换块类的方式让每层"按自己的配置构建",最大化复用了主干代码。
五、视觉分支:C-RADIO 编码器 + Pixel Shuffle 投影器
👉 入口:NemotronH_Omni_Reasoning_V3
图像输入共四步:
- 切块与定位
- 人工智能
- 大模型
- 多模态
- 本地部署
- 模型量化
【免费下载链接】NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB
相关推荐
为什么 24GB 显存能跑 74B 大模型?NVIDIA Nemotron-3.5-Bolt-74B-A9B-24GB-LiLiCorr-GGUF 背后的 MoE 激活奥秘
为什么 24GB 显存能跑 74B 大模型?NVIDIA Nemotron 3.5 Bolt 74B A9B 24GB LiLiCorr GGUF 背后的 Mo
NVIDIA Nemotron-3.5-Bolt-74B-A9B-24GB-LiLiCorr-GGUF 是什么?一文读懂 LiLiCorr 投机解码草稿模型
NVIDIA Nemotron 3.5 Bolt 74B A9B 24GB LiLiCorr GGUF 是什么?一文读懂 LiLiCorr 投机解码草稿模型 N
DaVinci Resolve Fusion 模板开发指南:转场、生成器、标题与特效的创作、动画与打包分发
DaVinci Resolve Fusion 模板开发指南:转场、生成器、标题与特效的创作、动画与打包分发 本文基于仓库内 .agents/skills/dav
人工智能大模型多模态基础模型推理模型
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考