汇聚4.5万开发者,华为MindSpore 1.0正式发布

2020 年 9 月 24 日 机器之心

机器之心发布

机器之心编辑部
2020 年 3 月 28 日,MindSpore 正式开源,备受广大开发者的关注。 从 4 月 30 日发布的 v0.2.0-alph a 版本,到 8 月 30 日发布的 v0.7.0-beta 版本,推出了数十个亮眼的新特性,9 月 ,在华为全联接大会上,MindSpore 正式发布 v1.0.0 版本(后简称 1.0)。
图1 MindSpore 1.0正式发布


开源6个月以来, MindSpore 收获了4.5w+名开发者,累计PR数1w+,下载使用用户遍布全球,覆盖亚洲、欧洲、南美、北美、非洲、等各地区,MindSpore Study Group(下简称MSG)启动4个月便在海内外多个城市顺利开展,深圳、杭州、苏州、上海、俄罗斯、新加坡、印尼均已建立MSG组织,做到了真正的全球化社区。


图2 MindSpore开源整体社区进展

1.0版 本是一 个里程碑,是alpha、beta版本的一个沉淀,也是未来版本的一个新起点。 下面用1分钟视频回顾一下MindSpore从发布、开源到1.0版本的整体历程和技术特性。

视频:MindSpore 1.0 版本1分钟特性总结


三大创新助力全场景AI应用

图3 MindSpore 1.0全景图介绍


创新一:全流程极简,多套件打造极致开发体验

1. 即开即用

当开发者开展新项目时,往往需要从清洗数据开始,到训练模型,推理部署等多个流程,流程复杂,耗时较久。在1.0版本中,官方提供了40+个典型的高性能模型,覆盖了CV、NLP、推荐、语音等各个领域,大家可以使用这些模型直接推理或者加载自己的数据集做Fine-tuning,这样可以节省大量训练的时间和成本,快速开发出智能的服务和应用。开发者们可以在官网的Hub页面中通过筛选条件,快速找到自己想要的预训练模型,实现模型开发套件,“即开即用”。

图4 MindSpore Hub官网页面


2. 所见即所得

1.0版本中,MindSpore提供了所见即所得的模型开发和调优套件。在模型开发阶段,MindSpore基于统一的自动微分引擎,支持用户用一行代码切换动态图和静态图模式,使得兼顾开发效率和执行效率。在模型调优阶段,MindInsight可视化调优工具帮助用户汇总和分析调优过程,并且向推荐合理的调优策略,加速模型调优过程

图5 MindSpore 模型调优套件



如果你已使用PyTorch训练模型,可以使用MindConverter工具加少量的代码开发,即可方便地迁移到MindSpore框架。同时MindSpore也支持PyTorch、TensorFlow Lite、Caffe的模型文件直接转为MindSpore模型。这样就能非常方便地使用MindSpore提供的全自动并行特性。

创新二:全自动并行,最大释放集群算力

图6 MindSpore自动并行详解图


  • 在算法层面,MindSpore拥有自动并行能力,可以根据集群配置对模型和张量自动切分,将串行算法进行自动并行,大大减少算法开发人员的分布式代码开发和调优的负担,使得算法调优时间从月级降到天级;
  • 在算子层面,MindSpore提供了算子级并行自动融合,通过细粒度pipeline的并行执行的方式,进一步提高计算性能;
  • 在硬件层面,MindSpore进行整图调度,可以根据计算特征,自动把算子调度到异构设备上执行,实现异构多核的高效并行执行;

在此基础上,MindSpore协同Ascend处理器,在分布式集群上达到了接近线性加速比,ResNet50网络训练吞吐量提升两倍,Bert-Large网络训练吞吐量提升3.2倍。开发者可以方便地使用MindSpore实现在多计算单元上并行计算,既能大幅减少开发量以及开发难度,又能使性能持平甚至优于手动设置。在ReID网络上进行混合并行,脚本代码量从130行,直接变为1行,且加速比能达到88%以上

创新三:全场景协同全场景协同,智能匹配端、边、云多样设备


MindSpore 1.0提供模型自适应生成能力,通过平衡模型精度和设备资源约束,自动搜索匹配的模型,开发者只需要做一次训练,得到的模型就可以在端、边、云等多处部署,可保证生成的精度损失小于1%;对于已经部署的模型,MindSpore提供了轻量化的端侧学习能力,发挥私人数据的价值,持续提升模型精度,让智能设备越用越懂你。

在框架方面,为了多样化设备的资源约束,MindSpore可以做到KB到MB级的弹性伸缩,既可以部署到高端手机,又可以部署到手表等对资源要求极为苛刻的设备,从而满足全场景部署的需求。


图7 MindSpore全场景协同

三大黑科技加速AI模型训练

黑科技一:二阶优化算法


常见的深度学习优化算法多为一阶算法,是否存在高阶的优化算法能够在不损失精度的同时,加速模型的收敛呢?常规的二阶优化算法虽然收敛速度快,但二阶矩阵求逆时间复杂。 在深度学习模型中, 常常在数百万的量级,此时二阶信息矩阵的逆无法计算。


MindSpore自研二阶优化算法THOR通过减少二阶矩阵求逆次数以及降低二阶矩阵的维度来降低求逆时间,在Bert-Large上,使用MLPerf测试集,达到71.2%精度仅需3000step,端到端训练时间为14min,极大的提升了模型的训练速度。

图8 MindSpore 二阶优化效果


黑科技二:图算融合优化


人工智能发展至今,业务场景的复杂度仅靠单一的模型套数据,使用框架训练早已满足不了需求,开发者通常会基于模型进行二次开发,手动改写网络,实现算子等。在传统的手写算子中,效率难以达到统一标准,极大的影响了开发人员的实现效率和网络的训练时间。MindSpore图算融合优化是通过分析和优化现有网络计算图逻辑,对原有计算逻辑进行拆分、重组、融合等操作,以减少算子执行间隙的开销并且提升设备计算资源利用率,从而实现网络整体执行时间的优化。


在图算融合特性中,所有优化项均可以自动完成,在训练脚本中为context指定参数enable_graph_kernel=True从而启用图算融合,无需网络DSL感知。同时基于polyhedral技术实现融合算子编译,带来更加通用、高性能的算子融合能力。最后提供了自定义算子表达能力,相对更加易用,性能更高。


图9 MindSpore 图算融合流程图

黑科技三:轻量级神经网络推理框架MindSpore Lite


MindSpore Lite是MindSpore新发布的一个轻量级神经网络推理框架,它能大幅降低延迟,节省带宽,保护用户隐私,帮助开发者使能端侧及边缘侧AI能力。主要包含离线转换工具和轻量级运行时两部分。离线转换工具将MindSpore模型及第三方模型变得更小,运行更快;轻量级运行时可部署到智能手机、以及手表、耳机等资源受限(算力,存储,电量等)嵌入式设备。


在1.0版本中,模型转换工具支持直接在CPU+Windows环境上进行模型转换,支持多个session并行推理,以适应更多的使用场景,进一步加强了算子支持和性能优化,增强对CPU、GPU支持。


图10 MindSpore Lite架构图


三大行业案例推进AI落地应用


应用案例一:MindSpore助力分子动力学实现并行计算


分子动力学MD(Molecular Dynamics,下简称MD)模拟是一种计算机模拟方法,通过对分子、原子在在一定时间内运动状态的模拟,从而以动态观点考察系统所发生的物理及化学变化过程。传统分子动力学软件需要对手工处理并行(MPI)操作,并且在专用加速设备(如GPU)上运行需要单独编写对应代码,不同设备之间的迁移非常麻烦,存在精度和速度之间的矛盾。MindSpore的自动并行技术可以实现MD并行操作,运用TVM等技术实现代码在不同设备间的迁移,不仅简化了代码开发过程,而且能带来更快的计算速度和更高的计算精度。


应用案例二:MindSpore 助力Jina提供面向云原生的开源神经网络搜索能力


Jina.ai是由MindSpore技术治理委员会成员肖涵博士主导的初创公司,致力于提供面向云原生的开源神经网络搜索能力。目前Jina社区团队完成了MindSpore框架的初步对接支持,成为了首个对接MindSpore应用集成商。Jina+MindSpore提供了业界少有的完整开源解决方案。


应用案例三:MindSpore 服务HMS ML Kit 270+智能应用


MindSpore助力华为1+8+N战略,已经集成在了包括HMS ML Kit在内的多种端边云系统中,以MLKit为例,作为内置AI引擎MindSpore Lite为超过270款智能应用提供服务,每天的调用次数达到1.18亿次。此外,MindSpore已经落地华为云,作为ModelArts内置的AI引擎,为广大开发者提供一站式全流程AI服务;当前包括华为内部用户,基于ModelArts提供900+实时在线推理服务,同时在训练集群稳定对外提供每天1100+次训练任务。


开源六个月,社区繁荣度持续增加

自开源以来,MindSpore汇聚了4.5w+开发者下载使用,1500+来自全球核心贡献者持续参与代码贡献;每月末的版本迭代,MindSpore都会发布1分钟特性视频,给大家从不同的角度科普版本技术亮点,播放量超30w+,官网访问量900w+;除了特性介绍的短视频外,MindSpore还针对初级开发者,与机器之心联合开展系列直播『轻松上手MindSpore』,收获3w+播放量,培养2500+活跃开发者;针对中级开发者开展了四期月末两日集训营,广受开发者好评,培养100+核心用户,为MindSpore技术生态贡献。

为了让全国各地的开发者能在当地汇聚在一起,共享AI前沿技术分享,2020年5月MSG正式启动开始,相继在深圳、杭州、苏州、上海、俄罗斯、印尼、新加坡等多个海内外城市开展活动,了解每位优秀开发者对开源生态独有的视角,享受与大咖们面对面交流的时刻。作为一个所有开发者都能参与的开源开放的社区,MSG成立的宗旨是希望能够帮助所有有志于在开源社区做出贡献,收获知识。


未来在MindSpore开源社区,华为会继续开展面向不同个层级的开发者的培训活动,培养出优秀开发者和布道师,让每一位想要了解MindSpore的开发者们都有机会体验MindSpore,让更多的人参与到开源中来,感受到开源的魅力,共建繁荣生态。

文为机器之心发布,转载请联系本公众号获得授权

✄------------------------------------------------

加入机器之心(全职记者 / 实习生):hr@jiqizhixin.com

投稿或寻求报道:content@jiqizhixin.com

广告 & 商务合作:bd@jiqizhixin.com

登录查看更多
0

相关内容

MindSpore:新一代AI开源计算框架。 创新编程范式,AI科学家和工程师更易使用,便于开放式创新;该计算框架可满足终端、边缘计算、云全场景需求,能更好保护数据隐私;可开源,形成广阔应用生态。 2020年3月28日,华为在开发者大会2020上宣布,全场景AI计算框架MindSpore在码云正式开源。 MindSpore着重提升易用性并降低AI开发者的开发门槛,MindSpore原生适应每个场景包括端、边缘和云,并能够在按需协同的基础上,通过实现AI算法即代码,使开发态变得更加友好,显著减少模型开发时间,降低模型开发门槛。通过MindSpore自身的技术创新及MindSpore与华为昇腾AI处理器的协同优化,实现了运行态的高效,大大提高了计算性能;MindSpore也支持GPU、CPU等其它处理器。
最新《自动微分》综述教程,71页ppt
专知会员服务
21+阅读 · 2020年11月22日
中国工业机器视觉产业发展白皮书,31页pdf
专知会员服务
101+阅读 · 2020年11月14日
【干货书】Pytorch自然语言处理,210页pdf
专知会员服务
164+阅读 · 2020年10月30日
《2020人工智能医疗产业发展蓝皮书》发布
专知会员服务
113+阅读 · 2020年9月11日
重磅发布:基于 PyTorch 的深度文本匹配工具 MatchZoo-py
中国科学院网络数据重点实验室
16+阅读 · 2019年8月26日
PyTorch 学习笔记(五):Finetune和各层定制学习率
VS Code Remote发布!真·远程开发
开源中国
6+阅读 · 2019年5月3日
官方解读:TensorFlow 2.0 新的功能特性
云头条
3+阅读 · 2019年1月23日
PyTorch 1.0 正式版发布了!
机器学习算法与Python学习
4+阅读 · 2018年12月8日
PyTorch 1.0 稳定版正式发布!
新智元
3+阅读 · 2018年12月8日
快讯 | Facebook将推出PyTorch 1.0,整合Caffe2 + PyTorch
大数据文摘
3+阅读 · 2018年5月3日
发布TensorFlow 1.4
谷歌开发者
7+阅读 · 2017年11月23日
Arxiv
0+阅读 · 2020年12月2日
Arxiv
0+阅读 · 2020年12月2日
Facetwise Mesh Refinement for Multi-View Stereo
Arxiv
0+阅读 · 2020年12月1日
VIP会员
相关资讯
重磅发布:基于 PyTorch 的深度文本匹配工具 MatchZoo-py
中国科学院网络数据重点实验室
16+阅读 · 2019年8月26日
PyTorch 学习笔记(五):Finetune和各层定制学习率
VS Code Remote发布!真·远程开发
开源中国
6+阅读 · 2019年5月3日
官方解读:TensorFlow 2.0 新的功能特性
云头条
3+阅读 · 2019年1月23日
PyTorch 1.0 正式版发布了!
机器学习算法与Python学习
4+阅读 · 2018年12月8日
PyTorch 1.0 稳定版正式发布!
新智元
3+阅读 · 2018年12月8日
快讯 | Facebook将推出PyTorch 1.0,整合Caffe2 + PyTorch
大数据文摘
3+阅读 · 2018年5月3日
发布TensorFlow 1.4
谷歌开发者
7+阅读 · 2017年11月23日
Top
微信扫码咨询专知VIP会员