兄弟们,最近圈里都在吹端侧部署LLM,什么手机跑 Llama 3、树莓派搞个ChatGPT。说实话,理想很丰满,现实很骨感。我最近玩了一阵子,踩了几个坑,来给各位泼点冷水。 🔥
先说模型压缩。什么4bit量化、蒸馏、剪枝,听起来高大上,但跑起来你会发现:精度掉得比股票还快。一个 7B 模型量化到 INT4,推理速度是上去了,但回答稍微复杂点的逻辑问题就“胡言乱语”。别信那些博客吹的“几乎无损”,得看具体任务。建议:先用 W4A16 或 国产芯片的混合精度方案,保留关键层。
然后是推理框架。别傻乎乎地直接调 PyTorch。端侧就得用 MNN、TNN 或者 ggml 这种轻量级引擎。我试过几个,MNN 对 ARM 架构优化不错,但 CPU 还是跑不动大模型——最后老老实实调 NPU 接口。记得手工调一下算子融合和内存复用,不然显存爆炸。
最后是交互体验。即使模型部署了,跑一次推理要 5-10 秒,用户早跑了。真要做,得结合流式输出和缓存机制,比如先用小模型过滤简单问题,再丢给大模型。
👉 提问:你们在端侧部署时,模型大小选的是 1B 还是 3B?有没有靠谱的优化 trick 分享? |