全新的昇思MindSpore全场景AI框架1.6版本已发布。此版本中昇思MindSpore全场景AI框架易用性不断改进,提升了开发效率,控制流性能提升并支持副作用训练,与此同时,昇思MindSpore全场景AI框架发布高效易用的图学习框架昇思MindSpore Graph Learning,高性能可扩展的强化学习计算框架昇思MindSpore Reinforcement,提供支持第三方框架模型迁移工具,让用户即时体验的开发套件昇思MindSpore Dev ToolKit,同时升级自定义算子能力支持高效添加算子,丰富MindSpore Quantum量子模块支持可快速上手,持续提升框架的训练与推理性能。
下面就带大家快速浏览昇思MindSpore全场景AI框架1.6版本的关键特性。
一系列用户调研和访谈,对开发者反馈较多的API问题进行整改优化,并打造系列教程,帮助开发者上手;同时,昇思MindSpore全场景AI框架积极吸纳开发者参与内容建设,累计吸引142名外部开发者贡献610+技术干货案例,覆盖安装、开发调优等关键场景,为开发者提供经验指导。在调试、调优等功能特性上,昇思MindSpore全场景AI框架进行了系统的改进,帮助开发者提升开发效率:
- 在功能调试方面,支持静态图模式的问题代码堆栈打印、优化错误描述提升报错准确性,为用户提供更好的问题处理体验。
- 昇思MindSpore Insight提供集群性能数据一键收集、并行策略分析、图码联动可视化调优等功能,提升开发者性能和精度调优效率。
- 在ModelZoo模型方面,提供300+线上线下一致、覆盖CV/NLP/推荐等领域、支持跨平台部署的模型,并满足人工智能计算中心、金融、制造、终端等行业需求。基于新版本高效语法,重构Yolo v5等ModelZoo模型,为开发者提供昇思MindSpore全场景AI框架模型最佳实践。
在之前发布的昇思MindSpore全场景AI框架版本中,控制流训练场景下存在复制子图的问题,该问题会导致执行网络性能变差、副作用训练场景结果不对等问题。最新的昇思MindSpore全场景AI框架1.6.1版本,我们对控制流的IR表达设计进行了重构,消除了不必要的图复制,对控制流场景下各方面进行了较大的优化。2. 优化控制流子图数量,反向网络可直接复用正向图算子结果,不需要重复计算正向图,提升了执行性能和编译性能。例如:AirNet网络子图数量由原来的162个降低至46个,减少了大量冗余计算,执行性能由12.3s/epoch优化至5.8s/epoch。
AirNet网络优化前后子图数量与执行性能对比BFGS网络子图数量由原来的3236个降低至91个,执行性能由4.9s/epoch优化至0.6s/epoch。
3. 支持数据无依赖子图并行执行,同时优化了空子图执行流程,整体上提升控制流场景执行性能。例如:Mappo(Agent3)网络优化前后子图数量无变化,但是由于我们优化了无数据依赖的子图的并行执行能力和空子图执行过程,网络最终执行性能由2.5s/epoch提升至1.8s/epoch。
Mappo(Agent3)网络优化前后子图数量与执行性能对比3. 昇思MindSpore Graph Learning:公式即代码,训练加速3到4倍
图数据能自然表达真实世界对象之间的关系,表征能力和可解释性强,图学习也逐步广泛应用于电商推荐、金融风控、药物分子分析和控制优化等场景,图关系大都错综复杂,数据规模较大,通常有数十亿点,数百亿边,点边类型有几百种,图神经网络计算更加复杂耗时,因此迫切需要高效的图神经网络系统。同时,GNN算法的快速发展,需要易用的系统允许自由扩展。昇思MindSpore Graph Learning是由James Cheng课题组(香港中文大学)、华为昇思MindSpore团队联合研发的图学习框架,具有高效性、易用性等特点。
通过创新性的提出以节点为中心的编程范式,相较于消息传递范式,更贴近GNN算法逻辑和Python语言风格,昇思MindSpore Graph Learning可以做到公式到代码的直接映射,如下图GAT网络代码所示。基于此,用户无需进行任何函数封装,即可快速直接地实现自定义的GNN算法/操作。基于昇思MindSpore全场景AI框架的图算融合和自动算子编译技术(AKG)特性,创新提出基于索引的非规则内存访问算子融合,自动识别GNN模型运行任务特有执行pattern并进行融合和kernel level优化。相较于其他框架对常用算子进行定制优化的方案更加灵活,更具扩展性,能够覆盖现有框架中已有的算子和新组合算子的融合优化。以昇思MindSpore全场景AI框架作为后端,昇思MindSpore Graph Learning能使GNN网络训练获得3到4倍的性能加速。
框架中已经自带实现十三种图网络学习模型,涵盖同构图、异构图、 随机游走等类型的应用网络。4. 高性能可扩展的强化学习计算框架:昇思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版本已支持单机训练,后续版本将提供更强大的多智能体分布式训练能力,以及更加丰富的特性支持,敬请大家持续关注。
© 版权声明
本文转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权或其它疑问请联系
AIGC工具导航或
点击删除。