开源llama.cpp Releases·2026年9月5日

llama.cpp b10776发布:新增NVIDIA Nemotron-3-Puzzle-75B-A9B模型支持

该版本通过按层存储专家FFN大小和top-k值,支持具有 5 种不同FFN扩展和 7 种top-k的混合专家模型,并适配官方BF16检查点。

llama.cpp发布b10776版本,新增对NVIDIA Nemotron-3-Puzzle-75B-A9B模型的支持。该模型有 40 个MoE层,包含 5 种不同的专家FFN扩展值和 7 种不同的top-k路由值,此前代码将FFN大小和top-k作为单一数值存储,无法表达逐层差异。

实现方式:无新增GGUF键,按层数组支持

更新将n_ff_exp和n_expert_used从标量改为按层数组,并保留标量回退以兼容旧的统一配置。GGUF文件中不新增键,复用现有的expert_feed_forward_length和expert_used_count键,通过get_key_or_arr实现标量广播或按层读取。

  • 标量架构不受影响:旧模型标量值会自动广播到所有层。
  • Nemotron-3-Super-120B-A12B(也具 88 层)通过逐层expert_used_count数组与Puzzle区分,Super为统一广播值。
  • 滞后于本分支的其他架构(如Laguna、kimi-k3、dflash、bailingmoe3、deepseek4、granite-swa)已改用标量回退,行为不变。

转换脚本适配官方BF16检查点

转换脚本NemotronHPuzzleModel现可处理官方NVIDIA-Nemotron-Labs-3-Puzzle-75B-A9B-BF16检查点:其张量名为model.*(原为backbone.*),router偏置名为e_score_correction_bias。脚本在modify_tensors中统一命名,使两种命名均可转换;官方索引的全部 42683 个键(含MTP头)都能解析。

  • Puzzle模型禁用 --mtp/--no-mtp导出,因其MTP头布局不同且未走NemotronHModel通用路径。
  • 新增NemotronHPuzzleForCausalLM架构注册,并修复了NemotronHModel上未声明的 _experts属性。

信息来源

llama.cpp Releases原始来源