最近折腾本地部署和企业级 API 服务最大的感触就是现在的模型是越来越聪明但也越来越“胖”。以前跑个 BERT 觉得费劲现在动不动就得面对几十 B 的参数。显存爆满是家常便饭有时候生成一行代码我都能去接杯水回来。如果你也在为公司内网私有化部署头疼或者想在消费级显卡上跑 Llama 3这篇关于推理优化的笔记可能会帮到你。这几年在这个坑里摸爬滚打我发现业界其实已经形成了一套非常成熟的“减肥加速”方案。这不仅仅是换个显卡的事更多的是工程上的博弈。图从重型坦克到轻量级赛车这就是推理优化的本质一、 模型瘦身别让参数成为累赘想跑得快第一件事就是给模型“动刀子”。1. 量化Quantization简单粗暴有效这是最常用的招数。原理很简单把原本需要 32 位存储的权重压缩成 8 位甚至 4 位。我的经验以前死磕 FP16后来发现GGUF格式配合llama.cpp简直是神器。特别是用AWQ或GPTQ量化后的模型在 MacBook 上都能跑得动虽然偶尔会有智商损失但对于本地测试来说完全够用了。2. 知识蒸馏小模型的大智慧与其让巨大的“教师模型”亲自下场干活不如让它教一个小模型。比如DistilBERT体积砍了 40%速度提了 60%性能却没掉多少。对于大多数业务场景蒸馏后的模型性价比最高。3. 剪枝断舍离把模型里不重要的连接剪掉。这有点像整理房间扔掉那些一年都用不上的东西走路都顺畅了。模型瘦身的主要路径就这三条我画了个简图方便你理解(图模型优化的三大分支)二、 推理引擎别让 GPU 闲着模型瘦下来之后还得有个好司机。这就是推理框架的作用。1. 连续批处理Continuous Batching传统的方式是“凑齐一车人再走”现在流行“坐满就发车”。像vLLM和TGI这种框架只要前一个请求生成了一个 Token立马腾位置给新的请求。GPU 利用率瞬间拉满这是我见过提升吞吐量最有效的手段。2. PagedAttention显存管理的艺术以前最烦的就是显存明明还有几 G却因为碎片化报 OOM内存溢出。(图左混乱的显存碎片右PagedAttention 的整齐分页)vLLM 的 PagedAttention 借鉴了操作系统的虚拟内存机制把显存碎片收拾得服服帖帖吞吐量直接翻倍。3. 投机解码Speculative Decoding这个思路很清奇用小模型疯狂“打草稿”大模型负责“审稿”。如果小模型写得对大模型直接盖章通过不对就改。实测下来速度能提 2-3 倍而且结果完全无损。三、 榨干硬件底层优化到了这一步就是在跟显卡死磕了。FlashAttention绝对是必装的。它通过算子融合把切菜、炒菜、装盘合成一步极大减少了数据搬运。如果你用的是 N 卡TensorRT-LLM基本上是终极答案。虽然配置麻烦点但昨晚我跑了一次压测效果是真的顶。看这显存占用直接从 24G 掉到了 6G(图nvidia-smi 显示的显存占用骤降优化效果立竿见影)四、 换条路走架构革命如果 Transformer 太慢那就换架构。最近火热的Mamba状态空间模型把复杂度从平方级降到了线性处理长文本时优势巨大。MoE混合专家则是另一种思路虽然总参数量大但每次只激活一部分“专家”用“空间换时间”。 写在最后我的选型建议折腾这么多最终还是要落地。如果你不知道选哪个可以参考我的这张表场景推荐方案理由个人/小团队尝鲜Ollama GGUF (Q4)安装最简单CPU 也能跑适合快速验证想法。企业级高并发vLLM / TGI支持连续批处理和 PagedAttention吞吐量大稳定性高。极致低延迟TensorRT-LLM针对 N 卡深度优化虽然部署复杂但速度天花板。大模型的未来拼的不是谁的嘴皮子更溜而是谁能把成本压下来把速度提上去。毕竟跑不起来的模型参数再多也是废铁。