端侧 AI 部署与调优学习路线

定位:让模型在真实手机上"又快又省又稳"地跑起来的系统工程方向,不是"转行做算法"。
适用对象:Android 开发背景,希望将性能优化、Native、Framework 经验延伸到模型端侧部署领域。
抗替代性逻辑:端侧 AI 工程的核心矛盾是"云端模型很强,但手机内存/算力/功耗有限",需要既懂模型又懂移动端系统资源约束的人做取舍,这正是纯算法背景缺的一课,AI 无法替你在真机上验证功耗与延迟。
完整详细版:本文是精简导航版,完整分阶段展开(含更多代码示例、llama.cpp 端侧大模型部署细节)见 ../端侧AI与AI系统工程学习路线.md,两文档内容互补,建议配合使用。

一、能力迁移对照(为什么 Android 背景是优势)

已有能力端侧 AI 应用
内存分析、OOM 定位模型加载内存占用评估
多线程/协程推理任务调度、异步加载
Native/JNI调用 TFLite/ONNX/llama.cpp C++ API
性能优化方法论推理延迟优化闭环
Framework/HALNNAPI、GPU Delegate、NPU 驱动对接

二、能力地图

  1. 机器学习与模型基础 — 看懂模型结构,不要求会训练
  2. 端侧推理框架 — TFLite、ONNX Runtime、MediaPipe、llama.cpp
  3. 模型优化技术 — 量化、剪枝、蒸馏
  4. 硬件加速与异构计算 — CPU/GPU/NPU 调度
  5. 系统工程与性能调优 — 延迟、内存、功耗量化分析

三、学习路线总览(建议 9~14 个月)

阶段 0:机器学习与模型基础补齐          → 1~1.5 月
阶段 1:端侧推理框架实战                → 2 月
阶段 2:模型压缩与优化                  → 1.5~2 月
阶段 3:硬件加速与异构调度              → 1.5~2 月
阶段 4:端侧大模型部署(进阶加分项)    → 1.5~2 月
阶段 5:系统级性能调优                  → 1~1.5 月
阶段 6:项目化与求职                    → 持续

四、阶段 0:机器学习与模型基础(1~1.5 月)

4.1 必学内容

主题要学到什么程度
张量与基本运算shape、广播、矩阵乘法
神经网络基本结构全连接层、卷积层、注意力机制原理
常见模型家族CNN、Transformer、轻量网络(MobileNet/EfficientNet)
模型文件格式.tflite、.onnx、safetensors 的区别与转换
评估指标精度、延迟(ms)、内存(MB)、功耗 —— 端侧四维权衡

4.2 阶段产出

  • [ ] 能解释量化/剪枝/蒸馏各解决什么问题
  • [ ] 能用 Netron 读懂一个 .tflite 模型的算子列表
  • [ ] 写一页《模型部署链路笔记》

五、阶段 1:端侧推理框架实战(2 月)

5.1 框架选型

框架定位
TensorFlow Lite (LiteRT)Android 生态最主流,官方支持最好,优先精通
ONNX Runtime Mobile跨框架通用,模型来源多样时首选
MediaPipe现成多模态管线(人脸/手势/姿态)
NCNN / MNN国内厂商常用,包体积要求高场景

5.2 最小集成示例

val model = FileUtil.loadMappedFile(context, "mobilenet_v2.tflite")
val interpreter = Interpreter(model, Interpreter.Options().apply { numThreads = 4 })
interpreter.run(inputBuffer.buffer, outputBuffer.buffer)

5.3 阶段产出

  • [ ] 一个可运行的 Android Demo(图像/文本分类),真机验证
  • [ ] 《TFLite vs ONNX Runtime Mobile 对比笔记》

六、阶段 2:模型压缩与优化(1.5~2 月)

技术效果代价
量化 (INT8/INT4)体积缩小 2~4 倍,加速明显精度小幅下降
剪枝移除不重要权重/通道需重新训练/微调
知识蒸馏小模型逼近大模型精度需要教师模型和训练资源

决策框架:"精度损失是否在业务可接受范围" + "延迟/体积收益是否值得" + "能否部分层量化折中"。

阶段产出

  • [ ] 对同一模型做动态量化/全整数量化/FP32 三版本对比测试并写报告

七、阶段 3:硬件加速与异构调度(1.5~2 月)

CPU(兜底)→ GPU Delegate(并行计算强)→ NNAPI(统一异构接口)→ 厂商 NPU SDK

必须做:在 2~3 台不同芯片真机上跑同一模型,对比 CPU/GPU/NNAPI 延迟差异,产出对比报告——这是简历上最有说服力的数据。

阶段产出

  • [ ] 《多设备加速对比报告》
  • [ ] 了解至少一个厂商 NPU SDK 基本接入流程

八、阶段 4:端侧大模型部署(进阶加分项,1.5~2 月)

方案选型:llama.cpp(社区最活跃)、MLC-LLM(多后端)、MediaPipe LLM Inference API
路径:PC 跑通量化小模型 → NDK 交叉编译 → JNI 封装 → 手机端聊天 Demo

详细代码与编译步骤见 ../端侧AI与AI系统工程学习路线.md 第八节。

阶段产出

  • [ ] 一个能在真机跑本地大模型对话的 Demo App
  • [ ] 不同量化等级的速度/内存/质量对比记录

九、阶段 5:系统级性能调优(1~1.5 月)

现象(卡顿/发热)→ 工具定位(Perfetto/TFLite Benchmark)→ 归因 → 优化 → 数据验证
问题优化手段
首次推理慢预热、后台提前加载
推理阻塞 UI移到协程/线程池
内存暴涨单例 Interpreter,及时释放
机型表现不一致建立兼容性测试矩阵

阶段产出

  • [ ] 用 Perfetto 分析一次完整推理耗时分布
  • [ ] 一份《机型兼容性测试矩阵》

十、阶段 6:项目化与求职

简历表述模板

「在 Android 平台完成 XX 模型端侧部署,通过 INT8 量化将模型体积压缩 70%、
推理延迟从 XXms 降至 XXms,并在 3 款不同芯片机型上验证 NNAPI/GPU Delegate
加速效果差异,输出兼容性测试矩阵。」

目标岗位

内部转岗(大厂端侧智能小组)> 社招端侧 AI 工程师(手机厂商/大模型厂商)> AI Infra 延伸岗位


十一、能力自检清单(精简版 12 项)

  • [ ] 能解释量化/剪枝/蒸馏区别
  • [ ] 独立完成 TFLite Android 集成
  • [ ] 完成量化对比实验并有数据报告
  • [ ] 启用过 GPU Delegate / NNAPI 并测量效果
  • [ ] 在 2 款以上真机做过加速对比
  • [ ] 完成端侧大模型 Demo(可选)
  • [ ] 用 Perfetto 分析过推理耗时
  • [ ] 完成一次性能优化闭环案例
  • [ ] 建立机型兼容性矩阵
  • [ ] 有可演示的端侧 AI Demo App
  • [ ] 简历能用数据讲清一次优化案例
  • [ ] 能对比端侧与云端推理的取舍逻辑
完整 24 项自检清单见 ../端侧AI与AI系统工程学习路线.md 第十二节。

十二、最短路径

1. 跑通官方 TFLite 图像分类 Demo(2周)
2. 量化对比实验,产出数据报告(4周)
3. 2~3台真机测 CPU/GPU/NNAPI 对比(4周)
4. 端侧大模型 Demo 加分(6周,可选)
5. Perfetto 完成一次性能优化案例(3周)

一句话总结:

端侧 AI 工程不是"重新学 AI",而是把 Android 系统资源管理能力用在"让模型在真实手机上又快又省又稳"这件事上。

十三、关联文档

  • ../端侧AI与AI系统工程学习路线.md — 完整详细版,含更多代码与深度内容
  • ../移动开发转型规划-不易被AI替代方向.md — 本方向在整体转型策略中的定位
  • ../Android移动开发方向抗替代性与薪酬分析.md — 替代率与薪酬定位
  • 01-性能优化专项学习路线.md — 性能调优方法论可交叉参考

标签: none

添加新评论