1、敬请登录网站在线投稿()年第期 的研究现状及展望吴建邦,邱天,张昕,吴佩雯,林晓燕,符晓,李牧云,宁洪龙(五邑大学 智能制造学部,江门 ;华南理工大学 高分子光电材料与器件研究所发光材料与器件国家重点实验室 材料科学与工程学院)基金 项 目:年 江 门 市 创 新 实 践 博 士 后 课 题 研 究 资 助 项 目();广东省重点领域研发计划()。摘要:从微型机器学习的定义、优点、当前存在问题等方面做简要介绍;从专属或通用的微型机器学习部署方式、基于 或者 的微处理器设计、基于神经架构搜索的部署算法等方面存在的问题进行讨论,并介绍研究现状。对微型机器学习的未来发展进行展望,认为未来需要功能齐全
2、的微型机器学习部署框架、硬件研究更多是基于 与硬件神经网络加速单元组成微处理器,并探讨如何提高搜索效率、减少神经架构搜索的耗时等。最后在上述基础上针对如何完善和发展微型机器学习生态提出思考。关键词:微型机器学习;微处理器;神经架构搜索中图分类号:文献标识码:,(,;,):,:;引言 年,近百家家企业的多名工程师参与了微型机器学习(,)首届峰会,本届峰会得出了个重要结论:对许多公司来说,可以部署微型机器学习的硬件越来越好,并且新的架构(例如内存计算)即将出现;在低至 及以下的算法方面,网络和模型取得了重大进展;视觉和音频领域的低功耗应用在技术进步和生态系统发展方面显示出增长的势头。这个结论表明机
3、器学习运行在超低功耗设备的条件已趋向于成熟。年第三届 峰会已经有上千个商家和上万名开发者参加,微型机器学习正成为物联网研究和开发的热点之一。微型机器学习的研究为超低功耗设备(功耗在毫瓦级别或以下)带来机器学习的推理,具有低功耗、部署成本低、低延迟、保护隐私等优势,但在部署上还有很多复杂的问题需要解决。首先面临的就是微控制器上的内存和存储空间有限问题,一般微控制器的内存范围为 ,存储空间范围为,比移动设备和云端 少了个数量级以上。现有的机器学习模型很难直接在微控制器上运行。其次,微控制器的型号众多,即使有了可在微控制器上运行的模型,还要解决如何把模型部署在不同微控制器上的问题。本文对微型机器学习
4、部署方式、微处理器设计、部署算法等领域的研究现状进行了调研,对微型机器学习研究 年第期 领域的研究现状进行总结和展望,并对如何完善和发展微型机器学习生态提出思考,帮助对微型机器学习感兴趣的研究者更快了解此领域。部署方式随着微型机器学习研究的深入,为了更高效地部署机器学习算法,研究人员提出了两种部署方式。第一种是建立和完善 部署框架,通过部署框架来转换已经训练好的模型,让模型在不同微控制器上部署运行,如谷歌的 、等。第二种是对特定的微控制器提供机器学习优化库,提供函数优化和运算加速能力,方便开发者在微控制器上部署机器学习算法,如 的 、的 等。谷歌团队针对当前 框架存在的问题,如模型无法在多个嵌
5、入式硬件架构中部署、缺乏从培训到部署的平台和工具等,开发了 (),的应用程序工作流程如图所示。第一步是在内存中创建一个活动的神经网络模型对象;第二步是提供一个连续的内存来容纳中间结果和解释器需要的其他变量;第三步是创建解释器实例,将模型、操作符解析器和内存作为参数提供给解释器;第四步是执行,应用程序检索用于解释器来执行模型计算的内存区域指针。最后,在计算所有操作之后,解释器将控制返回给应用程序。已经在许多基于 架构的微处理器中广泛部署,也可以用于其他架构,包括 、等。图应用程序工作流程 是嵌入式机器学习开发平台,全球很多企业都在这个平台上搭 建 了 机 器 学 习 项 目。平台支持 、探索套件
6、等微控制器开发设备,在 平台完成数据处理和分析、模型训练、部署模型等工作。是 专门为 系列微控制器优化神经网络相关功能的集合库。内核由两部分组成:和 。负责实现神经网络层的函数操作,如卷积、池化、全连接和激活。包括实用函数,如数据转换和激活函数表。为了达到优化神经网络的目的,对神经网络的关键函数进行计算加速,如采用位或者 位的定点计算替代浮点计算,并且通过调用 或者 内部的 指令功能来提高计算的并行性以达到最好的性能。是意法半导体()公司的一套软件,能够自动转换并将深度神经网络部署到意法半导体的 系列微控制器上。支持部署 和 等 框 架 的 深 度 神 经 网 络 模 型。还包含了一个测试应用
7、程序,可以使用真实的测试数据集对目标模型进行评估,提供推断时间、和 使用的指标,而无需编写任何一行代码。微处理器从微型机器学习研究角度来看,未来用于微型机器学习的微处理器由通用处理器和专用的机器学习加速单元组成。目前,用于微型机器学习研究的微处理器有的基于 系列设计,有的基于 开源处理器设计。基于 的微处理器 系列只开源了 和 处理器,在此上面做硬件协加速器的研究不多。杨凯歌为加速 神经网络的前向传播过程,设计了一个基于 处理器 的集成可编程控制神经网络加速器,在手写数字识别上比 仿真运算速度快 倍。因此,在 系列上做基于微型机器学习的微处理器研究更多的是 自身在研究。公司为了满足 处理器等低
8、功耗嵌入式系统运行机器学习的需求,设计出矢量扩展技术,称为 。使用 技 术 的 处 理 器,其 神 经 网 络 处 理 性 能 是 处理器的 倍。除此之外,专门为微控制 器 设 计 了 首 款 ,称 为 。支持各种流行的神经网络,可用于音频处理、语音识别、图像分类和对象检测等应用。与敬请登录网站在线投稿()年第期 系列处理器组成新的微控制器,如图所示。图基于 的 微控制器 基于 的微处理器在 年 指令集由加州大学伯克利分校提出,总结了传统指令集的优缺点,优化了传统指令集设计的不合理之处,其开源特性保证了它可以随时调整现有的设 计。现 在 基 于 的 开 源 处 理 器 有 蜂 鸟 、等,研究人
9、员在这些开源处理器上进行 推理加速器研究。等人用设计更深入的网络来加快推理的速度,在蜂鸟 处理器上通过卷积协处理器实现卷积运算的加速,图像分类应用比纯软件快 倍。等人设计了一种基于蜂鸟 的可重构 加速协处理器,通过配置不同参数的 单元实现各种算法的硬件加速,卷积的加速达到标准指令集的 倍。王松提出一种基于 指令集架构的开源处理器结合 协处理器的片上系统,协处理器支持卷积稀疏计算,该片上系统能效比为 倍,为 倍。部署算法在微型机器学习还没兴起前,已经有科研人员研究过如何在 微 处 理 器 上 部 署 机 器 学 习,他 们 提 出 了 、等算法。这些算法通过低维空间学习、联合学习参数等方法,能在
10、 微控制器上完成二进制数据集分类任务,但这些算法只能实现简单的机器学习算法,无法用于实现 等神经网络。在微处理器上部署 等神经网络需要解决多方面的问题。首先,神经网络需要满足微处理器的内存大小、微处理器的运算速度等硬件条件,其次则要考虑如何压缩模型大小、优化网络结构、减少模型计算量、在微处理器上执行推理等问题。基于神经架构搜索的部署算法在微处理器上部署高效的神经网络需要丰富的专业领域知识和架构技能,在不断迭代的过程中找到合适的神经网络,这个过程是耗时且乏味的。因此,引入神经架构搜索(,)的方式研究如何在微控制器上部署 等神经网络算法。能实现模型自动化设计,通过设定约束条件和堆叠搜索单元来搜索找
11、到一个符合要求的模型。这样的方式无需丰富的神经网络设计经验,但需要花费大量的时间让系统去测试不同网络结构。等人发现微处理器的内存不能满足 所需的内存条件,他们先在 模型架构上添加了两个约束(中间特征映射最大不能超过 容量),模型参数不得超过 闪存容量,再分别使用稀疏变分丢失 和贝叶斯压缩 来实现非结构化和结构化修剪,把 部署到内存有限的 上,该方法称为 。等人发现端到端模型的测量延迟与操作数呈线性关系(),而不是取决于搜索空间中的模型,对此他们提出采用差异化神经架构搜索,在满足微处理器的内存和延迟约束下找出高度精确的模型。差异化神经架构搜索放在 的视觉唤醒词、关键词发现和异常检测这个基准测试任
12、务上,得到的模型性能良好。等 人 提 出 了 系 统 模 型 协 同 设 计 框 架 ,由高效网络架构搜索()和轻量级推理引擎()组成。是一种两阶段神经结构搜索方法,第一阶段优化搜索空间以适配资源限制,第二阶段进行网络架构搜索,满足各种微处理器上复杂的内存限制条件。等人针对 运行存在内存分布不平衡的问题,在 基础上引入分辨率、全局宽度乘数、补丁数和块数这个参数进一步通过 方式优化神经结构和推理调度,提出 。的机器学习研究院为了充分发挥神经网络处理器压缩神经网络的能力,提出了基于统一 的可压缩微型机器学习模型(,)。针对神经网络处理器部署引入了稀疏、量化、算子选择、宽度选择等约束条件,搜索空间如
13、图所示。基于量化的部署算法在微处理器上采用量化的方式压缩神经网络。典型网络中几乎所有权重和激活都是 位浮点值,在微处理器上一般是量化到位定点整数,能降低权重大小,推理延迟更低。参考文献 通过量化感知再培训过程把 转换为仅位整数的表示,精度损失几乎可 年第期 图 搜索空间以忽略不计。传统的量化方法对所有层使用相同位数的比特,但由于不同层具有不同的冗余,并且要部署到不同的硬件上,需要对不同层使用混合精度量化的方式。等人提出了硬件感知自动量化(,)框架,该框架利用强化学习针对不同神经网络结构和硬件结构探索精度与量化的策略空间。研究在优化内存压缩时依赖于基于聚类的非线性量化方案,无法部署到低端微处理器
14、的纯整数算法上。等人提出了一种基于 框架的自动混合精度量化流,通过对权重参数的均匀加权、激活值线性量化、优化 代理的执行策略加上微控制器内存约束等方式扩展框架,利用强化学习在比特宽度、中搜索最佳的统一量化方式,可用于 和 设备上混合低精度部署 等神经网络。未来展望微型机器学习部署研究的核心问题是在满足微处理器有限的硬件资源条件下,尽可能把机器学习的算法模型部署在微处理器上。现阶段研究人员通过神经架构搜索方式找到了合适的模型,再通过其他方面的优化把模型部署到微处理器上,但神经架构搜索方式需要海量时间,如何减少耗时、提高搜索效率是未来值得研究的问题。在微处理器设计方面,从研究角度来说,更多的研究是
15、偏向 开源处理器加上硬件加速单元组微处理器,因为 系列只开源了一小部分,不利于研究人员进行硬件上的优化,而 开源处理器的指令允许自行修改,能够更好地设计出符合需求的微处理器。但从商业角度来说,系列的微控制器更受欢迎。开源处理器相比于 系列的生产环境不成熟,不稳定,参考文献 也提及这点,硬件设计需要软件开发环境配合。用于开发微处理器的集成开发环境需要进行升级,加入神经网络库、神经网络处理器加速等内容,让微处理器开发者更好地部署微型机器学习。对于已经初步建好的部署框架,应考虑到未来微处理器会搭载神经网络处理器,如何调用不同硬件厂家设计的神经网络处理器以实现硬件资源最大化是未来需要解决的问题。结语相
16、比于云端机器学习和边缘机器学习,微型机器学习具有低功耗、低成本、保护隐私等特点,得到了谷歌、等工业界和学术界的关注。虽然现阶段存在硬件资源有限、多硬件部署等问题,但随着微型机器学习算法研究不断深入和微控制器硬件架构不断更新,微型机器学习在多个领域不断进行创新,生态系统不断完善,未来会给数以亿计的物联网终端设备引入智能化。参考文献 :,:,:,:,:,:,(),:,:,(),:杨凯歌 扩展可编程神经网络加速系统设计西安:西安电子科技大学,:,:敬请登录网站在线投稿()年第期 (),:,:,(),:,:,:,():王松基于 与 协处理器片上系统设计西安:西安电子科技大学,:,:,:,:,:,:,:,:,:,:,:,:,:,:,:吴建邦(硕士研究生),主要研究方向为微型机器学习和边缘计算。通信作者:邱天,。(责任编辑:薛士然收修改稿日期:)应用中需要更高的效率,电池供电,或需要静音操作,工程师需要掌握无刷直流电机和永磁同步电机。虽然控制直流电机的许多技术仍然适用,但围绕控制器实现的细节存在许多差异。该理论的良好基础仍然有助于调试电机控制解决方案。为了节省研发时间,借鉴这一动态领域专家的经验以