先把结论放在最前面:端侧AI不是一门“课程”,也不是一套工具链,它是一条从训练到部署、从浮点到定点、从服务器到芯片的完整链路。你光会PyTorch训练模型不叫端侧AI,光会调API也不叫端侧AI,真正能独立上手的人,必须能把模型、硬件、推理引擎、内存、功耗这几件事捏在一个场景里同时权衡。这篇文章我就按自己走过的弯路,把端侧AI的学习路径、硬件选型、模型压缩、推理引擎、部署排错这些环节拆开讲清楚。
我最早做端侧AI是接到一个项目:在 RK3588 上跑一个手势识别模型,要求实时、离线、还不能太热。当时我脑子里只有云端的模型部署经验,上来就用 PyTorch 训练了一个自定义手势分类模型,精度还不错,结果转头发现板子上没法直接跑 PyTorch,转 ONNX 之后又遇到一堆算子不支持的问题,最后硬是靠换网络结构、删算子、手动补 custom op 才勉强运行起来。那次的教训就是:做端侧AI不能先训练模型再想部署,要先把硬件和推理引擎定下来,再调整网络结构。
像很多人问我的“端侧AI到底应该怎么学”,我的回答很简单: 从一个小项目开始,把一条端到端的部署链路跑通。 跑通之后再回头看理论,很多东西自然串联起来。下面我把整条链路按实操顺序拆开,里面会穿插硬件对比、量化原理、推理引擎差异、完整部署流程和排错记录,都是实测过的经验,不是照抄文档。
1. 想清楚端侧AI和云端AI的边界
1.1 一句话理解端侧和云侧的分工
端侧AI指的是在手机、智能摄像头、边缘盒子、机器人、可穿戴设备这些本地的设备上直接运行推理,不把数据传到服务器。云端AI是把数据上传到数据中心,靠GPU训练或者大规模推理。
一句话区分: 端侧AI求的是“快、稳、私密、省流量”,云端AI求的是“大、准、灵活”。 这不是谁取代谁的关系。你看现在手机上到处是人脸解锁、语音唤醒、拍照识别,这些功能如果每次都把数据传到云端,网络一抖就卡,用户早就骂街了。而大语言模型要跑在云上,因为参数太大端侧放不下。
1.2 端侧AI的四个核心价值和两个代价
价值很直观,我说几个自己实际体会最深的:
- 低延迟 :本地推理没有网络往返。摄像头识别手势,端侧推理几十毫秒就出结果,云端走一圈轻则一两百毫秒。
- 数据隐私 :人脸、语音、聊天记录都不出设备,这对产品合规和用户信任都极其重要。
- 省带宽和成本 :一台设备一年产生几万个请求,如果全走云端,带宽和服务器费用是可观的。端侧推理把大量负载留在了本地。
- 离线可用 :很多工业场景没有稳定网络,必须本地跑模型。
但代价同样明显:
- 算力有限 :手机SoC上CPU做大矩阵运算是浪费,必须用NPU/DSP;而NPU又往往只支持有限的算子和数据类型。
- 功耗和发热受限 :集成设备普遍无主动风扇,推理一吃满就会降频,性能瞬间垮掉。你跑起来发现模型精度OK但机身烫到用户投诉,这种事故我见过不止一次。
- 内存受限 :端侧设备内存普遍不大,模型文件动辄上百MB,加载就是灾难。
所以做端侧AI,本质上是在“内存、功耗、延迟、精度”四个约束下求一个可用解。这里面没有银弹,只有取舍。这个认识,我建议你在开始学习之前先刻在脑子里。
2. 端侧AI学习路线:别一上来就啃源码
2.1 四条必须打的地基
我不是科班出身,靠项目一点一点摸出来的经验。如果让我给新人画一条提升路径,会分四块:
第一块是模型侧基础。你不用把机器学习全学完,但得懂分类、检测这些常见任务的训练流程,并且要有自己调模型的经验。更关键的是,要能看懂网络结构,知道算力瓶颈在哪。经常有人上来就问“为什么我的模型在端侧卡成PPT”,我问他网络是什么结构,他说不清楚——这种基础不牢的,后面全是坑。
第二块是模型压缩与优化。这是端侧AI区别于云端AI的核心重点之一。量化、剪枝、蒸馏必须动手做一遍,至少要知道这些手段怎么落地。很多人在这一步被卡住,就是因为实际效果达不到理想。
第三块是推理引擎。NCNN、MNN、TNN、ONNX Runtime 至少选一个深入用,不要每个都浅尝辄止。推理引擎
624




被折叠的 条评论
为什么被折叠?



