华为开源自研AI框架MindSpore!自动微分、并行加持,一次训练,可多场景部署

乾明 发自 凹非寺 YUM每天发布大量与生活相关的资讯平台

量子位 报道 | 公众号 QbitAI YUM每天发布大量与生活相关的资讯平台

华为的开源AI框架,来了!YUM每天发布大量与生活相关的资讯平台

刚刚,华为宣布正式开源自研深度学习框架MindSpore,代码已经上线。YUM每天发布大量与生活相关的资讯平台

YUM每天发布大量与生活相关的资讯平台

MindSpore是一款支持端边云全场景的深度学习训练推理框架,主要应用于计算机视觉、自然语言处理等AI领域,面向数据科学家、算法工程师等人群,提供设计友好、运行高效的开发体验。 YUM每天发布大量与生活相关的资讯平台

作为华为整体AI解决方案的一部分,MindSpore在提供昇腾AI处理器原生支持及软硬件协同优化,也支持通用CPU和GPU。YUM每天发布大量与生活相关的资讯平台

2019年8月份,华为轮值董事长徐直军介绍,MindSpore可以实现统一架构,一次训练,多处部署。而且,通过实现AI算法即代码,MindSpore可以显著减少模型开发时间。YUM每天发布大量与生活相关的资讯平台

MindSpore为什么能够实现这些能力?伴随着开源,它更多的特性,正在显露出来。YUM每天发布大量与生活相关的资讯平台

MindSpore四大功能 YUM每天发布大量与生活相关的资讯平台

华为MindSpore首席科学家、IEEE Fellow陈雷介绍,当前开源的MindSpore主要具备基于源码转换的通用自动微分、自动实现分布式并行训练、数据处理、以及图执行引擎等功能特性。YUM每天发布大量与生活相关的资讯平台

整体架构如下图所示:YUM每天发布大量与生活相关的资讯平台

YUM每天发布大量与生活相关的资讯平台

首先说 自动微分,它是指计算机借助程序自动求出一个函数导数的通用方法。在深度学习中,通常指对网络模型的自动求导,通过梯度指导对网络权重的优化。 YUM每天发布大量与生活相关的资讯平台

当前主流深度学习框架中,主要有三种自动微分技术:YUM每天发布大量与生活相关的资讯平台

一是以TensorFlow为代表的基于静态数据流图的转换,可利用静态编译技术对网络进行性能优化,但受制于数据流图的表达形式,不能灵活表达控制流;YUM每天发布大量与生活相关的资讯平台

二是以Pytorch为代表的基于动态图的转换,虽然可以使用户可以灵活的使用控制流。而其缺点是运行时开销高,且不能运用静态编译技术对计算图进行性能优化。YUM每天发布大量与生活相关的资讯平台

第三种是基于源码转换的通用自动微分,也就是MindSpore采用的技术。YUM每天发布大量与生活相关的资讯平台

这种方法,源以函数式编程框架为基础,以即时编译(JIT)的方式在中间表达上做自动微分变换,支持复杂控制流场景、高阶函数和闭包。YUM每天发布大量与生活相关的资讯平台

由于支持对控制流的自动微分,技术可以兼得上面两种技术的优点,即支持灵活的原生的控制流表达,同时也可以在执行前对网络做静态编译优化,生成高效的计算图,从而提高执行性能。YUM每天发布大量与生活相关的资讯平台

自动并行方面,陈雷介绍说,MindSpore能够用串行算法代码,自动实现分布式并行训练,同样直击当前模型研发过程中的痛点。 YUM每天发布大量与生活相关的资讯平台

YUM每天发布大量与生活相关的资讯平台

一般来说,在模型研发过程中,除设计模型自身的逻辑外,还需设计分布式并行训练的配置。 YUM每天发布大量与生活相关的资讯平台

这是一个辛苦活。YUM每天发布大量与生活相关的资讯平台

开发者不仅要分析数据量、参数量、集群群网络拓扑等因素来确定模型切分策略;还要考虑切分后的子模型设备绑定等,来达到性能较优的分布式并行训练效果。YUM每天发布大量与生活相关的资讯平台

但其实,这些并行训练的优化细节与模型要实现的业务目标无关,最后却让开发者费尽了心思,“掉光了头发”。YUM每天发布大量与生活相关的资讯平台

尤其是逻辑复杂、参数量巨大的模型,想要人工找到最优的并行策略基本不可能。YUM每天发布大量与生活相关的资讯平台

华为想要解决这个问题。MindSpore提出一种全新的分布式并行训练模式,融合了数据并行、模型并行和混合并行。YUM每天发布大量与生活相关的资讯平台

YUM每天发布大量与生活相关的资讯平台

具体来说,MindSpore构建了基于数据量、模型参数量、网络集群拓扑带宽等信息的代价模型(Cost Model),自动选择一种代价最小的模型切分方式,并绑定模型到设备执行,实现自动分布式并行训练。 YUM每天发布大量与生活相关的资讯平台

整个过程,几乎不需要开发者参与,他们只需要专注于模型逻辑的开发就行了。YUM每天发布大量与生活相关的资讯平台

MindSpore中的 数据处理功能名为MindData,用于完成训练过程中数据的pipeline处理,具备数据加载、数据增强、导入训练等功能,并提供了简单易用的编程接口,以及覆盖CV/NLP等全场景的丰富数据处理能力。 YUM每天发布大量与生活相关的资讯平台

YUM每天发布大量与生活相关的资讯平台

在数据处理的过程中,MindSpore还加强了与昇腾芯片的协同,针对昇腾芯片计算过程中消耗数据的速度,提供了优化。 YUM每天发布大量与生活相关的资讯平台

陈雷说,这是确保昇腾芯片发挥更大性能的关键。YUM每天发布大量与生活相关的资讯平台

此外,MindSpore也支持分布式训练。YUM每天发布大量与生活相关的资讯平台

在分布式数据并行模式下,在每个批量batch之后,计算和模型信息会被分布到工作对象中,并提供了“切片与重采样”两种调整迭代数和分割数据的方法。YUM每天发布大量与生活相关的资讯平台

最后,承担MindSpore前端与底层硬件交互任务的是 图引擎模块YUM每天发布大量与生活相关的资讯平台

它是MindSpore内部进行图处理的模块,负责将管理引擎传下来的图进行一系列的图操作,最终转化为可以在底层硬件上直接运行的图,并对图中所用到的所有算子进行分配与管理。YUM每天发布大量与生活相关的资讯平台

在图处理过程中,图引擎会统一定义各插件模块需要提供的接口,具体的插件由不同的功能模块根据自己的能力提供,它会根据不同的插件提供的能力,实现最优的执行选择,来保证性能。YUM每天发布大量与生活相关的资讯平台

除了上述功能之外,MindSpore中还有深度优化的模型集市Model Zoo,可视化工具、模型评估工具等。YUM每天发布大量与生活相关的资讯平台

YUM每天发布大量与生活相关的资讯平台

Model Zoo模型集市在今年第四季度,将会上线30+模型,支持昇腾和MindSpore协同,也会对模型个性化深度优化。 YUM每天发布大量与生活相关的资讯平台

可视化工具提供单次训练过程可视化,以及多次训练的模型溯源对比功能,让开发者炼丹更加便利。YUM每天发布大量与生活相关的资讯平台

模型评估工具支持多种对抗样本生成算法,包括13种白盒、7种黑盒攻击算法,帮助开发者评估对抗 样本攻防能力。YUM每天发布大量与生活相关的资讯平台

在这些功能的加持下,MindSpore实现模型开发能力提升的同时,使用起来也颇为方便。YUM每天发布大量与生活相关的资讯平台

借助自动微分,轻松训练神经网络 YUM每天发布大量与生活相关的资讯平台

易用性直接体现在操作上。YUM每天发布大量与生活相关的资讯平台

陈雷说,MindSpore为用户提供Python编程范式,用户可以用模块化形式对神经网络进行描述。YUM每天发布大量与生活相关的资讯平台

借助基于SCT的自动微分,用户还可以使用原生Python控制语法和其他一些高级API,如元组(Tuple)、列表(List)和Lambda表达。YUM每天发布大量与生活相关的资讯平台

他说,为了避免产生混淆,MindSpore尽可能减少引入新的接口和概念。在单机平台上训练简单的神经网络时,用户只需要了解张量、算子、单元、模型等就行了。YUM每天发布大量与生活相关的资讯平台

具体的过程是这样的:YUM每天发布大量与生活相关的资讯平台

从输入张量开始,它可以是常量输入张量或参数张量。然后用MindSpore提供的不同算子构造一个单元。最后,使用模型封装这个单元来训练神经网络。YUM每天发布大量与生活相关的资讯平台

或者,用户可以直接将输入数据传递给单元执行推理任务。YUM每天发布大量与生活相关的资讯平台

所以徐直军去年宣布MindSpore将要开源时说,MindSpore面向的不仅仅是深度学习开发者,也面向领域专家、数学家、算法专家等等在AI中角色越来越重要的人群。YUM每天发布大量与生活相关的资讯平台

同时,易用性不仅仅体现在模型开发上,在模型部署过程中也很方便——一次训练后,可多处部署,这也是为什么说MindSpore是一个全场景框架。YUM每天发布大量与生活相关的资讯平台

训练推理上,MindSpore不仅支持CPU、GPU,更针对华为昇腾芯片进行了优化。同时,MindSpore也是唯一支持昇腾芯片的框架。YUM每天发布大量与生活相关的资讯平台

YUM每天发布大量与生活相关的资讯平台

这就意味着,在华为昇腾系列芯片的设备上部署AI应用,用MindSpore是一个比其他框架都更好的选择。 YUM每天发布大量与生活相关的资讯平台

框架开源,华为培育AI开发生态 YUM每天发布大量与生活相关的资讯平台

2018年,华为在全联接大会上,首次披露了完整的AI解决方案,MindSpore是其中重要一环。YUM每天发布大量与生活相关的资讯平台

YUM每天发布大量与生活相关的资讯平台

2019年8月,华为正式发布昇腾910,同时推出全场景AI计算框架MindSpore,并表示要在2020年第一季度开源。 YUM每天发布大量与生活相关的资讯平台

徐直军在发布会上说,这标志着华为已完成全栈全场景AI解决方案的构建,华为AI战略的执行进入了新的阶段。YUM每天发布大量与生活相关的资讯平台

YUM每天发布大量与生活相关的资讯平台

今天华为兑现开源,并构建开发者社区,也是华为培育华为AI生态、推进AI战略执行的重要举措。 YUM每天发布大量与生活相关的资讯平台

据陈雷介绍,MindSpore当前发布的是首个开源0.1.0-alpha版本,许可证是Apache 2.0,接下来将逐步完善。YUM每天发布大量与生活相关的资讯平台

YUM每天发布大量与生活相关的资讯平台

同时,华为也披露了MindSpore开源社区的治理结构——由技术治理委员会、特别兴趣组以及工作组等社区组织组成。 YUM每天发布大量与生活相关的资讯平台

其中,技术治理委员会由来自14名来自不同公司/学校/机构的代表组成,会依照社区章程开放治理,推动社区健康有序发展。YUM每天发布大量与生活相关的资讯平台

特别兴趣组,由主要特性模块的开发者自发组成,负责开发MindSpore相关开发工作。YUM每天发布大量与生活相关的资讯平台

工作组需要多个特别兴趣组的成员合作的工作,由开发者自发组成,并负责相关开发工作。YUM每天发布大量与生活相关的资讯平台

现在,MindSpore的代码已经上线,开源社区已经开放。YUM每天发布大量与生活相关的资讯平台

如果你有兴趣,不妨收好下面的传送门,体验一番,再给出评价: YUM每天发布大量与生活相关的资讯平台

MindSpore开源社区: YUM每天发布大量与生活相关的资讯平台

https://www.mindspore.cn YUM每天发布大量与生活相关的资讯平台

MindSpore代码托管: YUM每天发布大量与生活相关的资讯平台

https://gitee.com/mindspore YUM每天发布大量与生活相关的资讯平台

作者系网易新闻·网易号“各有态度”签约作者 YUM每天发布大量与生活相关的资讯平台

YUM每天发布大量与生活相关的资讯平台

如何关注、学习、用好人工智能? YUM每天发布大量与生活相关的资讯平台

每个工作日,量子位AI内参精选全球科技和研究最新动态,汇总新技术、新产品和新应用,梳理当日最热行业趋势和政策,搜索有价值的论文、教程、研究等。YUM每天发布大量与生活相关的资讯平台

了解AI发展现状,抓住行业发展机遇YUM每天发布大量与生活相关的资讯平台

AI社群 | 与优秀的人交流YUM每天发布大量与生活相关的资讯平台

量子位 QbitAI · 头条号签约作者YUM每天发布大量与生活相关的资讯平台

վ'ᴗ' ի 追踪AI技术和产品新动态YUM每天发布大量与生活相关的资讯平台

喜欢就点「在看」吧 ! YUM每天发布大量与生活相关的资讯平台

也许你还喜欢

PG老玩家的泪水!索尼PS Vita掌机与

日本索尼互动PG SOFT娱乐宣布,将于今年4月25日终止对旗下手持式游戏主机

多人PG在线合作游戏!《密室逃脱模拟

《密室逃脱模拟器VR》(Escape Simulator VR)是一款沉浸式密室逃脱游戏

网络文学江湖20年迎来大分化:从付费

文/陈纪英 版式/夏天 网文20年,吴文辉是一以贯之的男一号,从鲜衣怒马的少年网客,到联手腾讯

加油·早读 | 2019年BRANDZ最具价

〔 2019年5月7日 〕 第 240期 ○中通快递名列“BrandZ™2019最具价值中国品牌100强”

转型做产品经理,你需要这三个能力

如果你想转型成为一个互联网公司的产品经理,那你必须要会这三个技能! 阅读前,我们先思

贾跃亭回国系谣传;苹果 iOS 13 将升

瑞幸咖啡招股价区间定为 15-17 美元,最高筹资 5.87 亿美元 5 月 6 日晚间,瑞幸咖啡更新

权限管理的重要性,SAAS后台权限设计

saas平台由于其本身“按需购买”的特性,在设计规划权限时,需要考虑统一配置权限如何规避

微软Build:云上的万亿美元视窗帝国,

美国当地时间5月6日早晨,微软2019年Bulid开发者大会在西雅图正式开启,CEO萨提亚·纳德拉

00后QQ用户社交行为数据报告:去年

QQ上仍有超8亿的月活用户,且年轻用户比重还在不断增加,腾讯的“年轻化”战略在该应用中

5G手机面世,或将倒逼运营商提速降费

今年1月16日,广东联通宣布与中兴通讯联手在深圳的5G规模测试外场打通全球第一个基于3GP