资讯中心
关于我们
欢迎光临格子云商城!
GE ZI CLOUD
数字化应用聚合平台
格子云
按钮文本
热门搜索:惠普  复印纸  中性笔
全部商品分类
技术社区

AI框架的挑战与MindSpore的解决思路

来源: | 作者:技术小咖 | 发布时间: 2021-06-19 | 3688 次浏览 | 分享到:
全场景统一AI框架的挑战所谓全场景AI,是指可以将深度学习技术快速应用在云边端不同场景下的硬件设备上,包括云服务器、移动终端以及IoT设备等等,高效运行并能有效协同。

 

 

  • 端云协同


端云协同主要涉及三块:云侧训练-端侧推理、云侧训练-端侧增量训练-端侧推理、云/端的联邦学习


云侧训练-端侧推理,重点需要解决怎么生成最适合端侧的模型,包括模型压缩和自适应模型生成。模型压缩技术我们前面已经做了介绍。对于神经网络自动搜索(NAS),通常被用来生成满足一定限制条件(例如,微控制器上极致的内存限制)的模型,NAS技术最大的问题在于如何缩短搜索模型的时间。
云侧训练-端侧增量训练,重点需要解决云和端的模型高效转换的问题,这个前面章节已经介绍。
联邦学习,目前业界主要有两个技术流派,一个是横向联邦学习,数据上进行聚合,典型的应用场景是,移动设备上的隐私保护问题,像广告等场景需要建立数百万移动设备之间的联邦模型,避免用户隐私数据上传到数据中心。第二个是纵向联邦学习,维度上进行聚合,比较看重跨机构跨组织大数据合作场景,尤其是银行金融场景的数据安全和隐私保护问题。


移动设备隐私保护的架构


跨机构跨组织大数据合作架构
联邦学习在技术上还有许多挑战,比如跨设备的系统异构以及算法迭代过程中的通信,将会影响最终联邦聚合的效率和精度;联邦学习的过程中的模型加密方法,因为即使通过权重也可以推测出部分隐私信息,以及客户端的投毒攻击、对抗样本等;另外一个挑战主要是架构上的,目前联邦学习还没有一个统一的架构,同时支持横向联邦学习和纵向联邦学习。
MindSpore全场景统一架构的解决方案

  • 端云统一内核


MindSpore在框架的设计上进行了分层设计,将端云共用的数据结构和模块解耦出来,在满足端侧轻量化的同时,保持了端云架构的一致性,真正实现一次训练无缝部署、端云训练共模型。



【统一IR】MindSpore core的统一IR,保证了端云模型/算子定义的一致性,使得云侧训练的模型可以无缝的部署在端侧。同时,对于端侧训练,可以和云侧使用一致的IR进行模型的重训。
统一IR定义了模型的逻辑结构和算子的属性,并且与模型的持久化是解耦的。开源项目中用于持久化数据的方式,使用最为广泛的,就是protobuffer和flatbuffer。两者相比,protobuffer功能更为强大,使用也更加的灵活,但是相应的,也更加的重量级。flatbuffer更加的轻,反序列化的速度也更快。MindSpore将统一IR的逻辑数据持久化成不同的物理形式,云侧持久化成protobuffer格式,端侧持久化成flatbuffer,兼顾了数据的一致性与部署的轻量化。
【公共pass】为了提升性能,训练好的模型在执行推理前,需要提前做一些优化手段,这些优化包括了融合、常量折叠、数据排布的调整等等。对于端云共享的优化,同样也是包含在MindSpore core模块中,只不过对于云侧推理,这些优化是在线推理时去执行的,而对于移动终端这些优化在执行推理前离线完成。
【统一接口】MindSpore设计了提供端云统一的C++接口。统一的C++接口的用法尽量与Python接口保持了一致,降低了学习成本。通过统一接口,用户可以使用一套代码在不同的硬件上进行推理。

 

 

  • 轻量化技术

【MindSpore for micro】相比于移动终端,IoT设备MCU芯片资源更加的有限,因此,如何在IoT设备上部署深度学习模型将更具有挑战。


上面的表中,左边表示了云、手机、MCU上内存和存储的大小,右边表示了ResNet-50、MobileNet-V2、int8量化的MobileNetV2占用的存储和内存。
针对IoT设备,MindSpore设计了MindSpore for micro的方案。



部署在云服务器和移动终端上的推理框架,通过模型解释的方式来进行推理,这样的方式可以支持多个模型以及跨硬件平台,但是需要额外的运行时内存(MCU中最昂贵的资源)来存储元信息(例如模型结构参数)。MindSpore for micro的CodeGen方式,将模型中的算子序列从运行时卸载到编译时,并且仅生成将模型执行的代码。它不仅避免了运行时解释的时间,而且还释放了内存使用量,以允许更大的模型运行。这样生成的二进制大小很轻,因此具有很高的存储效率。
MindSpore for micro的特性将会在1.2的版本中开源。
【量化】MindSpore自适应混合低比特量化技术:根据模型结构和目标压缩率自动搜索出对应层量化bit数,无需量化专家深度参与。量化因子可训练,在低比特量化场景下可极大提升训练效率和减少量化损失。在图像分类/目标检测模型上验证压缩8~10倍场景下,精度优于当前业界量化算法。


MindSpore训练后量化技术:训练后量化相较于量化重训具有两个明显优势,一是无需大量训练数据集,二是无需重新训练,离线快速转换。MindSpore采用pipeline组合量化方法,一阶段采用常规线性量化手段对权重和激活值进行量化,二阶段对量化误差进行分析,利用统计学方法对量化模型进行校正,补偿因量化带来的精度损失。