最近,国内开源界发生了不少大事,继清华开源了计图,旷视开源天元之后,3 月 28 日,在华为开发者大会 2020(Cloud)第二天,华为宣布全场景 AI 计算框架 MindSpore 在码云正式开源。
MindSpore 发布于 2019 年 8 月。华为公司轮值董事长徐直军表示,MindSpore 的推出,标志着华为全栈全场景 AI 解决方案(Portfolio)的构建,也标志着华为 AI 战略的执行进入了新的阶段。
MindSpore开源并不意外,早在去年,华为就透露今年春天将开源MindSpore的消息。
三大特性
AI 的研究和生产之间存在巨大的鸿沟。
一方面,在学术界,AI 相关的研究持续升温,各种模型算法、诉求层出不穷;另一方面,工业界的 AI 模型应用层出不穷。各种不同的场景,如平安城市、智慧交通、生物医疗等,都需要非常大的数据集和完备的功能,以适应特定的需求。
现有的框架大多数开发门槛高,全场景能力不足,异构性差。而使用 MindSpore 架构就不用担心这些问题。
华为 MindSpore 首席科学家陈雷表示,它有以下三个特性:
开发态友好:AI算法即代码
通过自动微分、自动运行、自动调优,使代码量减少20%,同时效率提升50%;
运行态高效:面向昇芯片优化
通过图算子编译加速以及神经网络并行,协同生成芯片的算力,实现1.6倍性能优势
部署态灵活:全场景按需协同
通过自适应的部署技术,实现IoT设备到云灵活部署,它的模型可大可小。
自动并行,降低开发门槛
在 AI 训练过程中,分布式训练非常重要。开发者不仅要设计算法逻辑,还需要分析数据量,参数量、网络拓扑,模型切分策略等,设计一个性能较好的并行训练策略。更糟糕的是,这些并行序列的优化细节与算法业务无关,却需要算法科学家进行大量的工作。
随着算法和模型越来越大,混合运行尤其重要,为此 MindSpore 实现了自动并行功能。只需要一行代码就能自动混合并行,无需关注系统细节,而且保证性能。
举个例子,当分类数逐渐增加到 1 千~3 万左右时,自动并行跟手工并行策略性能持平;但是当分类数增加到 6 万~13 万左右时,自动并行的性能就完全超过了手工并行策略;当分类数超过 26 万时,手工并行已经法无执行,而自动并行则不受影响。
同时,MindSpore 用一行代码完成了 PPT 调试和运行的切换,既方便了用户调试,又能保证运行使用性能。
黑盒模型的调试也不用担心。MindSpore 的可视化工具可以实现训练过程可视化、数据可视化、模型溯源、模型对比等功能。
在软硬件协同加速方面,MindSpore 团队也做了很多工作。
在框架层,团队采取了 Pipeline 并行和跨层内存复用的方法来进行加速。数据流曲线是指在数据处理和模型训练过程中进行内部计算,利用训练的时间去覆盖数据处理时间,保证生成芯片一直处于计算状态,提高了芯片的利用率。
在软硬协同方面,MindSpore 将整张计算中下沉到芯片,使得所有的计算都在芯片上运行,这样充分发挥了昇腾的算力。
4 月将进行公测
今年 1 月,华为已经同步完成了 HMS4.0 ML Kit 商用发布。在即将到来的 4 月,MindSpore 将在 ModelArts 实现公测。届时,大家就可以体验 MindSpore了。在端侧,MindSpore 将在 HMS ML Kit 的智慧服务中提供 10 多种功能。
据陈雷透露,MindSpore 团队在近一年会根据用户的反馈和诉求,持续调整计划的优先级。团队将提供更多的预置模型,补齐 API 和算法库,不断优化性能和软件架构,完善可视化调整、调试、调优安全和相关的工具。
在本次开源后,华为将致力于构建碰蓬勃发展的生态。主要从开发者扶植、高校科研合作、开源社区合作三个方面着手。
开发者扶植:线上免费体验资源、全年举办最少 10 场线下沙龙、举办 MindSpore 开发者大会;
高校科研合作:专项基金课题开放(包括 AI+HPC、下一代框架),MindSpore 教学扶植计划;
开源社区:招募 Committer 参与社区项目。
传送门:
MindSpore 开源社区:https://www.mindspore.cn
MindSpore 代码托管:https://gitee.com/mindspore
雷锋网雷锋网雷锋网