实测Hermes + Qwen3.6 27B 使用Qwen-Fixed-Chat-Templates大幅提高缓存命中率
-
复制收藏了。劲爆。有效。
-
更新下,又发现了一个基于 froggeric 的模板再优化的版本:https://huggingface.co/spiritbuun/buun-Qwen3.6-chat_template 。自己用了两天,如果是一般性的聊天,几乎不再会缓存重建。但调用browser等工具引发大量token引入的情况下,还是会发生。不过已经改善良多了,感谢作者。
下载地址: https://huggingface.co/spiritbuun/buun-Qwen3.6-chat_template/tree/main
另外,我让Hermes监控llama.cpp的输出日志,自己跑两组测试,看看还可以调整哪些参数进一步优化缓存重建的问题。 它调试分析后建议就我的硬件情况,可增加如下参数 --ctx-checkpoints 32 --checkpoint-min-step 256 --cache-ram 12288。大家也可以自己试试。
-
更新下,又发现了一个基于 froggeric 的模板再优化的版本:https://huggingface.co/spiritbuun/buun-Qwen3.6-chat_template 。自己用了两天,如果是一般性的聊天,几乎不再会缓存重建。但调用browser等工具引发大量token引入的情况下,还是会发生。不过已经改善良多了,感谢作者。
下载地址: https://huggingface.co/spiritbuun/buun-Qwen3.6-chat_template/tree/main
另外,我让Hermes监控llama.cpp的输出日志,自己跑两组测试,看看还可以调整哪些参数进一步优化缓存重建的问题。 它调试分析后建议就我的硬件情况,可增加如下参数 --ctx-checkpoints 32 --checkpoint-min-step 256 --cache-ram 12288。大家也可以自己试试。
-
T terry 固定了该主题
-
@bily j 关于--jinja和chat template的关系,我来解释一下:
本质上两者是同一个东西,只是生效方式不同。
--jinja是 llama.cpp server 的参数,用来指定一个自定义的 Jinja2 模板文件。而 Qwen-Fixed-Chat-Templates(以及后来 Colt 更新的 buun 版本)提供的就是模板文件本身。也就是说:
- 用
--jinja指向 froggeric 的模板 → 效果等同直接替换 chat_template - 不设
--jinja,llama.cpp 用模型自带的 template → KV 缓存重建率高 - 设了
--jinja指向优化模板 → KV 缓存命中率明显提升
所以关键在于模板内容,不是用 --jinja 还是改模板文件。 只要是同一个优化模板,两种方式的缓存效果完全一样。
不过有个细节:
--jinja的优先级高于模型自带的 template,所以用了 --jinja 后,模型自带的 template 会被覆盖。好处是不用改模型文件,换模板只需改 --jinja 路径。关于 buun 版本:Colt 后来更新的那个(spiritbuun/buun-Qwen3.6-chat_template)是在 froggeric 基础上进一步优化了日常对话场景的缓存复用。如果是一般聊天,buun 版的缓存重建更少。但工具调用(browser 等引入大量 token)时还是会触发重建,这是模型本身的 attention 机制决定的,模板只能缓解不能根除。
- 用
-
系统 取消固定了该主题
