清华深度学习框架 Jittor 开源,创新元算子和统一计算图,推理速度可提高 10%-50%

clipboard.png

近日,清华大学计算机系图形实验室宣布开源全新的深度学习框架:计图(英文名:Jittor),这也是我国首个高校自研的开源深度学习框架。前端

根据官网介绍,这是一个彻底基于动态编译(Just-in-time)、内部使用创新的元算子和统一计算图的深度学习框架。git

根据官方给出的特性对比来看,Jittor 与国际主流平台相比,具备多项先进特性。与同类型框架相比,Jittor 在收敛精度一致状况下,推理速度取得了 10%-50% 的性能提高。github

两大核心创新点:元算子和统一计算图

clipboard.png

据官网介绍,Jittor 有三个主要的设计理念:算法

  1. 易用且可定制:只须要数行代码,就可定义新的算子和模型。
  2. 实现与优化分离:能够经过前端接口专一于实现,而实现自动被后端优化。
  3. 全部都是即时的:Jittor 的全部代码都是即时编译而且运行的,包括 Jittor 自己。用户能够随时对 Jittor 的全部代码进行修改,而且动态运行。

而这些理念以及最终实现的能力,要归功于 Jittor 的两大核心创新点:元算子和统一计算图。编程

clipboard.png

了解深度学习的朋友可能知道,深度学习采用的卷积神经网络是由算子(Operator)组成的一个计算网络。因为架构设计和不断扩充等缘由,当前深度学习框架有多达 2000 种算子,系统复杂,优化和移植困难。后端

Jittor 则将算子运算进一步分解,造成了更加底层的三类 20 余种元算子闭包,目前神经网络经常使用算子都可以使用元算子的组合进行表达。微信

另外一方面,为了面向将来深度学习框架的发展趋势,Jittor 利用元算子组合表达的优点,提出统一计算图进行优化,并从底层开始设计了一个全新的动态编译架构。网络

该架构支持多种编译器,实现了全部代码的即时编译和动态运行,确保了实现和优化分离,大幅提高了应用开发灵活性、可拓展性和可移植性。闭包

其次,在算子的设置上,团队将元算子的反向传播进行了闭包,即元算子的反向传播也是元算子。这样避免了重复开发。此外,还支持计算任意高阶导数。架构

clipboard.png

根据官方给出的 Jittor 与其余平台的计算图特性对比来看,Jittor 与国际主流平台相比,具备多项先进特性。

clipboard.png

与同类型框架相比,Jittor 在收敛精度一致状况下,推理速度取得了 10%-50% 的性能提高。

在编程语言方面,Jittor 前端语言选择了 Python。前端使用了模块化的设计,相似于 PyTorch,Keras,用户能够编写元算子计算的 Python 代码,而后 Jittor 将其动态编译为 C++,从而提高性能。

后端则直接使用高性能语言编写,如 CUDA,C++。

盘点国内的深度学习框架

clipboard.png

之因此清华开源的 Jittor 引发你们普遍的讨论,很重要的一缘由是这是首个来自中国高校科研机构的开源深度学习框架,以前,来自高校的开源深度学习框架只有加拿大蒙特利尔大学的 Theano 和 UC Berkeley 的 Caffe。

中国做为人工智能产业发展和应用的最大市场,咱们理应在人工智能生态的全产业链上占有一席之地。下面咱们来盘点一下国内研发的规模较大的深度学习框架,若有遗漏,也欢迎你们在留言区进行补充:

1. 清华计图 Jittor

根据 Jittor 团队核心开发成员表示,Jittor 的基本功能于 2019 年末完成,随后通过内部测试,于近日正式对外发布并开源。

「计图」的意思是图谋、谋取。这个词儿最先出如今唐朝崔致远《答徐州时溥书》:“今有城中将校,潜来计图,请少振兵戎,即使期开泰者。”

虽然官方并未对中文名字做出解释,但据研发团队介绍称,深度学习发展迅猛,TensorFlow、PyTorch 这些老牌主流框架,也会在新模型,新算法,新硬件上表现不佳,因此须要新的框架,在易于扩展同时保持高效。

Jittor 官网: https://cg.cs.tsinghua.edu.cn...
Github 地址: https://github.com/Jittor/jittor

2. 腾讯优图 NCNN

NCNN 是腾讯优图实验室首个开源项目,于 2017 年 7 月正式开源。

这是一个为手机端极致优化的高性能神经网络前向计算框架。NCNN 从设计之初深入考虑手机端的部署和使用。无第三方依赖,跨平台,手机端 CPU 的速度快于目前全部已知的开源框架。基于 NCNN,开发者可以将深度学习算法轻松移植到手机端高效执行,开发出人工智能 APP。

NCNN 目前已在腾讯多款应用中使用,如 QQ,Qzone,微信,每天P图等。

Github 地址: https://github.com/Tencent/ncnn

3. 百度 PaddlePaddle

PaddlePaddle 做为国内首个深度学习开源平台,2013 年开始百度就投入精力进行研发,2016 年 8 月底正式开源。

PaddlePaddle 是一个全面的开源开放平台,包含核心的开发、训练、部署框架,以及很是丰富的模型库。基于这个模型库,PaddlePaddle 能够覆盖不少经典的应用场景,开发者能够进行二次开发,或者直接使用。在这个模型库的基础之上,PaddlePaddle 还提供了端到端的开发套件,聚焦在人工智能领域的常见任务和场景。

在端到端开发套件之上是一整套的工具组件,这些工具组件能够帮助开发者解决更多人工智能应用当中的问题。同时,PaddlePaddle 还提供不少部署的工具链,方便开发者部署本身的应用。

Github 地址: https://github.com/PaddlePaddle

4. 阿里 X-DeepLearning

X-Deep Learning(下文简称 XDL)由阿里巴巴旗下大数据营销平台阿里妈妈基于自身广告业务自主研发,已经大规模部署应用在核心生产场景。

XDL 采用了「桥接」的架构设计理念。这种架构使得 XDL 跟业界的开源社区无缝对接。例如,用户能够很是方便地在 XDL 框架上应用基于 TensorFlow 或者 PyTorch 编写的最早进开源深度学习算法。此外,对于已经在使用其余开源框架的企业或者我的用户,也能够在原有系统基础上轻松进行扩展,享受 XDL 带来的高维稀疏数据场景下极致的分布式能力。

Github 地址: https://github.com/alibaba/x-...

深度学习技术正普遍应用于人工智能的各个领域,如计算机视觉、机器翻译、天然语言处理、智能机器人等,取得了史无前例的突破。

当前,一方面,随着深度学习新技术的出现、任务复杂度的提升,易于扩展同时保持高效的架构成为发展趋势;另外一方面,随着我国人工智能产业发展迅速,咱们须要构建一个属于本身的开源深度学习生态,这也是一个绝好的机会。

尽管以 TensorFlow、PyTorch 等为表明的开源框架已经取得了必定程度上的成功,而我国在这一领域发展起步较晚,目前存在着必定的劣势。但单就开源框架来看,不管是底层的核心技术能力仍是针对具体应用场景的解决能力,都还有着很大的提高空间。

但愿国内的科技企业和研究机构能够奋起直追,再也不在核心技术上被别人「卡脖子」。

clipboard.png

相关文章
相关标签/搜索