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

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

yy.png

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

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

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


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

yy.png

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

  1. 易用且可定制:只需要数行代码,就可定义新的算子和模型。
  2. 实现与优化分离:可以通过前端接口专注于实现,而实现自动被后端优化。
  3. 所有都是即时的:Jittor 的所有代码都是即时编译并且运行的,包括 Jittor 本身。用户可以随时对 Jittor 的所有代码进行修改,并且动态运行。

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

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

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

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

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

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

yy.png

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

yy.png

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

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

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


盘点国内的深度学习框架yy.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 等为代表的开源框架已经取得了一定程度上的成功,而我国在这一领域发展起步较晚,目前存在着一定的劣势。但单就开源框架来看,不论是底层的核心技术能力还是针对具体应用场景的解决能力,都还有着很大的提升空间。

希望国内的科技企业和研究机构可以奋起直追,不再在核心技术上被别人「卡脖子」。

相关文章
|
5天前
|
机器学习/深度学习 监控 PyTorch
深度学习工程实践:PyTorch Lightning与Ignite框架的技术特性对比分析
在深度学习框架的选择上,PyTorch Lightning和Ignite代表了两种不同的技术路线。本文将从技术实现的角度,深入分析这两个框架在实际应用中的差异,为开发者提供客观的技术参考。
20 7
|
8天前
|
机器学习/深度学习 自然语言处理 并行计算
DeepSpeed分布式训练框架深度学习指南
【11月更文挑战第6天】随着深度学习模型规模的日益增大,训练这些模型所需的计算资源和时间成本也随之增加。传统的单机训练方式已难以应对大规模模型的训练需求。
34 3
|
9天前
|
机器学习/深度学习 算法 编译器
Python程序到计算图一键转化,详解清华开源深度学习编译器MagPy
【10月更文挑战第26天】MagPy是一款由清华大学研发的开源深度学习编译器,可将Python程序一键转化为计算图,简化模型构建和优化过程。它支持多种深度学习框架,具备自动化、灵活性、优化性能好和易于扩展等特点,适用于模型构建、迁移、部署及教学研究。尽管MagPy具有诸多优势,但在算子支持、优化策略等方面仍面临挑战。
25 3
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习之人类水平的语言推理
基于深度学习的人类水平的语言推理,是当前自然语言处理(NLP)和人工智能领域的重要研究方向之一。语言推理的核心在于理解语言中蕴含的复杂语义和逻辑关系,并根据上下文进行推断。
28 3
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习之复杂推理与逻辑学习
基于深度学习的复杂推理与逻辑学习是当前人工智能领域中的一个前沿研究方向,旨在结合深度学习与传统逻辑推理的优势,使机器能够在处理复杂任务时具备更强的推理能力。
30 2
|
23天前
|
机器学习/深度学习 分布式计算 安全
深度学习之安全多方计算
基于深度学习的安全多方计算(Secure Multi-Party Computation,简称MPC)是一种密码学技术,旨在让多个参与方在不暴露各自数据的前提下,协作完成一个计算任务。
42 0
|
2月前
|
机器学习/深度学习 监控 并行计算
深度学习之生物网络推理
基于深度学习的生物网络推理利用深度学习技术来解析和理解生物网络(如基因调控网络、代谢网络、蛋白质-蛋白质相互作用网络等)的复杂关系和动态行为。
48 5
|
3月前
|
机器学习/深度学习 算法 TensorFlow
深入探索强化学习与深度学习的融合:使用TensorFlow框架实现深度Q网络算法及高效调试技巧
【8月更文挑战第31天】强化学习是机器学习的重要分支,尤其在深度学习的推动下,能够解决更为复杂的问题。深度Q网络(DQN)结合了深度学习与强化学习的优势,通过神经网络逼近动作价值函数,在多种任务中表现出色。本文探讨了使用TensorFlow实现DQN算法的方法及其调试技巧。DQN通过神经网络学习不同状态下采取动作的预期回报Q(s,a),处理高维状态空间。
50 1
|
3月前
|
机器学习/深度学习 自然语言处理 自动驾驶
深度学习之知识推理与深度学习结合
基于深度学习的知识推理是将深度学习模型与传统的知识表示和推理技术相结合,以实现更加智能和高效的决策和预测能力。
67 2
|
3月前
|
机器学习/深度学习 并行计算 异构计算
面向高效能计算的深度学习框架优化策略
【8月更文第9天】随着深度学习在各个领域的广泛应用,对训练模型的速度和效率要求越来越高。为了满足这些需求,深度学习框架需要针对不同硬件平台进行优化。本文将探讨针对GPU、TPU等硬件平台的优化策略,重点关注数据传输效率、并行计算策略及内存管理等方面。
138 1

热门文章

最新文章

下一篇
无影云桌面