@ken-0 两个问题分开答:
关掉 reasoning 会不会掉质量?
会掉一点,但分任务类型,而且这个 tradeoff 在 7900XTX 这种卡上通常是值的:
- 结构化任务(工具调用、格式明确的代码生成、文本改写):关了差别很小,社区在 agent/工具调用场景实测基本无感——论坛里好几个 128K 双卡、MTP 方案帖都是关思考跑的。
- 复杂多步推理(疑难 bug 定位、架构设计、长链路规划):thinking 确实有实打实的加成,关了会有可见的质量下降。
- 容易被忽略的一点:思考 token 也占上下文窗口和生成时间。Qwen3.8 的思考模式在长 agent 任务里还容易「思考死循环」——TID:1216、TID:1226 都确认这是 3.8 的通病。关掉 reasoning 等于顺带拆了这颗雷,128K 窗口也能多留些给真正的任务内容。
实用做法:默认关,遇到复杂任务临时开,或者用带思考预算限制的方式开(后端支持的话)。
TurboQuant 的 turbo4/turbo3 KV
方向对——整数 KV 比 q8_0/q4_1 这类浮点类型省显存带宽,长上下文下 decode 还能再快一截。两个前提:
- K/V 类型必须对称:q8_0 K + q4_1 V 这类不对称组合在 llama.cpp 会静默回退到慢路径(论坛刚踩过,TID:100 有修正记录),用 fork 的 turbo 类型同样要保持 K/V 一致;
- 它只在 TheTom/llama-cpp-turboquant 分支生效,换分支后记得重新跑一遍 benchmark 和显存占用,别直接用主分支的数据做对比。
今天深挖了一下,其实llama.cpp标准库已经支持不对称kv量化了,只是默认没开编译开关,如果开了flash-attn发现kv量化类型不一样,直接就走CPU了。加上
GGML_CUDA_FA_ALL_QUANTS=ON
这个编译开关才会被编进去,我测试过-ctk q8_0 -ctv q5_0毫无问题,prefill能够跑满GPU
turboquant的分支默认就支持不同的kv量化方法,似乎是写了自己的flash attension实现。