桃子桃子快讯
←返回首页
工具

llama.cpp 引入 Prompt Lookup Drafting:草稿解码提速 42 倍

llama.cpp 社区实现基于提示查找的草稿解码方案,在特定场景下报告约 42 倍的生成速度提升。

2026.09.27 · 周日约 3 分钟阅读

本地大模型推理框架 llama.cpp 社区近日讨论了一种名为「Prompt Lookup Drafting」的加速方案,原帖报告在特定场景下较普通解码方式获得约 42 倍的生成速度提升。该方案将原本用于在线服务的推测解码思路迁移到本地与批量场景,是一次面向实际部署体验的优化尝试。

什么是 Prompt Lookup Drafting

推测解码(speculative decoding)通常需要额外训练或维护一个小型「草稿模型」,由它先快速生成若干候选 token,再由主模型一次性验证,从而在保持输出分布一致的前提下减少主模型的自回归步数。

Prompt Lookup Drafting 走的是另一条更轻的路线:跳过草稿模型,直接在被处理的 prompt(含上下文、文档、检索片段等)中查找 n-gram 重复片段,把匹配到的后续片段当作草稿 token 序列提交给主模型验证。当输入文本存在大量重复结构(例如长文档摘要、模板化问答、RAG 上下文中的复述段落)时,这种「以提示本身当字典」的方法往往能命中较长的草稿序列,加速效果显著。

为何能在 llama.cpp 中取得明显加速

llama.cpp 是面向 CPU 与消费级 GPU 的本地推理引擎,社区对算子、显存调度与批处理持续打磨,本身已是同类项目里吞吐最高的实现之一。在此基础上叠加 Prompt Lookup Drafting,相当于在不改变主模型权重、不依赖额外模型的前提下为:

  • 长文档问答、摘要、RAG 等「输入可复用」场景;
  • 模板化、重复性高的批量生成任务;

提供了一层零额外显存成本的加速。原帖中的「42x」属于特定输入与硬件组合下的最佳结果,实际加速比取决于 prompt 重复密度、上下文长度与模型规模。

使用与适用范围

需要注意的是,Prompt Lookup Drafting 并非对所有任务都有效。当输入与输出之间几乎没有可复用的文本片段(例如开放式创意写作、自由对话)时,草稿命中长度趋近于 1,加速收益会大幅回落,甚至因查找开销出现轻微倒退。它更适合作为一类「特定场景下的开关选项」,而非通用提速手段。

现状与可信度说明

本次消息来源为 Reddit r/LocalLLaMA 社区帖,作者为社区用户而非 llama.cpp 官方维护者;目前尚未见官方仓库的合并说明或一手基准。42 倍这一数字应理解为原作者在某一组输入条件下的测量结果,官方完整支持情况、API 形式与参数建议仍有待进一步确认。

信源