回复很慢与机身发烫——速度调优指南
先搞清楚"正常速度"是什么水平
不同手机跑本地模型的速度差距很大,以下是大致参考(Q4_K_M 量化,CPU 跑,纯文本):
| 手机芯片 | 3B 模型 | 7B 模型 |
|---|---|---|
| 骁龙 8 Gen 3+ / 天玑 9300+ | 15~20 token/s | 8~12 token/s |
| 骁龙 8 Gen 2 / 天玑 9200+ | 10~15 token/s | 5~8 token/s |
| 骁龙 7 Gen 3 / 天玑 7300+ | 5~10 token/s | 3~5 token/s |
| 千元机 | 3~5 token/s | 跑不动 |
如果你的速度在这个范围内,那就是正常水平——本地推理的天花板就是这样。如果明显偏低,再往下看优化方法。
加速方法
方法一:开 GPU Offload
如果你的手机支持 Vulkan 加速,GPU Offload 能把速度提升 50~100%(见 GPU Offload)。从 2~5 层开始试,找到最快的值。
方法二:换小模型或更轻量化
速度和模型大小正相关——7B 模型速度大约是 3B 的一半。量化档位从 Q8 降到 Q4 也会更快(质量损失约 2~3%)。
方法三:调小 Batch 参数
GGUF 精细设置里的 Batch 值调小(比如 512 → 256),能降低内存带宽压力。对中端机来说,256 可能比 512 反而更快。
方法四:关掉不需要的东西
- 关掉 mlock(内存锁定)——对速度没有帮助,反而占用额外资源
- 多模态识图时关掉——视觉模型推理比纯文本慢很多
- 长对话太长就开新会话——上下文越长推理越慢
发烫怎么办
手机本地跑大模型时 CPU/GPU 满载,发热是正常现象。但过热降频会导致速度明显下滑,甚至比初始速度慢一半。
实用降温方法
- 插电 + 亮屏:电池模式下部分 ROM 会限制持续大功耗场景
- 物理降温:空调房里用,或找个散热好的背面(不要塞在手机壳里捂住)
- 间歇性使用:跑一会儿休息一会儿,不要连续跑半小时以上
- 关闭其他耗电应用:不要一边跑模型一边开 4G/5G、亮屏看视频
- 降模型大小:发烫最直接的原因就是模型太大,降一档就好
过热降频的信号
- 刚开始 10 token/s,5 分钟后掉到 5 token/s 以下
- 手机背部明显烫手
- 系统弹出"温度过高,已限制性能"提示
出现这些情况就暂停一会儿,等温度降下来再继续。
总结
Local AI 的速度上限由你的手机硬件决定。优化方法都是在现有硬件上榨取更多性能——效果因人而异。如果模型能正常加载、回复稳定,速度稍慢反而是可以接受的 trade-off——毕竟你得到了离线、隐私和模型自由这些云端 AI 做不到的优势。