华为全场景 AI 计算框架MindSpore开源!
华为Mindspore AI计算框架正式开源,标志着华为向自己的AI梦想,迈出了新的一步,而深度学习开源领域,又迎来了一位重量级的玩家。全场景适用、端云边协同、低门槛开发、高效分布式并行计算,MindSpore将为AI领域带来一场怎样的革命?
一家做硬件起家的公司,进入AI领域后也是专捡硬骨头啃。
起初,他们造芯,一做就是10年,一投就是4000亿,诞生了天罡、麒麟、N腾等我们耳熟能详的芯片。
如今,他们做AI框架,想要降低AI开发门槛,让开发者可以轻松的移植代码,并实现全场景按需协同。
这背后,只为了一个目的:万物互联。
是的,这家公司就是华为。
距离2018年10月10日华为轮值董事长徐直军在华为全连接大会上公布MindSpore,已经一年多了。
一年多前,华为让大家知道,在AI框架江湖将出现一个后起之秀;一年多后的今天,华为MindSpore首席科学家陈雷宣布,国内首个全场景AI计算框架MindSpore正式开源!
如此好用的框架将于4月份正式开始公测,到时开发者就可以亲身体验了。
MindSpore降世:为华为在2万亿美元大蓝海中保驾护航
华为副董事长胡厚曾经在华为全连接大会上表示:“我们面临的是一个2万亿美元的计算产业大蓝海。”
目前华为已经有了在这片巨大的蓝海中远航的硬件基础,那么接下来就要在软件上跟进。
然而,海上风浪大。
第一股风浪,就是技术战和贸易战,因此华为必须拥有自主可控的全场景计算框架来抵御这股足以掀翻整艘大船的风浪。
第二股风浪,是目前计算框架存在开发门槛高、运行成本高、部署难度大等等亟待解决的问题。
作为华为支持端、边、云全场景的开源深度学习训练推理框架,MindSpore一出生就承担着这个年纪不该有的重大使命。
往小处说,MindSpore当前主要应用于计算机视觉、自然语言处理等AI领域,能够为数据科学家和算法工程师提供设计友好、运行高效的开发体验,同时解决了N腾AI处理器原生支持及软硬件协同优化的问题。
往大处说,它的战略意义在于构筑面向全球的人工智能开源社区,推动人工智能软硬件应用生态繁荣发展。
强大的核心特性,助力高效实战开发
开发者只需要掌握张量(Tensor)、算子(Operator)、单元(Cell)以及模型(Model)这4个基本概念及Python编程基础,即可利用MindSpore提供的高级API进行实战开发。
陈雷介绍了Mindspore的关键特性路标的变化,并且承诺会不断根据开发者的需求,对Mindspore进行改进,力求满足开发者最关心、最核心的需求。
接下来我们看下MindSpore的核心特性。
自动微分
当前主流的深度学习框架主要有三种自动微分技术:网络在编译时转换为静态数据流图(TensorFlow),在静态图上做自动微分;以记录操作符重载的方式,动态生成数据流图(PyTorch),在动态图上自动微分。
而 MindSpore 采用基于源码转换的通用自动微分:以即时编译(JIT)的方式在中间表达(编译过程中程序的表达形式)上做自动微分变换,支持while/if/for等复杂的控制流结构、支持高阶函数和闭包等灵活的函数式编程方式。
自动并行
MindSpore自动并行能够用串行算法代码,自动实现分布式并行训练,并且保持高性能。分布式并行训练的范式有数据并行和模型并行,以及由这两种范式组合出来的混合并行。
MindSpore自动并行采用了一种全新的分布式并行训练模式,融合了数据并行、模型并行和混合并行。
高效数据处理
MindSpore中的MindData负责完成训练过程中数据的pipeline处理,包括数据加载、数据增强、导入训练,并提供简单易用的编程接口和覆盖CV/NLP等全场景的丰富数据处理能力。MindData提供c_transforms模块和py_transforms模块,来进行数据增强,用户也可以自定义算子来做数据增强。
高效图执行引擎
MindSpore的图处理操作,纵向看总共分为三层,分别是执行控制层、业务功能层、数据管理层。横向展开分析,可细分为六大步骤,分别是图准备、图拆分、图优化、图编译、图加载和图执行。通过上述图操作,MindSpore图引擎可以将前端下发的图转换为一种可以在N腾硬件上高效运行的图模式。
深度优化的模型集市
MindSpore计划2020年Q4提供超过30+的深度优化模型,可供开发者直接使用。
此外,MindSpore还提供了可视化工具,可以对单次训练可视化以及多次训练的模型溯源,帮助开发者快速发现模型训练过程的问题。
先进的设计理念,低门槛分布式全场景
MindSpore的推出,是基于华为对行业痛点的深刻洞察,即AI研究与应用之间存在巨大的鸿沟。
为了跨越这个鸿沟,MindSpore提出了三大设计理念。
新编程范式
基于数学原生表达的AI编程新范式,让开发者可以聚焦AI创新和探索,一行代码实现自动搜索并行策略,无需关注底层架构即可实现并行。
新执行模式
On-Device整图卸载执行,深度图优化,充分发挥算力。和友商相比,MindSpore上Resnet50图像分类的训练时间降低了23%,Bert中文预训练时间降低了62%,训练时间大幅缩短。
全场景按需协同
MindSpore实现了一套框架端边云全场景部署,一次开发多处高效执行,开发和部署效率直线上升。
全力服务好开发者、高校和开源社区,制定有针对性的扶持计划
华为深知,开发者、高校科研、开源社区是整个生态中,最关键的角色。针对三个不同的群体,华为分别给出了非常具体的定制化扶持计划。
针对开发者,提供:
- 线上免费资源
- 全年不少于10场的技术沙龙
- 举办MindSpore开发者大赛
针对高校,提供:
- 专项创新基金激励
- MindSpore教学扶持
针对开源社区,提供:
- 聘请顶级专家入驻社区
- 招募committer参与社区核心项目
- 欢迎企业和组织参与社区建设