新版本v0.5.0-beta解读

新版本v0.5.0-beta解读

大家好,每月一次的版本解读又和大家见面。经过一个月的开发,MindSpore发布了v0.5.0-beta版本(后简称0.5版本)。细心的小伙伴是否已经发现版本名称后缀由alpha变成beta了,看来MindSpore框架经过了一段时间的打磨,成熟度及完成度上升了一个小台阶。那么MindSpore在打怪升级之路上的新小小里程碑上又刻有哪些值得关注的TOP特性呢?让我们一睹为快吧。

按照惯例,先上1分钟宣传视频,大家能看出出现了哪些特性么?

MindSpore Always Be There For You

TOP特性:图算融合

使用图算融合技术定义算子是种什么体验?

图算融合,作为近期的热门,将算子与图层的表达进行统一,提供一种了简洁而统一的表达能力,作为算子的一种新的表达方式、融合方法、编译流程,让人有种通过Python写网络一样体验,让定义算子这种让人秃头的工作也变得生动鲜活起来。

在中间表达中,它用基础原语组成的子图来表达算子的内部计算逻辑,打破了原有算子和图层之间的信息边界。利用统一的表达能力,图算融合实现一种更通用的更细粒度的算子融合能力,通过分析和优化现有网络计算图逻辑,对原有计算逻辑进行拆分、重组、融合,在中间表达中自动形成融合子图。

在后端,这些融合子图会由AKG(Auto Kernel Generator)自动生成高性能的融合算子,且基于polyhedral实现了Auto schedule,从而实现网络整体执行时间的端到端深度优化。打开开关即可获得性能收益,例如在BERT中通过打开图算的使能开关可以获得14.8%的图算融合收益。

如果没看懂原理,没有关系,进入教程传送门,用起来:https://www.mindspore.cn/tutorial/zh-CN/master/advanced_use/graph_kernel_fusion.html

TOP特性:量化训练

越来越多的应用选择在移动设备或者边缘设备上使用深度学习技术,希望给用户提供更加智能、人性化的服务。但是这些设备往往受到内存、性能、磁盘空间大小的因素,限制了一些网络的使用范围。这时候,量化技术无疑是解决这方面问题的利器,它能在不明显降低精度的情况下,把模型尺寸减低为原来的25%~40%,同时能减少模型内存占用,加快模型推理速度,降低功耗等。

0.5版本,MindSpore也上线了量化训练部分,用户可以使用MindSpore进行量化训练。官方也在Model Zoo中提供了部分已经实现好的量化脚本。不过端侧量化推理部分还未正式上线,感兴趣的同学可以移步MindSpore gitee上的社区,点一个watch,就可以获取社区最新的开发进度。

Gitee社区:
https://gitee.com/mindspore/mindspore

教程链接:
https://www.mindspore.cn/tutorial/zh-CN/r0.5/advanced_use/aware_quantization.html

TOP特性:混合异构

MindSpore 0.5版本上线了混合异构特性,即支持网络中部分算子跑在Host端,部分算子跑在Device端。在一些网络执行过程中需要用到大量的内存,而Device内存无法满足训练要求,有了Host/Device异构执行,我们可以将操作大数据的算子设置在Host执行,从而解决网络无法在纯Device端训练的问题。

典型的,如Wide&Deep网络,当Embedding Table大到无法装入Device内存时,我们可以将操作EmbeddingTable的Lookup算子及优化器放到Host端执行以满足wide&deep大规模权重训练的要求。

教程链接:
https://www.mindspore.cn/tutorial/zh-CN/master/advanced_use/host_device_training.html

TOP特性:图神经网络

近两年,图神经网络的研究成为一个热门方向,在社交网络、知识图谱、推荐系统,生命科学等领域有广泛的应用场景;MindSpore新版本可支持图神经网络的训练,最典型的GCN和GAT网络在Cora和Citeseer数据集上做混合精度训练,平均精度如下。

CoraCiteseer
GCN81.5%71.5%
GAT83.0%72.5%

GAT:https://gitee.com/mindspore/mindspore/tree/r0.5/model_zoo/gat

GCN:https://gitee.com/mindspore/mindspore/tree/r0.5/model_zoo/gcn

TOP特性:可视化性能分析工具

MindSpore可视化组件(MindInsight)又更新了新的系统化的性能分析工具——Profiler,大家能够使用它来帮助理解、分析、调试并优化神经网络的性能。使用Profiler可以:

  • 方便地在训练脚本中启动、停止Profiler功能,收集性能分析数据;
  • 查看训练的迭代轨迹(指step间隔、前向/反向计算、AllReduce等各阶段时间占比)统计信息,快速定位性能瓶颈所在的阶段;
  • 分析神经网络中算子的执行性能,包括单算子性能分析和算子类型性能分析;
  • 分析训练数据准备(MindData)阶段的性能,定位数据算子的瓶颈所在;
  • 查看训练timeline,分析stream/task在Ascend芯片上的执行序列和执行时间。

教程链接:
https://www.mindspore.cn/tutorial/zh-CN/master/advanced_use/performance_profiling.html

总结

上面就是MindSpore 0.5版本的TOP新特性了,还是诚意满满。完整的版本更新信息,欢迎查阅RELEASE文档。

顺带提一句,我们上线了资源页面,把近期的学习资料都罗列了一遍,方便大家查询获取,欢迎大家移步获取食用。那么,我们下个月再见。

RELEASE文档:
https://gitee.com/mindspore/mindspore/blob/r0.5/RELEASE.md

官网资源页面:
https://www.mindspore.cn/resources/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值