跳到主要内容
返回时间线
arXiv来源发表:

Galahad 用字节级精确 KV 记忆把 LLM 读文档变成一次性成本:97,000 token 语料上 100 题全对、每题 0.59–0.64 秒

核心概要

Corbenic AI 的 Sietse Schelpe 提出 Galahad 记忆层(Taliesin 保存并复用字节精确的 KV 状态、Blaise 只把问题所需的那一节文本交给模型),在 100 条事实藏于 97,000 token 语料的召回测试(Gemma 4 31B)中,单用 Taliesin 在 llama.cpp 上答对 98/100、每题 3.0 秒与 572 焦,无 Galahad 的基线仅答对 10/100、9.3 秒与 2,754 焦,加上 Blaise 后三个运行时均答对 100/100、每题 0.59–0.64 秒与 200–213 焦,而调优后的 RAGFlow 管线答对 77。

AI-generated editorial illustration: Working Around the Compute Ceiling: Byte-Exact Memory in Galahad Makes LLM Reading a One-Time Cost LLM Reading a One-Time Cost

深度剖析

Taliesin 把一段文本的 KV 状态按输入字节、模型与租户的指纹存盘,下次请求出现相同字节时直接加载而不重算,恢复后的状态与全新 prefill 逐位相同(262,144 个输出 logits 全部一致,经进程重启、从磁盘再水化与热加载)。 此前 vLLM 的 PagedAttention、SGLang 的 RadixAttention 只在 GPU 内存内共享公共前缀,LMCache、Mooncake 把 KV 卸载到 CPU 内存或磁盘,CacheBlend、RAGCache 在拼接检索文档时接受近似;Galahad 把复用扩展到 GPU 内存与进程生命周期之外,并以逐位一致作为接受标准,任何未通过校验的加载都按未命中重算。 正确性表列出保存/恢复 262,144/262,144 logits 逐位一致、确定性 prefill 20/20 字节相等、跨 GPU 类型迁移 64/64 贪心 token 一致、混合架构 5/5 token 精确、快照 276/276 token 逐位一致、加密往返 9.77 GiB 与 NIST CAVP 4,167 向量零失败;四项安全机制各做三次攻防(开启、关闭、恢复),全部满足“关时攻击成功、开时失败”。

在 100 条事实、96,726 token、11 个块的召回测试中,单用 Taliesin 让模型看到整个语料,llama.cpp 上答对 98/100、每题 3.01 秒与 572 焦,而只能容纳最后 12,000 token 的无 Galahad 基线答对 10/100、9.25 秒与 2,754 焦;每题平均发送 53,219 个 prompt token,其中 99.5% 由 Taliesin 加载。 该结果不含检索、也未在测试问题上调参,是 KV 持久化本身的效果:模型处理的 prompt token 是截断基线的 5.5 倍,却快 3.1 倍、GPU 能耗低 79%。 三个运行时(llama.cpp、vLLM、SGLang)分别报告,Taliesin 单独配置答对 98–100/100;llama.cpp 重复一次得 98 正确、3.00 秒、580 焦;vLLM 保留自身缓存时 Taliesin 单独答对 99/100、1.09 秒与 329 焦。

Blaise 把文档按字节精确文本分节保存,在 CPU 上为问题选出一节,只把该节文本交给模型;召回测试中每题约 668 token,三个运行时均答对 100/100,vLLM 上每题 0.59 秒与 200 焦,相对无 Galahad 基线快 13.7 倍、GPU 能耗低 92%。 Taliesin 消除重复计算,Blaise 消除不必要的阅读,两者可各自独立运行;在 llama.cpp 上 Taliesin 单独已比基线快 3.1 倍,Blaise 把 96,726 token 换成 668 token 后进一步达到 14.5 倍。 同一召回测试中 Blaise 是在该测试上开发的,但在七个未见数据集上仍答对 91–92%(319–321/349),且每题比单用 Taliesin 快 3–10 倍;作为外部基线,调优后的 RAGFlow v0.27.2 答对 77/100。

在七个真实数据集(349 题,含帮助台工单、客服日志、抽取出错的 PDF、SWE-bench Lite、The Stack、AgentBench、WebArena)上,98.69% 的 prompt token 由 Taliesin 加载而非重算(llama.cpp 99.49%、vLLM 99.37%、SGLang 97.21%),单用 Taliesin 答对 329–333 题(94–95%),加 Blaise 答对 319–321 题(91–92%)。 这把“复用”从受控召回测试推广到未调参的真实工作负载,并给出各部分的独立贡献;同时显示选择决定准确率——50 道杂乱 PDF 题中有 9 道答案在文本抽取阶段就已丢失,41 道可答题上单用 Taliesin 答对 37、加 Blaise 答对 30。 三个运行时各跑一次,种子 20260927;模型为 Gemma 4 31B,分别部署在 A6000、RTX 6000 Ada 与 L40S;所有重试与加载块都计入时间、能耗与 token 统计。

启示与展望

该工作面向反复查询同一批文档的服务场景,如支持助手、编码智能体、合同审查与智能体任务;Taliesin 与 Blaise 可各自独立使用,也可叠加。它明确不试图抬高 Sikka 与 Sikka 所述的每 token 计算上界,而是把重复计算、检索与校验移出模型:检索在 CPU 上完成,校验由字节比较与密码学哈希判定。可用性方面,Galahad 以 Linux x86-64 共享库形式提供,2026 年 10 月 1 日进入公开测试,单 GPU 非商业用途免费 12 个月,商业试点可申请。论文自述为系统描述,未披露存储格式、Blaise 内部结构与安全设计的实现细节,这些由待批专利覆盖;Blaise 的第二种模式(模型读取语料索引、由 Taliesin 保留这次阅读)留待后续基准测试。

Blaise 的选择方法未在文中描述,因此“选择决定准确率”这一结论目前只能从结果侧观察:在七个未见数据集上它答对 91–92%,低于单用 Taliesin 的 94–95%,说明少读文本只在选中的一节包含答案时才有帮助。召回测试中 Blaise 是在该测试上开发的,其 100/100 与七个数据集上的 91–92% 应分开看待。部分结果(吞吐、存储介质对比、284B 模型)为单次运行,SGLang 的 Taliesin 单独时间被作者标为使用较旧后端、应视为上界。杂乱 PDF 的 9/50 失分发生在文本抽取阶段,任何记忆层都无法恢复上游解析器丢弃的文本。此外,本证据包为全文,但论文自述省略了存储格式与 Blaise 内部结构,读者若关心实现细节仍需等待后续材料。

来源