开源llama.cpp Releases·原文 2026年11月14日

llama.cpp b12364发布:概率性草稿采样下使用p-min会触发警告

llama.cpp新构建b12364的改动集中在投机解码参数检查:当 --spec-draft-p-min大于 0 且启用概率性草稿采样时,程序会提示p_min在拒绝采样下无法反映目标模型接受率,建议设为 0;n-gram草稿器与DSpark不触发该警告。

AI解读:llama.cpp发布b12364构建,代码改动为在投机解码中检测 --spec-draft-p-min与 --spec-draft-sampling probabilistic同时使用的情况并输出警告。

警告的理由是:在拒绝采样下,某个位置被接受的概率为 1 - TV(p, q),草稿的top概率无法反映目标模型会接受多少草稿,p_min截断可能丢弃目标本会接受的草稿token。

最终实现保留p_min在所有草稿器与采样模式下的原有行为,只增加警告并建议将p_min设为 0;开发者在提交说明中提到MTP长草稿场景下该截断仍可能有收益,因此没有直接跳过截断。

警告仅对实际使用p_min的草稿器生效:n-gram草稿器忽略p_min,DSpark将其用作置信度头的截断值,仅配置这些草稿器时不输出警告。

该改动由Pranesh Gonegandla参与提交,发布页同时提供macOS、iOS、Linux、Android、Windows等多平台二进制包与UI包下载。

llama.cpp发布b12364构建。根据发布页的提交说明,这一版在投机解码中新增一项警告:当 --spec-draft-p-min大于 0 且同时启用 --spec-draft-sampling probabilistic时,程序会提示p_min在拒绝采样下无法反映目标模型的接受情况,并建议设为 0。

警告针对概率性草稿采样

提交说明解释,拒绝采样下某个位置的接受概率是 1 - TV(p, q),草稿的top概率并不能说明目标模型会接受多少草稿内容。按此推理,p_min截断可能丢掉目标本会接受的草稿token。

提交历史显示,作者最初尝试在MTP或DFlash2采样草稿时跳过p_min截断,draft-simple则保留,因为每多一个草稿token都要付出一次完整的草稿模型前向计算。该方案随后被改为只输出警告:p_min在所有草稿器和采样模式下恢复原有行为,与master分支一致。

  • 警告建议将p_min设为 0。
  • 提交说明称,在MTP长草稿场景下p_min截断仍可能有收益,因此没有直接跳过截断。
  • 警告文案由程序输出,属于项目开发者对参数行为的说明。

警告的适用范围与构建产物

提交说明指出,警告只在配置了实际使用p_min的草稿器时出现。n-gram草稿器忽略p_min,DSpark把p_min用作其置信度头的截断值,因此只配置这些草稿器时不会输出警告。

  • 改动PR编号为 #31294,提交信息中列出共同作者Pranesh Gonegandla。
  • b12364发布页提供macOS Apple Silicon/Intel、iOS XCFramework、Ubuntu(CPU、Vulkan、CUDA 12/13、ROCm 10.0、OpenVINO、SYCL)、Windows(CPU、CUDA、Vulkan、OpenVINO、SYCL、ROCm)、Android及Snapdragon等平台包。
  • macOS KleidiAI版本与openEuler相关构建在发布页标注为DISABLED。

信息来源

llama.cpp Releases原始来源

更多

新闻专题
外观