llama.cpp 引入了对 NVIDIA Nemotron-3-Puzzle-75B-A9B 模型的支持,启用了该混合专家架构的推理。此次更新实现了用于可变每层专家前馈大小和 top-k 路由的基础设施,这是因为该模型具有 40 个 MoE 层,且 n_ff_exp 和 top-k 值各不相同。

  • 添加了 per-layer n_ff_exp 和 n_expert_used 数组,支持标量或数组加载。
  • 实现了 G1/G2 基础设施以处理跨层的异构专家配置。
  • 更新转换器以解析 block_configs 并为官方 BF16 检查点规范化张量名称。
  • 根据 per-layer expert_used_count 数组区分 Nemotron 3 Puzzle 和 Super 变体。

此更改使 llama.cpp 能够加载和运行 Nemotron-3-Puzzle 模型,该模型此前因其复杂且非均匀的 MoE 结构而缺乏支持。