端侧部署大模型,比想象中难10倍

很多人以为端侧AI就是"下载一个APP,然后就能在手机上跑大模型"。如果你也这么想,你会被现实毒打。

我花了30天时间,在手机上部署了一个7B参数的AI模型,经历了无数次崩溃、卡顿、发热关机。现在把踩过的所有坑和解决方案整理出来,帮你少走弯路。

第一步:选型——不是所有模型都能端侧部署

模型选择的关键指标:

  1. 参数量: 7B是甜点,3B以下效果太差,13B以上性能不够
  2. 量化方案: INT4量化是必须的,原始模型无法在手机上运行
  3. 架构兼容性: 优先选择Llama架构(社区支持最好),其次是Mistral、Qwen
  4. 许可证: Apache 2.0或MIT许可证,避免商业使用风险

推荐模型(2026年7月):

  • Llama 3.1 8B(INT4量化,约5GB,性能最佳)
  • Qwen 2.5 7B(INT4量化,约4GB,中文最佳)
  • Phi-4 Mini(3.8B,INT4量化,约2GB,低配手机首选)
  • Gemma 3 7B(INT4量化,约4.5GB,Google生态首选)

金句:端侧部署的第一步不是技术,而是选对模型。 选错模型,后面的所有优化都是浪费时间。

第二步:推理框架选型

llama.cpp(推荐指数:5星)

  • 优势:社区最活跃、支持最广泛、优化最成熟
  • 劣势:主要针对CPU推理,NPU利用率低
  • 适用场景:泛用性最强,几乎所有手机都能跑

MLC-LLM(推荐指数:4星)

  • 优势:支持GPU/NPU加速、性能更好
  • 劣势:配置复杂、文档不够完善
  • 适用场景:追求性能,愿意花时间调优

MediaPipe(推荐指数:3星)

  • 优势:Google出品,Android集成最好
  • 劣势:模型支持有限、社区较小
  • 适用场景:Android专属应用开发

mnn(阿里)(推荐指数:4星,国内用户)

  • 优势:对国内手机芯片优化最好
  • 劣势:国际社区较小
  • 适用场景:国内手机用户体验最佳

金句:推理框架的选择,决定了你的端侧AI是"能用"还是"好用"。 不要只看star数,要看你的手机芯片和框架的适配程度。

第三步:量化——端侧部署的灵魂

INT4量化是端侧部署的核心技术。它把模型从FP16(14GB)压缩到INT4(约4GB),使得模型可以在手机上运行。

量化工具推荐:

  • llama.cpp的quantize工具: 最成熟,支持Q4_0、Q4_K_M等多种量化方案
  • GPTQ: 质量更好但速度更慢
  • AWQ: 速度和质量的最佳平衡

量化策略:

  • Q4_K_M:推荐首选,速度和质量平衡最好
  • Q4_0:速度最快,质量略低,适合低配手机
  • Q5_K_M:质量更好,但内存占用增加约20%

第四步:内存优化——手机内存不够怎么办?

7B模型INT4量化后约4GB,但推理时还需要额外的内存用于KV缓存、中间计算结果等。实际内存占用约5-6GB。

如果你的手机只有8GB RAM,系统占用约3GB,只剩5GB给模型——刚好够用,但非常紧张。解决方案:

  1. 降低上下文长度。 从8192降到4096,内存占用减少约1GB
  2. 使用mmap。 让操作系统管理内存分页,减少物理内存占用
  3. 关闭后台应用。 释放更多内存给AI模型

第五步:性能调优

线程数设置: 一般设置为CPU核心数的75%,留出资源给系统和其他应用。

批处理大小: 端侧推理通常设置batch_size=1,因为你是单用户使用。

GPU/NPU加速: 如果推理框架支持,务必开启GPU/NPU加速。以llama.cpp为例,使用-ngl参数指定GPU加速的层数。

金句:端侧AI部署是一场"内存、速度、质量"的三角平衡游戏。 你永远在三个维度之间做取舍,没有完美的方案。**