原帖记录了一套在单张 4090 级显卡上运行 Qwen3.8-27B 的更新配置。作者沿用 262k 上下文和视觉能力,改用去审查版本作为主模型,并加入 DFlash2 草稿模型做投机解码。作者报告短、中上下文的最高生成速度约为 130 token/s;在 K 为 Q8_0、V 为 Q4_0 的非对称 KV Cache 设置下,显存还剩约 0.6 GB。

前置条件

  • 推理框架:支持下列参数的 llama.cpp / llama-server。原帖没有注明具体构建版本,复现时应先确认当前版本支持 DFlash2。
  • 硬件:作者使用 4090 级、24 GB 显存的单卡环境。
  • 主模型:Huihui-Qwen3.8-27B-abliterated-GGUF 中的 Huihui-Qwen3.8-27B-abliterated-UD-IQ4_XS.gguf,文件约 14.4 GB。
  • 草稿模型:Qwen3.8-27B-DFlash2-Q2_K_S-MIX-GGUF 中的 Qwen3.8-27B-DFlash2-Q2_K_S-MIX.gguf。
  • 视觉投影:unsloth/Qwen3.8-27B-GGUF 中的 mmproj-F16.gguf。

将三个文件放到命令可访问的位置;如果不在当前目录,请把下面的文件名改成实际路径。

启动命令

llama-server --host 0.0.0.0 --port 8080 \
  -m Huihui-Qwen3.8-27B-abliterated-UD-IQ4_XS.gguf \
  -mm mmproj-F16.gguf \
  -md Qwen3.8-27B-DFlash2-Q2_K_S-MIX.gguf \
  -ngl 99 -ngld all \
  -c 262144 -np 1 \
  -b 1024 -ub 512 \
  -fa on -ctk q8_0 -ctv q4_0 \
  --spec-type draft-dflash --spec-draft-n-max 5 \
  --jinja --reasoning-format deepseek --reasoning-preserve

参数说明

  • -m、-md、-mm 分别指定主模型、DFlash2 草稿模型和视觉投影文件。
  • -ngl 99 -ngld all 把主模型和草稿模型层尽可能卸载到 GPU。
  • -c 262144 -np 1 设置 262144 token 的上下文,并以单并发运行。
  • -b 1024 -ub 512 设置逻辑批次与物理批次。
  • -fa on 开启 Flash Attention。
  • -ctk q8_0 -ctv q4_0 对 K/V Cache 使用非对称量化;作者依据 K 比 V 更敏感的讨论选择 KQ8/VQ4,并认为这比 K、V 都使用 Q4 更有利于上下文精度。
  • --spec-type draft-dflash --spec-draft-n-max 5 启用 DFlash2 投机解码,单次最多草拟 5 个 token。
  • --jinja --reasoning-format deepseek --reasoning-preserve 启用 Jinja 模板,并按 DeepSeek 格式保留推理内容。
  • 服务监听 0.0.0.0:8080。若无需局域网或公网访问,可把监听地址收紧为本机地址。

验证方法与结果

  1. 启动后先检查日志,确认主模型、草稿模型和视觉投影均已加载,且没有 OOM。
  2. 发送短、中上下文文本请求,记录实际 token/s;原帖环境的最高值约为 130 token/s。
  3. 发送图像加文本请求,确认 mmproj-F16.gguf 已生效。
  4. 用容易触发重复输出的长回答复测,观察主模型替换后是否仍出现重复问题。
  5. 监控显存占用。作者在 KQ8/VQ4 配置下报告约有 0.6 GB 余量。

适用边界

速度和显存结果来自作者的单机实测,会受显卡型号、驱动、llama.cpp 构建、提示词长度及采样设置影响。262k 是配置的最大上下文,不代表每个请求都会达到同样速度;接近上下文上限时应重新测量吞吐和显存。DFlash2 是否影响具体任务质量,原帖没有给出系统化基准,建议用自己的任务做开启/关闭对照。

原作者:Yuookie(炫彩小鱼干)
原帖:https://linux.do/t/topic/2866769