b10174
llama.cpp 发布 b10174 版本,为 GLM-5.2 (GLM_DSA) 模型添加 NextN/MTP 推测解码支持,包括 --spec-type draft-mtp 选项、nextn 张量加载、graph_mtp 构建器、MTP 上下文 KV 缓存,以及 --mtp/--no-mtp 导出选项。
发展脉络
- 首次出现b10174llama.cpp
- 当前判断llama.cpp 作为开源推理引擎,持续集成前沿模型特性(如 GLM-5.2 的 MTP),表明开源社区正快速跟进大模型的最新架构创新。这降低了开发者使用新模型的门槛,可能加速 MTP 推测解码在端侧推理的普及。Agent Pulse · 分析
llama.cpp 在 b10174 版本中为 GLM-5.2 (GLM_DSA) 模型添加了 NextN/MTP 推测解码支持。具体包括:新增 --spec-type draft-mtp 选项;支持 nextn 张量加载(通过 qwen35moe/step35 风格的存在探针);实现 graph_mtp 构建器(包含 enorm/hnorm/eh_proj、密集 MLA、sigmoid 门控 MoE 及共享专家和共享头,并传递 _s 尺度张量用于 NVFP4);在主干图中提取 t_h_nextn;设置 MTP 上下文 KV 缓存(草稿头使用密集 MLA,MTP 上下文使用普通注意力 KV 缓存仅保存 nextn 层,主上下文保留 DSA 缓存但仅过滤到主干层)。此外,转换脚本支持 --mtp/--no-mtp 导出选项:--no-mtp 删除附加的 NextN 块(blk.78)及其 nextn_predict_layers KV;--mtp 仅保留 NextN 块及共享嵌入/归一化/lm_head。
该实现将推测解码的草稿模型与主模型解耦:草稿头使用密集 MLA 架构,MTP 上下文使用普通 KV 缓存,而主模型保留 DSA 缓存。这种设计允许在推理时动态切换草稿模型,同时保持主模型缓存的高效性。下一步可观察:该架构是否被其他模型采用,以及 MTP 上下文缓存大小对推理延迟的影响。
llama.cpp 作为开源推理引擎,持续集成前沿模型特性(如 GLM-5.2 的 MTP),表明开源社区正快速跟进大模型的最新架构创新。这降低了开发者使用新模型的门槛,可能加速 MTP 推测解码在端侧推理的普及。
对于部署 GLM-5.2 模型的企业,MTP 推测解码可降低推理延迟,提升用户体验,同时减少计算成本。llama.cpp 的开源实现使得无需依赖专有推理引擎即可获得性能提升,有利于降低技术栈的供应商锁定风险。
随着 MTP 推测解码在 llama.cpp 中的支持,未来更多模型可能采用类似架构以提升推理速度。可关注:GLM-5.2 的 MTP 是否在基准测试中显著降低延迟,以及该特性是否被其他推理框架(如 vLLM)采纳。