全新的昇思MindSpore全场景AI框架1.6版本已公布,此版本中昇思MindSpore全场景AI框架易用性不断改进,晋升了开发效率,控制流性能晋升并反对副作用训练,与此同时,昇思MindSpore全场景AI框架公布高效易用的图学习框架昇思MindSpore Graph Learning,高性能可扩大的强化学习计算框架昇思MindSpore Reinforcement,提供反对第三方框架模型迁徙工具,让用户即时体验的开发套件昇思MindSpore Dev ToolKit,同时降级自定义算子能力反对高效增加算子,丰盛MindQuantum量子模块反对可疾速上手,继续晋升框架的训练与推理性能,上面就带大家疾速浏览昇思MindSpore全场景AI框架1.6版本的要害个性。

  1. 服务开发者,改良易用性晋升开发效率

针对开发者诉求,昇思MindSpore全场景AI框架与开发者发展了零碎、深刻的交换,组织一系列用户调研和访谈,对开发者反馈较多的API问题进行整改优化,并打造系列教程,帮忙开发者上手;同时,昇思MindSpore全场景AI框架踊跃吸纳开发者参加内容建设,累计吸引142名内部开发者奉献610+技术干货案例,笼罩装置、开发调优等要害场景,为开发者提供教训领导。

在调试、调优等性能个性上,昇思MindSpore全场景AI框架进行了零碎的改良,帮忙开发者晋升开发效率:

· 在性能调试方面,反对动态图模式的问题代码堆栈打印、优化谬误形容晋升报错准确性,为用户提供更好的问题解决体验。

· 昇思MindSpore Insight提供集群性能数据一键收集、并行策略剖析、图码联动可视化调优等性能,晋升开发者性能和精度调优效率。

· 在ModelZoo模型方面,提供300+线上线下统一、笼罩CV/NLP/举荐等畛域、反对跨平台部署的模型,并满足人工智能计算中心、金融、制作、终端等行业需要。基于新版本高效语法,重构Yolo v5等ModelZoo模型,为开发者提供昇思MindSpore全场景AI框架模型最佳实际。

  1. 控制流反对副作用训练,继续优化性能

在之前公布的昇思MindSpore全场景AI框架版本中,控制流训练场景下存在复制子图的问题,该问题会导致执行网络性能变差、副作用训练场景后果不对等问题。最新的昇思MindSpore全场景AI框架1.6.1版本,咱们对控制流的IR表白设计进行了重构,打消了不必要的图复制,对控制流场景下各方面进行了较大的优化。

1.反对训练场景应用Assign等副作用算子。

2.优化控制流子图数量,反向网络可间接复用正向图算子后果,不须要反复计算正向图,晋升了执行性能和编译性能。

例如:AirNet网络子图数量由原来的162个升高至46个,缩小了大量冗余计算,执行性能由12.3s/epoch优化至5.8s/epoch。

AirNet网络优化前后子图数量与执行性能比照

BFGS网络子图数量由原来的3236个升高至91个,执行性能由4.9s/epoch优化至0.6s/epoch。

BFGS网络优化前后子图数量与执行性能比照

3.反对数据无依赖子图并行执行,同时优化了空子图执行流程,整体上晋升控制流场景执行性能。

例如:Mappo(Agent3)网络优化前后子图数量无变动,然而因为咱们优化了无数据依赖的子图的并行执行能力和空子图执行过程,网络最终执行性能由2.5s/epoch晋升至1.8s/epoch。

Mappo(Agent3)网络优化前后子图数量与执行性能比照

  1. 昇思MindSpore Graph Learning:公式即代码,训练减速3到4倍

图数据能天然表白真实世界对象之间的关系,表征能力和可解释性强,图学习也逐渐广泛应用于电商举荐、金融风控、药物分子剖析和管制优化等场景,图关系大都盘根错节,数据规模较大,通常有数十亿点,数百亿边,点边类型有几百种,图神经网络计算更加简单耗时,因而迫切需要高效的图神经网络系统。同时,GNN算法的疾速倒退,须要易用的零碎容许自在扩大。

昇思MindSpore Graph Learning是由James Cheng课题组(香港中文大学)、华为昇思MindSpore团队联结研发的图学习框架,具备高效性、易用性等特点。

3.1 易用性:公式即代码

通过创新性的提出以节点为核心的编程范式,相较于消息传递范式,更贴近GNN算法逻辑和Python语言格调,昇思MindSpore Graph Learning能够做到公式到代码的间接映射,如下图GAT网络代码所示。基于此,用户无需进行任何函数封装,即可疾速间接地实现自定义的GNN算法/操作。

3.2 高效性:训练减速3到4倍

基于昇思MindSpore全场景AI框架的图算交融和主动算子编译技术(AKG)个性,翻新提出基于索引的非规定内存拜访算子交融,自动识别GNN模型运行工作特有执行pattern并进行交融和kernel level优化。相较于其余框架对罕用算子进行定制优化的计划更加灵便,更具扩展性,可能笼罩现有框架中已有的算子和新组合算子的交融优化。以昇思MindSpore全场景AI框架作为后端,昇思MindSpore Graph Learning能使GNN网络训练取得3到4倍的性能减速。

3.3 丰富性:笼罩业界典型图学习网络

框架中曾经自带实现十三种图网络学习模型,涵盖同构图、异构图、 随机游走等类型的利用网络。

  1. 高性能可扩大的强化学习计算框架:昇思MindSpore Reinforcement

强化学习(RL)是近年来AI畛域的钻研热点之一,随同昇思MindSpore全场景AI框架 1.6版本推出了独立的强化学习计算框架昇思MindSpore Reinforcement,通过框架中的Python 编程API以及算法与执行拆散的设计使其具备易编程,可扩大等特点,冀望带给用户一个全新的开发体验。

在昇思MindSpore Reinforcement 0.2版本中提供了一套面向强化学习畛域的Python编程API,例如Actor用于环境交互取得处分,Learner学习并更新策略,以及Trainer用于控制算法逻辑等形象,使整个算法构造更加清晰、简洁,有助于高效的算法开发和模块复用;另外在仓库中内置了一些经典的强化学习算法,如DQN、PPO等(后续版本中将会继续更新),用户可间接运行其中的算法,或者基于Python API开发新的单智能体以及多智能体强化学习算法。

昇思MindSpore Reinforcement在架构设计上采纳了算法表白和编译执行拆散的设计思路,用户仅须要专一于强化学习算法逻辑的Python实现,依靠于昇思MindSpore全场景AI框架弱小的编译优化以及多硬件异构减速能力,能够实现强化学习算法的多硬件协同计算减速。

在计算设施上,昇思MindSpore Reinforcement反对包含Ascend、GPU、CPU在内的多硬件计算,以后0.2版本已反对单机训练,后续版本将提供更弱小的多智能体分布式训练能力,以及更加丰盛的个性反对,敬请大家继续关注。

  1. 自定义算子能力全面降级,对立Custom接口帮忙用户高效增加算子

随着AI模型的迭代,昇思MindSpore全场景AI框架内置的动态的算子库可能无奈满足用户的需要,之前版本的昇思MindSpore全场景AI框架的自定义算子性能也存在着平台笼罩不到位,开发过程繁琐及第三方算子接入艰难的问题。为了提供更好的自定义算子体验,昇思MindSpore全场景AI框架1.6版本全面降级了自定义算子的能力,提供撑持包含Ascend,GPU和CPU在内的多平台的对立算子开发接口Custom,帮忙用户在昇思MindSpore全场景AI框架方便快捷地进行不同类型自定义算子的定义和应用,能够满足包含疾速验证,实时编译和第三方算子接入等不同场景下的用户需要。

5.1 多场景、多平台的对立算子开发接口

昇思MindSpore全场景AI框架1.6版本提供对立的算子开发接口Custom,实现了不同形式自定义算子的接口和应用对立。其提供的模式包含基于JIT编译的算子编译器开发模式、针对极致性能的aot模式和针对疾速验证的pyfunc模式,不便网络开发者依据须要灵便选用不同的自定义形式。

此外对立的算子开发接口整合了以后昇思MindSpore全场景AI框架反对的不同平台,包含Ascend,GPU和CPU,以及新增的AICPU平台,缩小了用户针对不同平台算子开发的学习老本。

5.2 自定义算子一键接入,方便快捷

昇思MindSpore全场景AI框架1.6版本提供的自定义算子能够帮忙用户在昇思MindSpore全场景AI框架的Python端疾速的定义算子,把算子作为网络表白的一部分,无需对昇思MindSpore全场景AI框架进行侵入式批改和从新编译。此外提供了主动生成注册信息的能力,实现自定义算子一键接入网络,极大的简化了自定义算子的开发流程。用户在应用时齐全不感知框架相干的设定,让用户更加关注计算自身。

5.3 新的自定义算子类型反对:AICPU

昇思MindSpore全场景AI框架1.6版本新增了AICPU类型算子的反对,该类算子对应的硬件架构为ARM架构,采纳aot模式编译,能够快捷地部署到支流嵌入式平台上。AICPU算子绝对于TBE算子,善于逻辑类操作,采纳C/C++开发,相似于CPU算子开发,对于一些难以向量化的算子,有较大的性能收益。

  1. 模型迁徙工具MindConverter:反对第三方框架模型的一键迁徙

从第三方框架切换到昇思MindSpore全场景AI框架,如果不能复用原框架的存量支流模型,则须要从新编写模型训练脚本,并破费周级甚至月级的工夫进行重训。目前大量开源模型基于PyTorch/TensorFlow实现,如果想基于昇思MindSpore全场景AI框架进行钻研,则可能因为预训练数据无奈获取或者训练资源无限,难以在昇思MindSpore全场景AI框架下复现模型。

在昇思MindSpore全场景AI框架1.6版本中提供的模型迁徙工具MindConverter,能够帮忙用户疾速实现第三方框架支流模型的一键迁徙。

工具采纳了支流AI框架IR到昇思MindSpore IR的转换计划,转换后的模型可推理可重训,模型脚本可读性较好。模型迁徙工具反对以下两种转换形式:

6.1 基于ONNX IR转换

ONNX是一种开放式模型定义格局,业界支流AI框架均已反对将模型导出为ONNX格局。借助ONNX通用性,模型迁徙工具可实现多种AI框架到昇思MindSpore全场景AI框架的转换。已验证反对ResNet系列、RegNet系列,HRNet系列,DeepLabV3系列,YOLO系列等模型。

如上图所示,将第三方框架模型导出成ONNX格局,而后应用模型迁徙工具,映射转换成昇思MindSpore全场景AI框架模型。

6.2 基于TorchScript IR转换

TorchScript是PyTorch模型的两头表白,借助 TorchScript IR 的泛化性,模型迁徙工具可笼罩绝大部分的PyTorch模型。已验证反对HuggingFace Transformer预训练模型200+个。

如上图所示,将PyTorch框架模型转换成TorchScript计算图,而后应用模型迁徙工具,映射转换成昇思MindSpore全场景AI框架模型。

更多可反对转换的模型,有待用户发现与验证。应用模型迁徙工具时如有问题,请参考官网的使用手册,也欢送在开源社区中进行反馈。

  1. 使能用户即时体验的开发套件昇思MindSpore Dev ToolKit

昇思MindSpore全场景AI框架功能丰富且弱小,如何一键上手,疾速试用?由昇思MindSpore团队推出的昇思MindSpore Dev ToolKit开发套件蕴含运行治理,智能常识搜寻与智能代码补全性能,致力于让所有用户丝滑地解脱环境烦扰,学习人工智能,让人工智能回归算法自身。

7.1 一键环境治理,5分钟实现环境搭建上手昇思MindSpore全场景AI框架实际

基于Conda提供迷信的昇思MindSpore全场景AI框架环境治理形式,能疾速将昇思MindSpore全场景AI框架及依赖装置在独立环境中并部署最佳实际。该能力兼容Ascend、GPU、CPU多平台,荫蔽不同环境适配的繁琐细节,让用户在关上IDE后一键运行AI算法。最快能在5分钟内体验用昇思MindSpore全场景AI框架学AI的乐趣,内测数据显示80%的AI零根底用户应用该性能可在20分钟内实现环境配置与算法运行。

7.2 沉迷式昇思MindSpore全场景AI框架生态常识智能搜寻,用户零压力接入昇思MindSpore生态

基于语义搜寻等能力,在Dev Toolkit内提供全面的昇思MindSpore全场景AI框架常识内容检索,对算子而言,PyTorch/TensorFlow框架用户只需在IDE内查问相应算子,即可疾速精确找到昇思MindSpore全场景AI框架中的对应实现并取得具体文档反对,从而无压力切换到昇思MindSpore全场景AI框架生态中。

7.3 基于深度学习的智能代码补全,单模型开发键盘敲击次数可缩小30%

Dev Toolkit基于昇思MindSpore ModelZoo等最佳实际数据集结构的智能代码补全模型实现的智能代码补全性能,让用户在编写昇思MindSpore全场景AI框架相干代码时获取实时提醒,补全达80%的高准确性将减速用户编码,目前内测数据显示编码时键盘敲击次数可缩小30%以上。

  1. 昇思MindSpore Lite继续晋升推理性能

8.1 通过异构并行技术,深度开掘硬件算力晋升推理性能

此版本中,昇思MindSpore Lite新增异构并行性能,该性能感知异构硬件能力,使能多个底层硬件并行执行推理,最大限度利用端侧无限的硬件资源,晋升推理效率。

异构并行性能会在构图阶段,依据异构硬件的能力进行构图操作。构图操作分为切分算子与结构异构图两局部。切分算子会将本来不适宜异构并行的模型重形成适宜异构并行的,且并行分支的运算量可能严格匹配异构硬件的执行能力。结构异构图操作会依据模型现有的图构造进行并行子图搜寻,最终确定异构并行图。构图的整体解决方案不局限于模型原始构造,使得异构并行能够利用于泛化模型。

昇思MindSpore Lite在以后版本实现了GPU与CPU的异构并行,应用Mobilenet-V1网络实测验证,有5%左右的性能晋升。

8.2 优化GPU推理性能,反对将OpenGL纹理数据作为输出和输入数据

此版本中,昇思MindSpore Lite反对将OpenGL纹理数据作为推理模型的输出,推理输入后果也为OpenGL纹理,实现端到端推理过程中,缩小CPU和GPU间的数据拷贝,从而达到晋升推理性能降低功耗的目标;相比上一版本,可能缩小四次设施间的内存拷贝,示意如下图:

  1. MindQuantum:疾速上手量子模仿与量子机器学习

MindQuantum 最新0.5版本中提供独立的量子模仿模块Simulator,用户可疾速对自定义量子线路进行模仿演变并对量子态进行采样,极大不便开发者在MindQuantum环境中设计和验证本人的量子算法。此外咱们新增了量子线路和量子态采样的展现模块,开发者也能直观的对量子算法进行批改。

新增量子线路绘制性能演示如下:

新增模拟器模块及其线路采样性能演示如下:

此版本的第二大个性是新增了多种量子神经网络算子,开发者依据这些算子能够疾速开发量子经典混合的机器学习模型,助力量子人工智能算法冲破。

  1. 昇思MindSpore Science蛋白质构造预测性能晋升2-3倍

昇思MindSpore Science开源了基于AlphaFold2【1】算法的蛋白质构造预测推理工具,该预测推理工具由昇思MindSpore【2】团队、昌平实验室、北京大学生物医学前沿翻新核心(BIOPIC)和化学与分子工程学院、深圳湾实验室高毅勤传授课题组联合推出,MindSpore + Ascend910 单卡端到端性能优于原版AlphaFold2达2-3倍。

传统的药物设计研发周期长、费用高,而理解蛋白质的空间结构后可大幅缩短研发周期。因而,精确、疾速的蛋白质构造预测不仅能够疾速取得或验证要害蛋白构造,而且在医疗衰弱和生物工程畛域也能作为无力的工具。但传统蛋白质构造预测办法存在计算精度有余的缺点,而AlphaFold2的蛋白质构造预测工具精度可与试验办法相媲美。

该工具可对氨基酸序列长度2000+的蛋白质构造解析,能笼罩约99%以上的蛋白序列【3】。其中模型局部与AlphaFold2雷同,在多序列比对阶段,采纳了MMseqs2进行序列检索【4】,相比于原版算法端到端运算速度有2-3倍的晋升。

图1 昇思MindSpore全场景AI框架模型与AlphaFold2精度比照

图2 通过昇思MindSpore全场景AI框架预测的T1079

针对蛋白质构造预测及折叠问题,联结团队将来还会公布翻新的全栈(算法+软件+硬件)敬请期待。

参考文献

【1】Jumper J, Evans R, Pritzel A, et al. Applying and improving AlphaFold at CASP14[J]. Proteins: Structure, Function, and Bioinformatics, 2021

【2】Chen L. Deep Learning and Practice with MindSpore[M]. Springer Nature, 2021.

【3】https://ftp.uniprot.org/pub/d...

【4】Mirdita M, Ovchinnikov S, Steinegger M. ColabFold-Making protein folding accessible to all[J]. BioRxiv, 2021.