桃子桃子快讯
返回首页
工具

llama.cpp 拟新增稠密模型 CPU 卸载选项,可让 16GB 显存运行 27B 模型

llama.cpp PR #26622 为稠密模型添加 --n-cpu-ffn 选项,将 FFN 层卸载至 CPU,社区…

2026.08.19 · 周三2 分钟阅读

llama.cpp 仓库近日出现一项开放中的 PR(#26622),提议为稠密模型(Dense Model)新增 --n-cpu-ffn / --cpu-ffn 选项,将模型中的 FFN(前馈网络)层卸载到 CPU 上运行,从而降低对显存的需求。该选项与已有的 MOE 模型专用选项 --n-cpu-moe / --cpu-moe 形成对应关系,填补了稠密模型缺乏同类控制开关的空白。

优化思路与背景

当前 llama.cpp 已允许用户通过 -ot(override tensor)等机制手动指定某些张量卸载到 CPU,但操作相对繁琐、缺乏统一开关。该 PR 的思路是参考 MOE 模型已有的 CPU 卸载选项,提供一个针对稠密模型 FFN 层的快速控制项。社区中已有用户总结过类似的 CPU 卸载调优经验,本次 PR 可视为将这些经验固化为正式参数。

实际效果:27B 模型跑进 16GB 显存

依据 PR 讨论区中的运行指南,结合上述 CPU 卸载优化,可在 ≤16 GB VRAM 的设备上运行 Qwen3 27B 稠密模型:

  • 量化方案:Q4_K_M
  • 上下文长度:约 130k
  • 生成速度:约 20 t/s

这一组合显著扩展了中端显卡本地部署大模型的可行性,使没有 24GB 以上显存的消费级 GPU 用户也能尝试 27B 级别稠密模型。

使用注意事项

PR 讨论中也有用户指出,若同时启用推测解码(speculative decoding),需要注意:

  • 不要触碰 block 64(MTP)对应的 FFN 层
  • 该层的 FFN 应保持在 GPU 上,否则会影响推测解码效果

这一限制与 MTP(Multi-Token Prediction)层在推测解码流程中的特殊角色有关,建议实际使用时结合具体模型结构调整。

现状与展望

截至 Reddit 帖子发布时,该 PR 仍处于开放状态,尚未合并。社区普遍认为这一选项「早该出现」,并期待合入主线后与现有 -ot 机制互补,进一步降低本地推理的显存门槛。

信源