什么是全场景AI计算框架MindSpore?

摘要:MindSpore是华为公司推出的新一代深度学习框架,是源于全产业的最佳实践,最佳匹配昇腾处理器算力,支持终端、边缘、云全场景灵活部署,开创全新的AI编程范式,降低AI开发门槛。

MindSpore是华为公司推出的新一代深度学习框架,是源于全产业的最佳实践,最佳匹配昇腾处理器算力,支持终端、边缘、云全场景灵活部署,开创全新的AI编程范式,降低AI开发门槛。2018年华为全联接大会上提出了人工智能面临的十大挑战,其中提到训练时间少则数日多则数月,算力稀缺昂贵且消耗大,仍然面临没有“人工”就没有“智能”等问题。这是一项需要高级技能的、专家的工作,高技术门槛、高开发成本、长部署周期等问题阻碍了全产业AI开发者生态的发展。为了助力开发者与产业更加从容地应对这一系统级挑战,新一代AI框架MindSpore具有编程简单、端云协同、调试轻松、性能卓越、开源开放等特点,降低了AI开发门槛。

编程简单MindSpore函数式可微分编程架构可以让用户聚焦模型算法数学原生表达。资深的深度学习开发者都体会过手动求解的过程,不仅求导过程复杂,结果还很容易出错。所以现有深度学习框架,都有自动微分的特性,帮助开发者利用自动微分技术实现自动求导,解决这个复杂、关键的过程。深度学习框架的自动微分技术根据实现原理的不同,分为以Google的TensorFlow为代表的图方法,以Facebook的PyTorch为代表的运算符重载,以及以MindSpore为代表的源码转换方法(Source to Source,S2S自动微分技术),如图1.1所示。

什么是全场景AI计算框架MindSpore?插图

图方法实现简单,并且图的数据结构容易进行优化和并行。不过图方法的可编程性一直饱受争议,用户需要理解图的概念和接口,例如数据节点、通信节点、计算节点、数据边、依赖边、引用边等,存在一定的学习成本。并且,在图方法中控制流、高阶导的表示较为复杂。运算符重载方式比较符合用户尤其是研究人员的编程习惯,很受学术界欢迎。不过这种方式需要使用宿主语言(Host Language)的解释器,并且使用Tape模式去记录运行过程,所以开销比较大,同时这种动态方式也不利于反向性能优化。

S2S自动微分技术,兼顾了可编程性和性能。一方面能够和编程语言保持一致的编程体验;另一方面它是中间表示(Intermediate Representation,IR)粒度的可微分技术,可复用现代编译器的优化能力,性能也更好。S2S自动微分技术使用了高效易调试的可微编程架构。首先在接口层提供Python编程接口,包括控制流表达,利于用户快速入门,如代码1.1所示。第一步用Python代码定义一个计算图(函数)。第二步,利用MindSpore提供的反向接口进行自动微分,这一步的结果是一个反向的计算图(函数)。第三步给定一些输入,就能获取第一步中的计算图(函数)在给定处的导数。在这个例子中,自动微分的结果是图中所有输入的导数。MindSpore的反向接口同样提供选项计算某一个或者一部分输入的导数。

代码1.1 原生Python编程体验

原文链接:https://zhuanlan.zhihu.com/p/337297747

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享