技术领域
[0001] 本发明涉及的是一种神经网络应用领域的技术,具体是一种自主设备(Autonomous Things,AuT)优化架构生成方法。
相关背景技术
[0002] 边缘自主系统通过环境能源实现自主供电,并且部署人工智能实现智能计算,在很多场景包括可穿戴设备、野外智能、极端场景检测有着重要的应用。然而,边缘自主系统面临着严格的体积、重量和功耗(Space,Weight and Power,SWaP)限制,如何设计其自主供电系统和智能计算系统是一件复杂的任务。此外,边缘场景非常多元化,不同场景有着不同的限制,手动设计边缘自主系统是不可能完成的,因此需要一个自主设备定制技术能够自动化生成实现架构方案。
具体实施方式
[0021] 如图1所示,为本实施例涉及一种自主设备优化架构生成方法,通过AuT建模器根据优化指标、推理负载、架构约束和数据流策略进行能量收集建模和自主推理建模,从而刻画AuT供电系统和AuT推理系统的功能和行为;根据建立后的模型进行架构时序仿真,得到能量缓冲状态及对应的系统耗能统计和推理数据流动态部署方案及对应的推理开销统计;再在其基础上进行基于软硬件配置优化的双层架构优化搜索,得到优化后的自主计算架构方案。
[0022] 如图2所示,为实现上述方法的自主设备优化架构生成系统,包括:AuT建模单元、架构评估单元以及架构搜索单元,其中:AuT建模单元根据平台面积限制信息、优化目标信息、神经网络负载信息,进行能量收集子模块、自主推理子模块建模处理,得到环境建模、能量建模、应用建模、架构建模结果;架构评估单元根据建模信息,进行间歇计算分析、时序仿真处理,得到应用性能及系统开销仿真结果;架构搜索单元根据应用性能及系统开销仿真结果信息,进行开销分析与架构算法优化处理,得到优化的AuT架构设计结果。
[0023] 所述的AuT建模单元包括:供电子系统建模模块和推理子系统建模模块,其中:供电子系统建模模块对环境能源、能量收集装置、储能设备以及能量管理模块进行建模,确定可以用于推理的能量;推理子系统建模模块对推理系统的存储单元、计算单元以及神经网络在硬件上的映射关系进行建模。
[0024] 所述的环境能源的建模,以太阳能板为例,具体为:Peh=Aeh×keh,其中:Aeh为太阳能板大小,keh为光电强度相关常数系数。
[0025] 所述的能量收集装置的建模,具体为:其中:T为执行时间,Uon和Uoff为系统的阈值电压,C是电容大小,Aeh为太阳能板大小,keh为光电强度相关常数系数。
[0026] 所述的储能设备的建模,具体为:IR=kcapCU,其中:C是电容大小,U为电压,kcap为电容相关常数系数。
[0027] 所述的计算、存储单元的能耗建模,具体为:Eall=NtileEtile+TNmempmem+Ndataer+Ntile(1+rexc)Nckpt(er+ew),其中:Ntile是神经网络中的tile数量,Etile是各个tile的能量消耗,T是每一比特内存读取时间,Nmem和pmem是内存大小和每一比特内存功耗,Ndata是总数据量,Eckpt是检查点耗能,Nckpt是各个检查点需要的数据量,rexc推理过程的能量异常率,er是检查点恢复能耗,ew是检查点保存能耗。
[0028] 所述的计算、存储单元的延迟建模,具体为: 其中:EAll为总延迟,Peh为处理单元数量。
[0029] 所述的神经网络在硬件上的映射关系,即计算流的建模,具体为:Comall=NtileComtile,其中Comall是该层神经网络的总计算量,Ntile是神经网络中的tile数量,Comxile是每个tile中的总计算量。
[0030] 所述的架构评估单元包括:统计模块、间歇计算分析模块、操作统计模块以及时序仿真模块,其中:统计模块计算并统计推理时延和能耗,间歇计算模块根据硬件架构、软件映射信息,进行能源状态检查、数据分块映射、数据存取处理,得到计算操作信息结果,操作计数模块根据计算操作信息,进行数据读写总数计数、数据重用计数、断点计数处理,得到硬件操作计数结果,时序仿真模块根据上层建模信息,进行能量收集仿真、自主推理仿真处理,得到系统整体性能及开销仿真结果。
[0031] 所述的推理能耗是计算能耗和断点保存能耗的总和,其中:计算能耗包括芯片的静态能耗、数据读读取/写入以及处理单元能耗;断点保存能耗包括断点存储和恢复能耗。
[0032] 所述的架构搜索单元包括:成本分析模块、软件层面优化模块、以及硬件层面优化模块,其中:成本分析模块创立搜索目标函数,利用架构评估模块统计的信息,搜索最优方案,软件层面优化模块根据架构评估模块的开销仿真信息,进行开销分析建模、软件优化搜索处理,得到相对较优的软件及映射结果,硬件层面优化模块根据软件及映射信息,进行硬件架构搜索优化处理,得到优化硬件参数结果,并结合软件输出较优的AuT整体架构。
[0033] 所述的搜索目标函数,要满足给定环境和DNN应用下,能量收集模块采集的电能大于等于推理系统消耗的电能,并且该条件下,对应的目标函数最优,具体为:Res={AuT|Objective,Workload,Constraint}={AuT|π(HWeh,HWinfer,Df),Tech,Envir)}。
[0034] 本实施例通过在真实的自主边缘场景中对自主边缘计算实例进行实际端到端架构搜索并验证,结果如表1、图3、图4所示。经过具体的实验验证,本发明所涉及的技术得到了良好的实验结果,推理时延、能量收集器的体积方面都较大的提升。
[0035] 表1
[0036] 所述的验证搜索实验设置可重构神经网络加速器作为推理硬件,搜索范围为单元2
数量1到168个,缓冲大小128bytes到2KB;光伏板作为能量收集器,搜索的面积范围为1cm
2
到30cm;电解电容器作为能量缓冲,搜索范围为1uF到10mF。实验中使用了4个不同类型的DNN模型作为测试应用,包括BERT、AlexNet、VGGNet和ResNet。BERT是一个语音相关模型,有
7个核心层;AlexNet是一个经典的图像分类模型,有5个核心层;VGGNet有VGG16和VGG19两个版本,本实施例使用了16层的VGG16;ResNet使用了残差结构,这里使用的ResNet18共有
18层。除此以外,实验中还使用了4个简单的DNN模型用于方法比较探索,包括single conv、CIFAR、HAR、KWS。single conv为一个简单的256*256的神经网络卷积层;CIFAR为一个面向图像识别任务的7层卷积神经网络;HAR为一个面向人体动作识别的5层卷积神经网络;KWS为一个面向语音识别的5层全连接神经网络。实验中使用了3个不同类型的搜索指标作为测试场景,包括minSP,minLat,minMulti。minSP代表优化能量收集器大小,minLat代表减小推理时延,minMulti代表最小化能量收集器大小与推理时延的乘积。
[0037] 表1的中的7种技术方案分别表示为:(a)CHRYSALIS是本实施例基于供电系统和推理系统实时搜索的协同设计方法;(b)wo/Cap是对自主边缘系统给定电容大小的设计方法;(c)wo/SP是对自主边缘系统给定能量收集器大小的设计方法;(d)wo/EA是不对自主边缘系统的供能系统进行搜索的设计方法;(e)wo/PE是对自主边缘系统给定加速器核心单元数量的设计方法;(f)wo/Cache是对自主边缘系统的推理系统给定各个单元缓冲内存大小的设计方法;(g)wo/IA是不对自主边缘系统的推理系统进行搜索的设计方法。
[0038] 如表1所示,为基于本实例和其他基于本实施例和现有的自主边缘系统设计方法在4个DNN模型上针对3种场景的搜索结果。通过表中的数据,本实施例可知CHRYSALIS在所有的场景都取得最好的结果。相比较于其他6个方案中最优的搜索结果,CHRYSALIS能够减少最多89.6%的能量收集器大小,或者减少96.7%的时延,在以两者乘积为指标的搜索中获得95.0%的指标提升。
[0039] 如图3和图4所示,为本实施例的搜索结果和其他方案得到的搜索结果的不同指标对比。从图3中的结果可以看到,过小的电容设计将导致过高的由于系统断点而引起的能耗开销(Ckpt.Energy),而过大的电容设计将导致电容的漏电流过大,导致能量泄漏。从图4中的结果可以看到,过小的能量收集器设计将导致过高的由于系统断点而引起的能耗开销(Ckpt.Energy),而过大的能量收集器将使得系统效率降低,这是由于额外收集的能量未被使用或储存最终溢出而导致的。CHRYSALIS搜索的最优结果不仅避免了过高的断电能耗和漏电流,也提升了系统的总体效率,做到了系统开销的平衡,从而获得了最优的结果。
[0040] 上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。