端智能技术演进与实践 | 青训营笔记

160 阅读3分钟

这是我参与「第四届青训营 」笔记创作活动的第6天

课程笔记

1 什么是端智能

1.1端智能是什么

  • 端智能(On-Device Machine Learning)是指把机器/深度学习算法模型应用和部署到端设备上,这里“端设备”是相对于云服务而言的,可以是手机,也可以是物联网IoT设备。

image.png

1.2为什么要做端智能

  • 低延迟、实时性高:特征收集、模型推理、业务逻辑均在端侧完成,无需网络交互,端侧也更能够实时感应用户状态。
  • 保护隐私:数据只在端侧使用,无需上传云端,可更好地保护用户隐私数据。
  • 算力:移动端设备越来越强大,算力越来越高。
  • 可离线:可以离线使用。
  • 端云协同:  端智能并不是云智能的替代,是云端机器学习的延伸,是要结合云和端各自的优势,在云端之间合理分配任务以获取问题最优解。
  • 端设备上算力、内存、存储和功耗受限,运行的模型大小有限制;云端有海量数据和充足算力资源,两者配合协同可以发挥各自优势;典型的场景如移动端上的智能精排场景。

1.3端智能发展历程

  • 2006年,深度学习被提出,又得益于大数据的发展和硬件算力提升,深度学习算法和框架也不断演进,人工智能领域迎来了一次大发展。
  • 与此同时,端侧设备在算力、算法和框架上同样有突飞猛进的发展,各类端侧框架和案例层出不穷。

image.png

2 端智能技术案例

2.1手写数字识别

image.png

端智能案例落地套路

image.png

问题和方案

image.png

训练AI模型

  • 数据收集来源方式
    • 开源数据-----MNIST

image.png

  • 数据增广

image.png

模型设计和训练

image.png

课后总结

端智能技术

端智能本质

和从云计算到边缘计算的发展类似,人工智能的发展也经历从云到端的过程,我们常说的端智能实际上就是把机器学习放在端侧去做。这里的端侧是想相对于云端而言的,除了我们常见的智能手机外,端侧设备也包括各种 IOT 设备,嵌入式设备等,如语言翻译器、监控摄像头等,当然无人车也属于该领域。

做端智能的原因

  • 面向海量数据
  • 设备资源充足
  • 算法规模庞大
  • 响应速度
  • 非实时性
  • 响应速度快
  • 实时性高

局限性

    1. 和云侧硬件设备相比,端侧资源 &算力相对有限,无法进行大规模持续计算,模型不宜过于复杂;
    1. 端侧往往只是单用户数据,数据规模小,全局最优解难寻。此外由于端侧应用生命周期不可控,数据周期往往较短。

端智能工程师学习成长路线

  • 回顾端智能完整流程
  • 入门:对端智能技术有一定认识,可以协作完成端智能技术的需求落地。
  • 进阶:对移动端技术、端智能技术和负责业务有更深入的理解,可以站在更全面的视野上设计端上智能 解决方案,建设端上智能架构。