全新的嵊泗MindSpore全场景AI框架1.6版本可用性不断提升,开发效率得到提升,控制流性能得到提升改进,并支持副作用训练。同时,MindSpore全场景AI框架发布了高效易用的图学习框架MindSporeGraphLearning,具有高性能和可扩展性的增强。学习计算框架MindSporeReinforcement,提供对第三方框架模型迁移工具的支持,让用户实时体验开发套件MindSporeDevToolKit,同时升级自定义算子能力,支持算子的高效添加,丰富的MindQuantum量子模块支持可以快速上手并持续改进框架的训练和推理性能。下面简单介绍一下MindSpore全场景AI框架1.6版本的主要特性。服务开发者,提高易用性,提高开发效率针对开发者的需求,MindSpore全场景AI框架与开发者进行了系统深入的交流,组织了一系列的用户调查和访谈,为开发者提供更多反馈对APIs问题进行了整改和优化,并创建了系列教程帮助开发者上手;同时,MindSpore全场景AI框架积极吸引开发者参与内容建设,共吸引142名外部开发者贡献610+技术干货案例,覆盖安装、开发调优等关键场景,为用户提供体验指导开发商。在调试、调优等功能特性方面,系统完善了MindSpore全场景AI框架,帮助开发者提升开发效率:在功能调试方面,支持静态图方式打印问题代码栈,优化错误描述,并提高了错误报告的准确性,为用户提供了更好的解决问题的体验。·晟思MindSporeInsight提供集群性能数据一键采集、并行策略分析、图形可视化优化和代码联动等功能,提升开发者性能和精准调优效率。·ModelZoo模型方面,提供300+在线离线一致的模型,覆盖CV/NLP/推荐领域,支持跨平台部署,满足人工智能计算中心、金融、制造、和终端。基于新版高效语法重构Yolov5等ModelZoo模型,为开发者提供MindSpore全场景AI框架模型的最佳实践。控制流支持side-effect训练,持续优化性能在此前发布的盛思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/epochepoch。Mappo(Agent3)网络优化前后子图数量和执行性能对比MindSporeGraphLearning:公式即代码,训练速度提升3~4倍Graph数据可以自然表达现实世界对象之间的关系,与强大的表示能力和可解释性,图学习也逐渐广泛应用于电商推荐、金融风控、药物分子分析、控制优化等场景。种类繁多,图神经网络计算较为复杂耗时,因此迫切需要一种高效的图神经网络系统。同时,GNN算法的快速发展需要一个简单易用、可以自由扩展的系统。ShengsiMindSporeGraphLearning是由JamesCheng课题组(香港中文大学)与华为盛思MindSpore团队共同开发的图学习框架。具有高效、易用等特点。3.1易用性:公式即代码通过创新性提出以节点为中心的编程范式,与消息传递范式相比,更接近GNN算法逻辑和Python语言风格。MindSporeGraphLearning可以实现公式到代码的直接映射,如下图GAT网络代码所示。基于此,用户无需任何功能封装,即可快速直接实现自定义的GNN算法/运算。3.2效率:训练加速3-4倍。基于圣思MindSpore全场景AI框架的图像计算融合和自动算子编译技术(AKG)特点,提出了一种创新的基于索引的不规则内存访问算子融合来自动识别GNN模型。运行特定于任务的执行模式并执行融合和内核级优化。与其他框架相比,针对常用算子定制的优化方案更加灵活和可扩展,可以覆盖现有框架中现有算子和新组合算子的融合优化。以晟斯MindSpore全场景AI框架为后端,晟斯MindSporeGraphLearning可将GNN网络训练性能提升3~4倍。3.3丰富性:涵盖了业界典型的图学习网络框架,实现了13种图网络学习模型,覆盖了同构图、异构图、随机游走等应用网络类型。高性能、可扩展的强化学习计算框架:晟斯MindSporeReinforcement强化学习(RL)是近年来AI领域的研究热点之一。伴随着MindSpore全场景AI框架1.6版本的发布,盛思推出了独立的强化学习计算框架盛思MindSporeReinforcement,通过框架中的Python编程API和算法与执行分离的设计,让编程变得简单并拓展,期望为用户带来全新的开发体验。在MindSporeReinforcement0.2版本中,盛思提供了一套用于强化学习的Python编程API。例如,Actor用于与环境交互获取奖励,Learner用于学习和更新策略,Trainer用于控制算法逻辑等抽象,使得整个算法结构更加清晰简洁,有利于高效算法开发和模块复用;此外,仓库中内置了一些经典的强化学习算法,如DQN、PPO等(后续版本会持续更新),用户可以直接运行算法,或者开发新的单智能体和多智能体基于PythonAPI的代理强化学习算法。ShengsiMindSporeReinforcement在架构设计上采用了算法表达和编译执行分离的设计思路。用户只需关注强化学习算法逻辑的Python实现,依托强大的编译优化和多硬件异构结构的加速能力,即可实现强化学习算法的多硬件协同计算加速。在计算设备上,MindSporeReinforcement支持升腾、GPU、CPU等多硬件计算。目前0.2版本支持单机训练,后续版本将提供更强大的多智能体分布式训练能力和更丰富的Feature支持,请持续关注。运营商自定义能力全面升级,统一的自定义接口帮助用户高效添加运营商。随着AI模型的迭代,晟思MindSpore全场景AI框架内置的静态算子库可能无法满足用户的需求。此前版本的盛思MindSpore全场景AI框架自定义算子功能也存在平台覆盖不足、开发流程繁琐、第三方算子接入困难等问题。为了提供更好的自定义算子体验,晟思MindSpore全场景AI框架1.6版本全面升级算子自定义能力,提供统一的算子开发接口Custom,支持升腾、GPU、CPU等多平台,帮助用户在盛思MindSpore全场景AI框架中方便快捷地定义和使用不同类型的自定义算子,满足用户在快速验证、实时编译、第三方算子接入等不同场景下的需求。5.1多场景多平台统一算子开发接口MindSpore全场景AI框架1.6版本提供了统一算子开发接口Custom,实现了不同自定义算子的统一接口和使用。它提供的模式包括基于JIT编译的算子编译器开发模式、极致性能的aot模式、快速验证的pyfunc模式,让网络开发者可以根据需要灵活选择不同的定制方式。此外,统一的算子开发接口集成了目前MindSpore全场景AI框架支持的不同平台,包括Ascend、GPU、CPU,以及新增的AICPU平台,降低了用户开发算子的学习成本针对不同的平台。5.2一键接入自定义算子,方便快捷作为网络表达的一部分,盛思MindSpore全场景AI框架无需侵入式修改和重新编译。并且提供自动生成注册信息的能力,实现自定义运营商一键入网,大大简化了自定义运营商的开发流程。用户在使用时完全不知道框架相关的设置,让用户更加关注计算本身。5.3支持新的自定义算子类型:AICPUMindSpore全场景AI框架1.6版本增加了对AICPU类型算子的支持。这类算子对应的硬件架构为ARM架构,采用aot方式编译,可以快速部署到主流嵌入式平台。与TBE算子相比,AICPU算子擅长逻辑运算。它们是用C/C++开发的,类似于CPU算子的开发。对于一些难以向量化的算子,它们具有更大的性能优势。模型迁移工具MindConverter:支持第三方框架模型一键迁移从第三方框架切换到晟思MindSpore全场景AI框架,如果原框架现有的主流模型无法复用,需要模型训练脚本重写,再训练需要几周甚至一个月的时间。目前,大量的开源模型都是基于PyTorch/TensorFlow实现的。如果你想基于陕西MindSpore全场景AI框架进行研究,由于无法获得预训练数据或训练资源有限,可能很难在陕西MindSpore全场景AI框架下复现模型。盛思MindSpore全场景AI框架1.6版本提供的模型迁移工具MindConverter,可以帮助用户快速实现第三方框架主流模型的一键迁移。该工具采用主流AI框架IR到MindSporeIR的转换方案。转换后的模型可以进行推理和再训练,模型脚本可读性更强。模型迁移工具支持以下两种转换方式:6.1基于ONNX的IR转换ONNX是一种开放的模型定义格式,业界主流的AI框架已经支持将模型导出为ONNX格式。借助ONNX的通用性,模型迁移工具可以实现各种AI框架向盛思MindSpore全场景AI框架的转换。经验证支持ResNet系列、RegNet系列、HRNet系列、DeepLabV3系列、YOLO系列等模型。如上图所示,将第三方框架模型导出为ONNX格式,然后使用模型迁移工具映射转换为MindSpore全场景AI框架模型。6.2基于TorchScriptIR的转换TorchScript是PyTorch模型的中间表达。随着TorchScriptIR的泛化,模型迁移工具可以覆盖大部分PyTorch模型。经验证支持200+HuggingFaceTransformer预训练模型。如上图所示,将PyTorch框架模型转换为TorchScript计算图,然后使用模型迁移工具映射转换为盛思MindSpore全场景AI框架模型。更多可以支持转换的机型,等待用户去发现和验证。如果您在使用模型迁移工具时有任何问题,请参考官网使用手册,欢迎在开源社区反馈。盛思MindSporeDevToolKit是一款让用户实时体验的开发套件,功能丰富,其MindSpore全场景AI框架功能强大。如何一键上手并快速试用?晟思MindSpore团队开发的晟思MindSporeDevToolKit包括运营管理、智能知识搜索和智能代码补全功能,致力于让所有用户摆脱环境干扰,学习人工智能,让人工智能回归算法本身。7.1一键环境管理,5分钟完成环境搭建圣思MindSpore全场景AI框架实践入门基于Conda,科学的圣思MindSpore全场景AI框架环境管理方法,快速安装圣思MindSpore全场景AI框架-在隔离环境中场景AI框架和依赖项并部署最佳实践。该能力兼容升腾、GPU、CPU平台,隐藏不同环境适配的繁琐细节,让用户打开IDE一键运行AI算法。最快5分钟即可体验盛思MindSpore全场景AI框架学习AI的乐趣。内测数据显示,80%的AI零基础用户可以使用该功能在20分钟内完成环境配置和算法运行。7.2晟斯MindSpore全场景AI框架生态知识沉浸式智能搜索,用户可以零压力接入基于语义搜索等能力的晟斯MindSpore生态,并提供晟斯MindSpore全场景AI框架知识的全面知识内容检索开发工具包。例如PyTorch/TensorFlow框架的用户只需要在IDE中查询对应的算子,就可以快速准确的在晟思MindSpore全场景AI框架中找到对应的实现,并获得详细的文档支持,从而可以切换到晟思MindSpore全场景AI框架无压力。在场景AI框架生态中。7.3基于深度学习的智能代码补全,单模型开发击键次数可减少30%。用户在编写盛思MindSpore全场景AI框架相关代码时,会得到实时提示。80%完成度的高精度将加速用户编码。目前内测数据显示,编码时的击键次数可减少30%以上。晟思MindSporeLite持续提升推理性能8.1通过异构并行技术,深度挖掘硬件算力提升推理性能底层硬件并行执行推理,最大化利用设备侧有限的硬件资源,提升推理效率。异构并行函数将在组合阶段根据异构硬件的能力进行组合操作。合成操作分为两部分:分割算子和异构图的构建。分段算子将不适合异构并行的模型重构为适合异构并行的模型,并行分支的计算量能够严格匹配异构硬件的执行能力。构建异构图的操作会根据模型已有的图结构搜索并行子图,最终确定异构并行图。组合的整体解决方案不局限于模型的原始结构,使异构并行能够应用于广义模型。在盛思MindSporeLite当前版本中,已经实现了GPU和CPU的异构并行。使用Mobilenet-V1网络测试验证,性能提升约5%。8.2优化GPU推理性能,支持OpenGL纹理数据作为输入输出数据。在这个版本中,盛思MindSporeLite支持OpenGL纹理数据作为推理模型的输入,推理输出结果也是OpenGL纹理,实现端到端的推理过程,减少CPU和GPU之间的数据拷贝,从而达到提高推理性能和降低功耗的目的;与之前的版本相比,可以减少设备间内存拷贝四倍,如下图:MindQuantum:快速入门量子仿真和量子机器学习MindQuantum最新0.5版本提供了独立的量子仿真模块Simulator,用户可以快速模拟定制量子电路的演化和样本量子态,极大地方便了开发者在MindQuantum环境中设计和验证自己的量子算法。此外,我们还增加了量子电路和量子态采样的显示模块,让开发者可以直观地修改量子算法。新增量子电路绘图功能演示如下:新增模拟器模块及其电路采样功能演示如下:本版本第二大特色是新增了多种量子神经网络算子,开发者可以根据这些算子快速开发出量子-经典混合机器学习模型,助力量子人工智能算法的突破。晟斯MindSporeScience蛋白质结构预测性能提升2-3倍MindSpore+Ascend910单卡端到端性能比原来的AlphaFold2提升了2-3倍。传统的药物设计开发周期长且成本高,但了解蛋白质的空间结构可以大大缩短开发周期。因此,准确快速的蛋白质结构预测不仅可以快速获取或验证关键蛋白质结构,而且可以作为医疗健康和生物工程领域的有力工具。然而,传统的蛋白质结构预测方法存在计算精度不足的缺陷,而AlphaFold2的蛋白质结构预测工具的精度与实验方法相当。该工具可以分析2000+个氨基酸序列的蛋白质结构,覆盖99%以上的蛋白质序列[3]。模型部分与AlphaFold2相同。在多序列比对阶段,MMseqs2用于序列检索[4]。与原算法相比,端到端运算速度提高了2-3倍。图1圣思MindSpore全场景AI框架模型与AlphaFold2精度对比图2圣思MindSpore全场景AI框架预测的T1079蛋白结构预测与折叠,联合团队将发布创新全栈(算法+软件+硬件)敬请期待。参考文献【1】JumperJ,EvansR,PritzelA,etal.AlphaFold在CASP14上的应用与改进[J].Proteins:Structure,Function,andBioinformatics,2021【2】ChenL.DeepLearningandPracticewithMindSpore[M].SpringerNature,2021.【3】https://ftp.uniprot.org/pub/d...【4】MirditaM,OvchinnikovS,SteineggerM.ColabFold-让所有人都能进行蛋白质折叠[J].BioRxiv,2021年。
