这是我参与「第四届青训营 」笔记创作活动的第6天
课程笔记
1 什么是端智能
1.1端智能是什么
- 端智能(On-Device Machine Learning)是指把机器/深度学习算法模型应用和部署到端设备上,这里“端设备”是相对于云服务而言的,可以是手机,也可以是物联网IoT设备。
1.2为什么要做端智能
- 低延迟、实时性高:特征收集、模型推理、业务逻辑均在端侧完成,无需网络交互,端侧也更能够实时感应用户状态。
- 保护隐私:数据只在端侧使用,无需上传云端,可更好地保护用户隐私数据。
- 算力:移动端设备越来越强大,算力越来越高。
- 可离线:可以离线使用。
- 端云协同: 端智能并不是云智能的替代,是云端机器学习的延伸,是要结合云和端各自的优势,在云端之间合理分配任务以获取问题最优解。
- 端设备上算力、内存、存储和功耗受限,运行的模型大小有限制;云端有海量数据和充足算力资源,两者配合协同可以发挥各自优势;典型的场景如移动端上的智能精排场景。
1.3端智能发展历程
- 2006年,深度学习被提出,又得益于大数据的发展和硬件算力提升,深度学习算法和框架也不断演进,人工智能领域迎来了一次大发展。
- 与此同时,端侧设备在算力、算法和框架上同样有突飞猛进的发展,各类端侧框架和案例层出不穷。
2 端智能技术案例
2.1手写数字识别
端智能案例落地套路
问题和方案
训练AI模型
- 数据收集来源方式
- 开源数据-----MNIST
- 数据增广
模型设计和训练
课后总结
端智能技术
端智能本质
和从云计算到边缘计算的发展类似,人工智能的发展也经历从云到端的过程,我们常说的端智能实际上就是把机器学习放在端侧去做。这里的端侧是想相对于云端而言的,除了我们常见的智能手机外,端侧设备也包括各种 IOT 设备,嵌入式设备等,如语言翻译器、监控摄像头等,当然无人车也属于该领域。
做端智能的原因
- 面向海量数据
- 设备资源充足
- 算法规模庞大
- 响应速度
- 非实时性
- 响应速度快
- 实时性高
局限性
-
- 和云侧硬件设备相比,端侧资源 &算力相对有限,无法进行大规模持续计算,模型不宜过于复杂;
-
- 端侧往往只是单用户数据,数据规模小,全局最优解难寻。此外由于端侧应用生命周期不可控,数据周期往往较短。
端智能工程师学习成长路线
- 回顾端智能完整流程
- 入门:对端智能技术有一定认识,可以协作完成端智能技术的需求落地。
- 进阶:对移动端技术、端智能技术和负责业务有更深入的理解,可以站在更全面的视野上设计端上智能 解决方案,建设端上智能架构。