【AICon】 如何构建高效的 RAG 系统?RAG 技术在实际应用中遇到的挑战及应对策略?>>> 了解详情
写点什么

清华大学计算机系教授胡事民:自研深度学习框架“计图”2 大创新、6 大特性详解

  • 2020-06-23
  • 本文字数:2628 字

    阅读完需:约 9 分钟

清华大学计算机系教授胡事民:自研深度学习框架“计图”2大创新、6大特性详解

6 月 21 日,由北京智源人工智能研究院主办的 2020 北京智源大会正式开幕(直播入口: https://2020.baai.ac.cn ),大会为期四天,各主题论坛和分论坛将围绕如何构建多学科开放协同的创新体系、如何推进人工智能与经济社会发展深度融合、如何建立人工智能安全可控的治理体系、如何与各国携手开展重大共性挑战的研究与合作等一系列当下最受关注的问题进行交流和探讨。

在智源大会第三天(6 月 23 日)下午的 AI 框架主题论坛上,清华大学计算机系教授胡事民作了题为《统一计算图:机器学习框架「计图」的创新与探索》的演讲。他分享了国产深度学习框架“计图”所做的创新与探索,详细介绍了该框架的特性及创新点,及最新研究进展。

以下内容根据胡事民的演讲整理,未经本人确认。

为什么要研发国产深度学习框架“计图”?

演讲中,胡事民谈到了深度学习框架“计图”研发的初衷。


他表示,回溯深度学习框架在过去十年间的演进,国外的 TensorFlow 、PyTorch 、caffe 等主流深度学习框架发展迅速,国产深度学习框架的发展相对慢一些。



我国在人工智能领域取得了重要进展但发展不均衡,我们长于算法,弱于学习平台。我国的 AI 研究和算法研究多基于 TensorFlow 、PyTorch 等机器学习平台,这容易陷入“卡脖子”困境。


建设机器学习平台难度很大,需要对机器学习算法有深刻理解,精准把握图形图像应用,及巧妙应用底层系统软件。尽管挑战大,但中国应该积极自主研发机器学习平台,这既是基于自主创新的需要,也是基于人才培养的需要。


也正是在这样的背景下,基于元算子和统一计算图的深度学习框架“计图”(Jittor)应运而生。2020 年 3 月 20 日,计图正式发布。


胡事民表示,计图带来一次深度学习框架跨越的机遇,他希望该框架能够培养国内机器学习平台人才,解决对国外平台依赖性的问题,希望计图有机会能够超越国外的主流框架。

“计图”架构全景图及六大特性

据胡事民介绍,计图的整体架构自下而上分为四层:系统层、算子层、框架层、应用层,具体如下图:



在多种应用中,相比国际主流的平台,计图的性能提升了 5%-153% 。


胡事民表示,计图框架具有六大特性:


1、反向传播闭包


元算子是反向传播闭包,元算子融合的算子也是反向传播闭包,使 Jittor 可以统一“前向”和“反向”计算图;并可求高阶导数。


2、算子动态编译,运行时优化


用户编写的算子与模型,将在运行的时候,生成高性能的代码,并且进行动态编译优化。


3、统一内存管理,节省内存


如果 GPU 内存耗尽了可以使用 CPU 内存弥补


4、极简的自定义算子开发(提出 Code 算子)


用户可以在 Python 中内联 C++代码,数行代码即可完成高性能算子的开发。


5、辅助模型迁移工具


能做到“一键迁移”,迁移工具能帮助用户快速地从 PyTorch 迁移到 Jittor 。


6、计图模型库


今年 5 月 30 号,计图发布了 GAN 模型库。胡事民透露,将在 6 月底发布计图分割库。此外检测库,3D 点云库,3D 网格库等更多模型库将陆续发布。

两大创新点

胡事民表示,计图的创新点主要体现在两个地方:一是统一计算图。静态图高效,动态图易用性好,但二者却不可兼得,针对这个行业痛点,统一计算图是一个好的解决方案。


第二个创新点是元算子,针对业内存在的算子开发和优化困难痛点,元算子融合与动态编译优化能很好解决这个问题。


接下来,胡事民重点介绍了这两大创新点。

元算子融合

该创新特性设计主要针对行业痛点出发。Tensorflow 算子数量 2000+,PyTorch 算子数量 700+,庞大的算子库维护、优化困难。


计图创新性的将神经网络计算所需的基本算子进行了归纳总结,提出了元算子(18 个)和算子融合的概念。具有效率高,易于开发,可以统一优化。



元算子一共分为三类:重索引、重索引化简、元素级。


其中,重索引算子是一类一对多映射关系的元算子。常用的重索引算子有广播(Broadcast)、填补(Pad)、切分(Slice)。


重索引化简算子是一类多对一映射关系的元算子。常用的重索引化简算子有累乘(Product) 、累加(Sum)、取平均值(mean )。


元素级算子是一类一对一映射关系的元算子。逐个元素的运算都属于元素级元算子。


元算子是反向传播闭包(元算子的反向传播也是元算子)。云算子可以自动生成其反向传播算子。



多个元算子之间可以进行相互融合。元算子可以通过融合算法,自动生成复杂的算子。



元算子具有完备性,它可以覆盖绝大多数深度学习算子。对于元算子无法覆盖的算子,计图提供了 Code 算子,以此完成 100% 的算子覆盖。

统一计算图

计算图是所有深度学习框架用来描述模型的数据结构。计算图可分为静态计算图和动态计算图。


静态计算图和动态计算图各有优缺点,静态计算图的优点是高效,缺点是灵活性差;动态计算图的优点是易用,灵活性高,缺点是效率高。


易用性和高效性不可兼得。对此,计图做出了“统一计算图”的创新。



统一计算图兼顾高效和易用,除了统一静态图和动态图,统一计算图还完成了多种统一的计算图:


  • 统一管理前向反向图,支持高阶导数;传统机器学习框架区分前向和反向传播,统一计算图将多次迭代的前向和反向计算图拼接,节省了大量的重复计算,提升灵活性和优化空间。



  • 统一管理 CPU-GPU 内存,突破 GPU 显存限制统一;

  • 统一同步异步运行接口,使得数据读取,内存拷贝,模型计算可以同时进行,提升性能。



  • 统一管理多次迭代的计算图,使得框架可以实现跨迭代的融合优化。

计图的特点与新进展

1、动态编译


计图内置的元算子编译器,可将 Python 代码动态编译高性能 C++代码。


计图内置 LLVM 兼容的优化编译遍(Pass)。这些编译遍会根据硬件设备,自动优化动态编译的代码,并对 C++代码进一步优化,生成对计算设备友好的底层算子。


2、骨干网络


计图目前支持包括 AlexNet、VGG、ResNet 等在内的 30+骨干网络,并还在不断完善中。


3、GAN 模型库


计图目前支持包括 27 个主流的 GAN 模型库,包括图像分类、检测、分割、机器疼强化学习等。在性能方面,Gan 模型库速度比 PyTorch 均得到提升,半数模型性能提升超过 1 倍。



4、模型转换工具


计图和 PyTorch 的接口较为相似,内置自动转化脚本,可轻松实现转化。


5、分布式。


无需修改训练代码,只需修改启动命令;自动数据并行,实现多卡训练。


演讲中,胡事民带来了计图的最新进展。首先在 Res2Net 神经网络骨干模型上,通过最新构建层间多尺度,实现更强特征表达,显著提升多种常见视觉分析模型性能,计图上得到 10%的性能提升。


此外在 PointNet ++ 上,PointNet ++ 分类准确率超过了原论文(92.3 VS91.9),模型代码已经公开在 jittor-online-first 上,更多几何学习模型和算法也将在后续不断发布。


2020-06-23 19:071591
用户头像
刘燕 InfoQ高级技术编辑

发布了 1112 篇内容, 共 485.8 次阅读, 收获喜欢 1963 次。

关注

评论

发布
暂无评论
发现更多内容

汇聚开发者智慧 夯实数据库产业根基

科技热闻

Ampere Altra Max 提供可持续的高分辨率 H.265 编码

亚马逊云科技 (Amazon Web Services)

编码 Tech 专栏

云图说丨数字资产链:您的数字资产产权保护神

华为云开发者联盟

区块链 云计算 开发 开发工具

2022年中国娱乐直播市场年度综合分析

易观分析

直播市场

如何在Docker部署安装ETL调度运维工具TASKCTL

TASKCTL

DevOps 大数据运维 Kafka ETL TASKCTL Docker 镜像

如何选择合适的体育场馆用LED显示屏

Dylan

LED显示屏 户外LED显示屏 led显示屏厂家

话实践,行实干,成实事:“巡礼”数字化的中国大地

脑极体

接口调试还能这么玩?

Liam

前后端分离 Postman API 接口开发 前后端

关于研发效能(41/100)

hackstoic

团队管理

冲刺金九银十!2022最新Java核心知识大全吃透轻松年薪50万

了不起的程序猿

Java java程序员 java面试 java 编程

发现增长新动力,企业到底需要一朵什么样的云?

ToB行业头条

实操演示:如何用 ONES 制定 Scrum 迭代计划?

万事ONES

如何做好安全开发?

华为云开发者联盟

云计算 开源 安全 开发

用代码画时序图!简直太爽了

冉然学Java

Java 代码 UML

AIOps 还是 APM,企业用户应如何作出选择?

云智慧AIOps社区

APM 智能运维AIOps

Ceph在手天下我有!

穿过生命散发芬芳

Ceph 7月月更

融云推出实时社区解决方案,垂直兴趣社交「高级玩家」上线

融云 RongCloud

社交网络 即时通讯IM

BigQuery和Snowflake谁更适合你?两大数据仓库8个角度逐一对比

雨果

数据中台 数据仓库 DaaS DaaS数据即服务 数据即服务

开源轻量级 IM 框架 MobileIMSDK v6.2 发布

JackJiang

网络编程 Netty 即时通讯 im开发 开源im

可以 DIY 装修的商城系统,你也能拥有!

CRMEB

消息中间件

Damon

7月月更

Python图像处理丨三种实现图像形态学转化运算模式

华为云开发者联盟

Python 人工智能 AI 图像形态学

银行业数据安全建设专题分析

易观分析

银行安全

面试官:Redis&MySQL的三种缓存更新策略是怎样的?

Java全栈架构师

Java MySQL redis 程序员 程序人生

Python网页解析库:用requests-html爬取网页

和牛

测试

网易游戏 Flink SQL 平台化实践

Apache Flink

大数据 flink 编程 流计算 实时计算

数据仓库开发 SQL 使用技巧总结

C++后台开发

MySQL 数据库 sql 中间件 后端开发

2022年移动应用运营增长洞察白皮书:流量红利消退时代的“破局”之道

科技汇

C2B模式下优惠券架构演进

转转技术团队

Java 架构 Elastic Search

前端之路React学习笔记

恒山其若陋兮

7月月更

教你使用CANN将照片一键转换成卡通风格

华为云开发者联盟

人工智能 CANN 昇腾 卡通

清华大学计算机系教授胡事民:自研深度学习框架“计图”2大创新、6大特性详解_AI&大模型_刘燕_InfoQ精选文章