常见问题 / 用法与提速

不花钱让本地模型变快的 5 个开关

① -ngl 拉满 ② 限制上下文 ③ KV 量化 ④ 开 flash attention ⑤ 关掉没用的多模态塔。前两个通常就够。

第一优先:确认所有层都在显存。llama.cpp 的 -ngl 99 是全放;如果它自动少放了几层(比如显存临界),每 token 就有几层要从内存搬,速度可能腰斩。判断方法是看启动日志的 offload 行数,以及 nvidia-smi 的显存占用是不是接近你给的预算。

第二:上下文不要虚高。-c 决定 KV 预留多少空间,设成 32K 而实际只用 2K 不会让模型变慢,但会让显存吃紧从而逼出 offload。按实际需求设(聊天 8K 通常够,读文档再加)。

第三:KV 量化。-ctk q8_0 -ctv q8_0 把 KV 减半,质量损失几乎听不出来;长上下文场景可以上 q4_0 再省一半。这直接换回 offload 空间或更长上下文,本站容量表有 KV 精度切换控件可以预览效果。

第四:flash attention(llama.cpp 的 -fa,Ollama 里是 FUSE 相关设置)。上下文越长收益越大,长文档场景能提 10–30%。

第五:用纯文本量化版而不是带视觉塔的完整版。多模态模型的视觉塔在纯文本任务里白占几个 GB 显存和一份带宽。

最后一个非开关的认知:如果你用的是 MoE,速度不该按总参数量预估(本站引擎已经按激活参数算了)。很多人以为『30B 就该像 30B 一样慢』,然后把自己的正常速度当成故障来排查。

条目性质:本站依据自身数据模型与公开架构常数撰写。 有错请直接告诉我们,见关于页。

相关问题

KV cache 是什么?为什么上下文那么吃显存?KV cache 是为了不重复计算而存下来的历史注意力数据,它随上下文线性增长,长对话和长文档的显存大户就是它。

延伸阅读

/troubleshoot/ngl-not-full/→16G 显存有哪些卡→

用法与提速 · 其他条目

主要用中文,该选哪个模型?文档比显存允许的上下文还长怎么办?为什么有的模型开长上下文特别便宜?开了投机解码能快多少?为什么别人 40 tok/s,我只有 18?评测里的 tok/s 是单流还是并发?为什么同一张 4090 有人报 30、有人报 400?都是 27B 的 Qwen3.8-27B、Terminal-RSI、AREX-2,我该下哪个?
← 主要用中文,该选哪个模型?回到全部 40 条文档比显存允许的上下文还长怎么办? →
这条内容有帮助吗?