3090 24G 跑QWEN 3.6 27B 152K上下文 KV(Q8_0) 55TOK/S 智能开关思考- 最终配置,再也不折腾了(还请大神指教)
-
附我的HERMES解析出的bofan框架自动思考实现路径.
这个自动思考功能有三层控制: 第一层:默认阈值(模板内置) 短问题阈值: 30 字符 → ≤30 字符自动跳过思考,秒回 强制思考阈值: 300 字符 → ≥300 字符强制深度推理 中间区域(31~299): 维持 enable_thinking 默认值(true),走思考模式 第二层:API 调用时覆盖阈值 通过 chat_template_kwargs 传入自定义值: json { "messages": , "chat_template_kwargs": { "enable_thinking": true, "auto_think_short_threshold": 50, "auto_think_force_threshold": 500 } } 设为 {"enable_thinking": false} 可以完全关闭自动判断。 第三层:消息内嵌标签(最灵活,实时切换) 在 system prompt 或 user 消息中插入标签: <|think_off|> → 强行关闭思考(当前消息及后续) <|think_on|> → 强行开启思考 标签在渲染时自动移除,模型看不到。 实际效果流程: 用户问"你好" (2字) → 2 ≤ 30 → enable_thinking=false → 模板输出: \n\n (空思考块) → 模型跳过思考,直接回答 用户问"请详细解释Transformer架构中多头注意力的数学原理..." (长文) → 字数 ≥ 300 → enable_thinking=true → 模板输出: \n → 模型进入深度推理模式 当前你的启动命令里 --reasoning auto --reasoning-format deepseek 配合这个模板,llama-server 会自动解析 thinking 块分离显示。不需要改命令行参数,阈值调整通过 API 调用时的 chat_template_kwargs 传就行。最后让hermes来个总结吧(忽略我懒得改的模型名称):


-
我用vllm 双卡没有NVLINK
Prefill 4K 重复测量 (5 次)
run prompt_tokens ttft tok/s 1 3 836 2 776 ms 1 382 2 3 836 2 735 ms 1 403 3 3 834 2 665 ms 1 439 4 3 833 2 770 ms 1 384 5 3 838 2 772 ms 1 384 Decode 单流 重复测量 (4 次)
run prompt_tokens completion_tokens ttft decode tok/s 1 76 220 256 ms 66.2 2 79 220 278 ms 66.6 3 81 220 284 ms 66.7 4 80 220 284 ms 66.7 -
@c0aster 感谢分享,已经按照ik-llama实施,实测Qwen3.6-27B-uncensored-heretic-v2-Native-MTP-Preserved-Q4_K_M.gguf达到69t/s,已经能够满足生产力需求了
-
T terry 取消固定了该主题
-
@c0aster https://github.com/ikawrakow/ik_llama.cpp 从这个项目自己编译的ik_llama,启动参数如下:
start "ik_llama - heretic-v2 27B" "%EXE%" ^
-m "J:\llama-b9370-bin-win-cuda-12.4-x64\models\1\Qwen3.6-27B-uncensored-heretic-v2-Native-MTP-Preserved-Q4_K_M.gguf" ^
--mmproj "J:\llama-b9370-bin-win-cuda-12.4-x64\models\1\Qwen3.6-27B-mmproj-BF16.gguf" ^
-ngl 99 -c 131072 --threads 12 --no-mmap ^
--flash-attn on ^
--cache-type-k q4_0 --cache-type-v q4_0 ^
--batch-size 512 --ubatch-size 256 ^
--merge-qkv --merge-up-gate-experts ^
--cache-ram 32768 ^
--spec-type mtp:n_max=4,p_min=0.0 ^
--jinja --chat-template-file "%TEMPLATE%" ^
--timeout 3600 --host 0.0.0.0 --port 8080