清华大学发布深度学习框架——计图(Jittor)

深度学习技术正广泛应用于人工智能的各个领域,如计算机视觉、机器翻译、自然语言处理、智能机器人等,取得了前所未有的突破。当前,一方面,随着深度学习新技术的出现、任务复杂度的提高,易于扩展同时保持高效的架构成为发展趋势;另一方面,我国人工智能产业发展迅速,急需构建自己的开源深度学习生态,避免被“卡脖子”。

北京信息科学与技术国家研究中心可视媒体智能计算团队在国家自然科学基金委创新群体项目的资助下,提出了一个全新的深度学习框架——计图(Jittor)。计图平台已于2020年3月20日正式对外发布和开源,在著名开源平台Github上发布后立刻受到了广大深度学习开发者的好评,各大新闻媒体和科技自媒体也对计图发布进行了报道。

计图是一个基于统一计算图的深度学习框架。计算图是一种描述深度学习模型的表达方式。现阶段主流深度学习框架多采用静态计算图或者动态计算图两种设计模式,静态图比较易于优化,如TensorFlow1.0。动态图相比静态图更加灵活,但是优化空间更小,如PyTorch。也有框架支持这两种计算图并且提供两者之间的转换工具,如TensorFlow2.0。计图创新的采用了统一计算图,用户并不需要手动切换,计图可以动态的将计算图拆分成可以优化的子静态图。让计图在保持动态图灵活性的同时,还可以发挥出静态图的运算性能。计图与国际主流平台相比,具有多项先进特性,其统一计算图的特性如下图所示。

图1 计图的统一计算图与其他平台特性对比

计图还采用元算子表达神经网络计算单元、并且将其动态编译(Just-in-Time)运行。深度学习采用的卷积神经网络是由算子(Operator)组成的一个计算网络。由于架构设计和不断扩充等原因,当前深度学习框架有多达2000种算子,系统复杂,优化和移植困难。计图将算子运算进一步分解,形成了更加底层的三类20余种元算子闭包,目前神经网络常用算子均可以使用元算子的组合进行表达。面向未来深度学习框架的发展趋势,计图利用元算子组合表达的优势,提出统一计算图进行优化,并从底层开始设计了一个全新的动态编译架构(图2)。该架构支持多种编译器,实现了所有代码的即时编译和动态运行,确保了实现和优化分离,大幅提升了应用开发灵活性、可拓展性和可移植性。

图2 “计图”通过元算子融合实现深度神经网络模型

目前ResNet、VGG、SSD、DeepLab、LSGAN等多个网络模型已经在Jittor平台实现,可供用户使用。与同类型框架相比,Jittor在收敛精度一致情况下,推理和训练速度取得了10%-50%的性能提升(图3)。

图3 Jittor和Pytorch推理与训练速度对比

期望Jittor能为学界和业界提供一个灵活高效的深度学习平台,促进人工智能的研究和应用,赋能人工智能产业。

(“计图(Jittor)”官方网站:https://cg.cs.tsinghua.edu.cn/jittor)