MindSpore 新版本(0.2.0-alpha)解读
MindSpore 新版本(0.2.0-alpha)解读
@font-face{ font-family:"Times New Roman"; } @font-face{ font-family:"宋体"; } @font-face{ font-family:"SimSun"; } @font-face{ font-family:"Symbol"; } @font-face{ font-family:"Courier New"; } @font-face{ font-family:"Wingdings"; } @font-face{ font-family:"Arial"; } @list l0:level1{ mso-level-number-format:bullet; mso-level-suffix:tab; mso-level-text:""; mso-level-tab-stop:36.0000pt; mso-level-number-position:left; margin-left:36.0000pt;text-indent:-18.0000pt;font-family:Symbol;font-size:10.0000pt;} @list l0:level2{ mso-level-number-format:bullet; mso-level-suffix:tab; mso-level-text:"o"; mso-level-tab-stop:72.0000pt; mso-level-number-position:left; margin-left:72.0000pt;text-indent:-18.0000pt;font-family:'Courier New';font-size:10.0000pt;} @list l0:level3{ mso-level-number-format:bullet; mso-level-suffix:tab; mso-level-text:""; mso-level-tab-stop:108.0000pt; mso-level-number-position:left; margin-left:108.0000pt;text-indent:-18.0000pt;font-family:Wingdings;font-size:10.0000pt;} @list l0:level4{ mso-level-number-format:bullet; mso-level-suffix:tab; mso-level-text:""; mso-level-tab-stop:144.0000pt; mso-level-number-position:left; margin-left:144.0000pt;text-indent:-18.0000pt;font-family:Wingdings;font-size:10.0000pt;} @list l0:level5{ mso-level-number-format:bullet; mso-level-suffix:tab; mso-level-text:""; mso-level-tab-stop:180.0000pt; mso-level-number-position:left; margin-left:180.0000pt;text-indent:-18.0000pt;font-family:Wingdings;font-size:10.0000pt;} @list l0:level6{ mso-level-number-format:bullet; mso-level-suffix:tab; mso-level-text:""; mso-level-tab-stop:216.0000pt; mso-level-number-position:left; margin-left:216.0000pt;text-indent:-18.0000pt;font-family:Wingdings;font-size:10.0000pt;} @list l0:level7{ mso-level-number-format:bullet; mso-level-suffix:tab; mso-level-text:""; mso-level-tab-stop:252.0000pt; mso-level-number-position:left; margin-left:252.0000pt;text-indent:-18.0000pt;font-family:Wingdings;font-size:10.0000pt;} @list l0:level8{ mso-level-number-format:bullet; mso-level-suffix:tab; mso-level-text:""; mso-level-tab-stop:288.0000pt; mso-level-number-position:left; margin-left:288.0000pt;text-indent:-18.0000pt;font-family:Wingdings;font-size:10.0000pt;} @list l0:level9{ mso-level-number-format:bullet; mso-level-suffix:tab; mso-level-text:""; mso-level-tab-stop:324.0000pt; mso-level-number-position:left; margin-left:324.0000pt;text-indent:-18.0000pt;font-family:Wingdings;font-size:10.0000pt;} p.MsoNormal{ mso-style-name:正文; mso-style-parent:""; margin:0pt; margin-bottom:.0001pt; mso-layout-grid-align:none; text-autospace:none; mso-pagination:none; line-height:150%; font-family:'Times New Roman'; mso-fareast-font-family:SimSun; font-size:10.5000pt; } span.10{ font-family:'Times New Roman'; } span.15{ font-family:'Times New Roman'; color:rgb(0,0,255); text-decoration:underline; text-underline:single; } p.MsoFooter{ mso-style-name:页脚; margin:0pt; margin-bottom:.0001pt; font-family:Arial; mso-fareast-font-family:SimSun; mso-bidi-font-family:'Times New Roman'; font-size:9.0000pt; } p.MsoHeader{ mso-style-name:页眉; margin:0pt; margin-bottom:.0001pt; layout-grid-mode:char; text-align:justify; text-justify:inter-ideograph; font-family:Arial; mso-fareast-font-family:SimSun; mso-bidi-font-family:'Times New Roman'; font-size:9.0000pt; } span.msoIns{ mso-style-type:export-only; mso-style-name:""; text-decoration:underline; text-underline:single; color:blue; } span.msoDel{ mso-style-type:export-only; mso-style-name:""; text-decoration:line-through; color:red; } table.MsoNormalTable{ mso-style-name:普通表格; mso-style-parent:""; mso-style-noshow:yes; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-padding-alt:0.0000pt 5.4000pt 0.0000pt 5.4000pt; mso-para-margin:0pt; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-family:'Times New Roman'; font-size:10.0000pt; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400; } @page{mso-page-border-surround-header:no; mso-page-border-surround-footer:no;}@page Section0{ } div.Section0{page:Section0;}
在3月底开源的MindSpore,在紧锣密鼓地一个月开发后,4月30日发布了0.2.0-alpha(后简称0.2)版本。有哪些关键更新呢?让我们用5分钟来快速了解下。
一、支持Windows使用
首先,给window 10系统用户带来了一个重要的更新,MindSpore 0.2版本支持了Windows安装。官方0.2文档已经正式发布,可以在官网中获取完整的安装指导,包括从编译到安装命令端到端的安装方式。 这里直接给出官网的安装命令,网络好,能力强的自信小伙伴可以直接动手:
pip install https://ms-release.obs.cn-north- 4.myhuaweicloud.com/0.2.0-alpha/MindSpore/cpu/x64_windows/mindspore-0.2.0-cp37-cp37m-win_amd64.whl
具体使用上和MindSpore的Linux CPU版本没有任何不同,可以支持LeNet网络进行图片分类,支持的算子等也都是一样的,使用Windows的小伙伴们快来体验吧!
二、多个模型Benchmark发布
MindSpore 0.2版本发布了benchmark,包含有机器视觉类常用网络ResNet-50 v1.5、自然语言处理常用网络BERT-Large,分别在1*Ascend 910、8*Ascend 910、16*Ascend 910等不同规格的昇腾AI处理器上训练速度和加速比。图片训练在16*Ascend 910场景下每秒处理27090张图片,自然语言处理在8*Ascend 910场景下每秒处理1613个句子,多机并行训练加速比达到0.95左右。具体信息可以移步 benchmark官方地址:https://www.mindspore.cn/docs/zh-CN/0.2.0-alpha/benchmark.html
ResNet50

图1 ResNet50 分布式训练性能数据
说明:以上数据基于华为云AI开发平台ModelArts测试获得,是训练过程整体下沉至Ascend 910 AI处理器执行所得的平均性能。业界其他开源框架数据可参考:ResNet-50 v1.5 for TensorFlow。
BERT

图2 BERT 分布式训练性能数据
说明:以上数据基于华为云AI开发平台ModelArts测试获得,其中网络包含24个隐藏层,句长为128个token,字典表包含21128个token。业界其他开源框架数据可参考:BERT For TensorFlow。
三、可视化工具功能强化
MindSpore 0.1版本发布时给大家带来了不小的惊喜,可视化功能已经包含有模型可视化、模型溯源、数据溯源等功能,帮助小伙伴直观观察网络调试过程。
参数直方图
0.2版本推出可视化组件的新特性“参数分布图”,支持可视化权重和梯度分布情况。支持在网络优化过程中,观察权重&梯度随训练过程的变化,可以帮助小伙伴在网络调优时,判断网络的优化进展。你只需要使用HistogramSummary算子记录感兴趣的权重和梯度,即可在MindSpore可视化组件中的训练看板生成数据的直方图,并观察他们的变化。当出现奇怪的权重数据分布时,可以快速直观得判断训练的健康程度。

图3 可视化工具参数直方图展示
溯源自定义和联动
溯源自定义可以帮助用户记录、查询模型迭代调试开发过程使用的模型超参和数据处理增强。大家只需要在模型训练测试过程添加TrainLineage/EvalLineage callback记录溯源信息,即可在MindInsight模型溯源和数据溯源标签页回溯查看。
支持通过user_defined_info参数记录自定义溯源信息。
支持模型参数和数据处理参数的筛选和排序。

图4 可视化工具模型溯源页面展示
模型溯源界面指定的筛选条件将会在数据溯源同步展示。反之,数据溯源得到的筛选结果也将在模型溯源界面体现,形成溯源信息查询联动。
四、总结
以上就是MindSpore 0.2版本关键特性。当然新版本还有不少特性,大家可以移步MindSpore ReleaseNote里找到完整介绍:
ReleaseNote:https://gitee.com/mindspore/mindspore/blob/master/RELEASE.md
MindSpore在不断的发展中,未来还会有更多好用的特性发布,这里也非常欢迎大家下载并体验MindSpore,参与到MindSpore开源社区建设中来。
Gitee:https://gitee.com/mindspore/mindspore
GitHub:https://github.com/mindspore-ai/mindspore
官方公众号:MindSpore
官方QQ群:871543436