开源llama.cpp Releases·原文 2026年9月8日本站收录 2026年9月9日

llama.cpp b10864修复短提示词下混合/循环模型检查点被误删问题

新版本调整检查点淘汰逻辑:间距淘汰仅在检查点列表写满时生效,并改为在同n_tokens位置替换而非追加重复项,避免恢复时从头重算。

AI解读:llama.cpp这次更新修的是一个隐性性能问题。服务器为混合架构或循环模型做对话时,会在生成过程中保存检查点,让下一个请求能从接近断点的地方继续。旧逻辑里,create_checkpoint() 的间距淘汰规则在检查点列表没满时就会生效,删掉时间上离最新点太近的检查点。当用户输入的提示词较短(短于checkpoint_min_step)时,正好会把下个请求要恢复的那个检查点删掉,模型只能从更早的检查点重新预填充,拖慢响应。b10864把规则改成:只有检查点数量达到上限n_ctx_checkpoints时才做间距淘汰,并且同一个n_tokens位置已有检查点时直接替换,不再追加重复项。对自行部署llama.cpp服务器并处理大量短提示词请求的开发者来说,这个改动可以减少不必要的重算,缩短短对话续接的等待时间。这不改变API或模型权重,普通终端用户无需任何操作;跑官方构建的服务只需升级二进制即可获得改进。

llama.cpp发布b10864版本,修复server组件中检查点淘汰逻辑的一个缺陷:之前对短提示词请求会误删掉下一个请求要恢复的检查点,导致混合/循环模型不得不从更早的检查点重新预填充。

此修复来自拉取请求 #28302,改动仅涉及create_checkpoint() 的间距淘汰条件。

修复内容

原逻辑中,create_checkpoint() 的间距淘汰会保留最旧的检查点,并删除在checkpoint_min_step距离内的所有更迟检查点。对于长度小于checkpoint_min_step的提示词,这会丢掉位于n_tokens - 4处、原本供下一个请求恢复的检查点,使混合/循环模型改为从上一个检查点重新预填充。

新逻辑将间距规则的应用条件改为“仅当检查点列表已满(达到n_ctx_checkpoints)时才执行”;同时,若同一n_tokens位置上已有检查点,则直接替换该检查点,而不是追加一个重复项。

信息来源

llama.cpp Releases原始来源