[Day 18] 今晚我想来点tinyML加Arm不加香菜

今天(2021/10/3)是星期日,本来想接着写Edge Impulse云端一站式tinyML开发平台的使用,碰巧最近刚好由Edge Impulse主办了一场名为「Imagine 2021」的线上研讨会,一连三天(2021/9/29-2021/10/1),邀请了各大厂商来分享关於tinyML最新的技术、应用及趋势,其中也包括台湾研华科技(Advantech)和奇景光电(Himax),因此藉这机会和大家分享一下。此次三天的所有演讲都有释出到Youtube,有兴趣的朋友可以花点时间挑自己想看的主题充电一下。

接下来就帮大家重要摘要一下此次由Arm机器学习群产品行销副总Steve Roddy所分享的主题「The Future of Endpoint AI」(0:52:00处开始)。更完整的内容请自行参阅影片。以下说明有带小括号()部份为个人补充说明,不一定和原演讲内容相同。
注:以下内容仅供学习使用,并非直接翻译,相关影片及简报内容之版权皆为各公司所有,请勿移作他用。


(影片来源:Youtube, Edge Impulse, Imagine 2021: Innovation Keynotes)

Arm是一家矽智财(IP)提供公司,基於Arm IP出货的晶片,在2020年就有超过237亿颗(注:据报导2020年第四季Cortex-M系列MCU出货量就有超过44亿颗)。深度学习(或说人工智慧)自2012年AlexNet赢得ImageNet大赛後,从此展开人工智慧的新时代,开始有大量的模型(算法)、硬体设备(算力)被实现。机器学习/人工智慧已是主流技术,并已普遍布署在云端和边缘装置,包括马达振动、物件侦测(含影像分类)、语音助理及人脸侦测/解锁等应用。

那为什麽某些应用会从云端转移到边缘呢?其中包含下列项目。

  • 频宽(低频宽可节省网路传输费用及时间)
  • 耗能(只考虑推理,可使用低功耗MCU)
  • 价格(云端要通讯、储存及计算费用,而边缘建置完成後除电费几乎不用额外费用)
  • 延迟(在本地端就完成计算,不需等待网路传输时间)
  • 可靠度(靠近资料产生地点可减少因传输造成的错误)
  • 安全性(含资料隐私性,只需交换结果,不需透露原始资料)

机器学习/人工智慧相关行业成长颇快,但部份仍处於早期阶段,尚待发展改善。其主要包括下列三大部份。

  • 基础建设:如无线(含长短距离)通讯基地台、数据流量优化及边缘智能。
  • 消费性电子:如物体检测(含影像分类)、拍照美颜、文本预测、超分辨率、语音辨识及人脸解锁(含性别、年龄、表情等)
  • 感测元件:如光达/雷达改善、声音(语音命令)感测、振动检测及感测器融合(多种感测器混用)。

由於不同应用所需算力不同,所以用更贴身的硬体来布署机器学习是关键性作法。而这样使用多种处理器组合的方式可更弹性应用及解决平行(或分散)运算问题,更可节省功耗。以下简列几个组合。

  • 终端装置(算力极小,只需简单CPU或加上小型NPU即可)
  • 行动装置(算力中等,多核CPU,大核加小核,GPU,可加上小型NPU)
  • 智能居家(算力依不需情境弹性高,可搭配多个小型多核CPU+GPU+NPU)
  • 云端伺服(算力极高,主要用於模型训练及大量推论,须结合多个大小核多核CPU, GPU, NPU, xPU)
  • 自驾汽车(算力颇高,为因应各种平行处理问题,须有多个高效能处理器分工,结合多核大小核CPU, xPU, NPU, GPU)
    注:CPU中央处理器(包含单晶片的微处理器MCU),GPU(通用绘图晶片,可作为大量矩阵计算用),NPU(神经网路加速运器,泛用型AI晶片),xPU为Arm一种基於xDSA超架构的开放式智能数据融合处理器。

未来物联网在终端上需具有极低功耗(< 1mW)运行机器学习的能力,靠电池就能运作一段时间,主要应用会在几个领域。

  • 无人机
  • 单板微电脑
  • 智慧音箱

为了让人工智慧表现更好,深度学习神经网路有下列几个趋势。

  • 更大(更深、更广)的模型以提高推论精准度
  • 静态记忆体的使用量提高(储存模型参数用)
  • 动态记忆体的使用量提高(运行时变数使用)
  • 运算量及推论增加(模型复杂度变高)
  • 新的模型架构推出(依不同需求及性能产生)

但这样的趋势对於布署在低功耗、低成本、低资源(程序码及记忆体储存空间)、低算力的终端设备是很有挑战性的。Arm先前已有推出Cortex-M55(MCU) + Ethos U55(NPU)的组合IP,最近已有厂商将其实体化,即将上市。这样的组合可解决前述问题,提供更容易整合及开发边缘智能设备,同时具有更快响应、更小体积及更高精度的运行能力。初步测试若以Cortex-M7为基准(1x),则在推理速度上M55可提高到6倍,而M55+U55则可到50倍。就能耗表现M55也较M7高7倍,而M55+U55更可高达25到75倍。

端到端闭回路的开发环境将会是扩展机器学习的关键,其步骤如下。

  • 选择(模型选用)
  • 训练(模型训练)
  • 整合(参数调整)
  • 布署(上线测试)
  • 连接(实机操练)
  • 监控(回报表现)
  • 更新(表现不佳时重新回到训练阶段)

Arm除了积极提供各项开发环境外,更建立及加入许多开放式标准,减少开发者的麻烦。

  • 系统和软件标准:如AMBA, Arm System Ready, CoreSight, Arm GIC, Arm SMMU, ASTC, AFBC等。
  • 安全的互操作软件:如Arm PSA。(可使用於非Arm产品)
  • 人工智慧性能基准测试:如AIIA, ML COmmons(ML Perf), EEMBC及其它。
  • 新的开放标准:如Tensor Operator Set Architecture(TOSA)等。

Arm在软件开发工具和机器学习亦有不错的整合,开发者利用软件开发套件(如Arm NN SDK, CMSIS-NN, Compute Library等)就能轻易的跨越自家硬体(CPU, GPU, NPU, xPU)。另外可支援标准开发框架(如TensorFlow Lite, TFLite Microcontroller, PyTorch, ONNX等),快速无缝整合开发者经验。同时也提供或支援开放式模型优化工具,处理节点剪枝、权重聚类、数值量化及其它常用工具(如TensorFlow Model Optimization Toolkit(TF MOT),ARM Dev. Studio, Arm Keil MDK等)。

当然最後不免让大家了解Arm的合作伙伴遍布全世界,同时提供了许多免费开发资源、交流方式及完整生态系,相信未来在终端设备实现机器学习(智能化)是不可必免的趋势。

ps. 以上仅个人一点小小整理及心得分享,并非原文直接翻译,如有不同看法还请多多包涵。明天我们就接着讲Edge Impulse云端一站式tinyML开发平台带给我们的惊喜。

参考连结

Edge Impulse - Imagine 2021 官方主网站
Edge Impulse - Imagine 2021 Youtube影片清单


<<:  Navigation (2)

>>:  【第十九天 - Flutter Firebase Dynamic Links】

电子书阅读器上的浏览器 [Day14] 中文直排阅读模式

这功能对於浏览器来说,应该是个没人(或很少人)想过会存在的功能。 从十几二十年前开始有浏览器以来,浏...

Day5_HTML语法2

HTML文件元素 < html > < html >开始标签要放在後面 这里...

[Day06] swift & kotlin 入门篇!(4) 基础语法-转型与合并使用

转型与连结 在JS中, 所有的转型与连结都是无感的 也因为太方便太无感 常常会跑出意外的结果 例如 ...

[序章] 自然语言处理初探

前言 生活在网际网路以及智慧型手机普及的今天,与外国朋友聊天、出国旅行、与国外客户开商务会议,纵使不...