题目:深度学习框架“计图”的创新与探索

报告人:胡事民

报告人简介:胡事民,清华大学计算机系教授,主要研究方向为计算机图形学、虚拟现实、智能信息处理和系统软件等。

报告简介:深度学习框架是现代人工智能算法开发和应用的基本支撑框架,自主可控的深度学习框架是推动中国人工智能更好发展的必然要求。国外主流深度学习框架基于开源开放的生态环境,已经构建起了完整的产业链和庞大用户群体。计图是国内首个由高校主导的开源深度学习框架。计图基于所提出的“统一计算图”,创新地使用了元算子融合和动态编译技术,目前在多种任务性能上超越国外主流平台。除此之外,计图框架还在易用性、灵活性以及模型算法覆盖度上做了大量改进,旨在降低用户学习成本,吸引更多用户,构建自己的开源深度学习生态。本报告拟介绍计图(Jittor)平台的整体架构和多项创新技术,分享计图框架的开源历程和发展思路,并探讨中国开源深度学习框架的未来发展。

  • 机器学习框架(平台)是人工智能的核心技术

    • 负责机器学习模型的训练和推理
    • 管理着人工智能应用所需要的大规模数据和模型
    • 负责底层计算设备调度以及资源申请

  • 机器学习平台的难度在哪里?

    • 对机器学习算法的深刻理解
    • 对图形图像应用的精准把握
    • 对底层系统软件的巧妙应用

  • 创新点一:统一计算图

    • 结合静态图高效和动态图易用的特点

      • 静态图(TensorFlow):一次性把全图发送到计算设备上运行
      • 动态图(Pytorch):将算子动态地发送到计算设备上运行
    • 动态切分 => 静态子图,静态子图做优化
    • 统一计算图是完成了多种统一的计算图
      • 统一动态图和静态图,易用、同时高效
      • 统一管理前向反向图,支持高阶导数
      • 统一管理CPU-GPU内存,突破GPU显存限制
      • 统一同步异步运行接口,使得数据读取,内存拷贝,模型计算可以同时进行,提升性能
      • 统一管理多次迭代的计算图,使得框架可以实现跨迭代的融合优化
  • 创新点二:18个元算子、元算子融合

    • Tensorflow算子数量: 2000+,PyTorch算子数量: 700+;庞大的算子库维护,

      优化困难
    • 将三类元算子(重索引、重索引化简、元素级)进行融合形成深度学习所需要的算子
      • 重索引算子(一对多)——广播、填补、切分
      • 重索引化简算子(多对一)——累乘、累加、取均值
      • 元素级算子(一对一)
    • 元算子是反向传播闭包(元算子的反向传播也是元算子)
      • 在反向传播过程中,算子可自动对应生成,重索引算子—重索引化简算子、元素级算子—元素级算子
    • 元算子可以覆盖绝大多数深度学习算子,对于元算子无法覆盖的算子,计图提供Code算子(Python中内联C++代码),完成100%算子覆盖
  • 6 大特色

    • 动态编译

      • 内置的元算子编译器,可将Python代码动态编译高性能C++代码
      • 内置LLVM兼容的优化编译遍(Pass),根据硬件设备,自动优化动态编译的代码
    • 统一内存
      • 将显存和CPU内存统一,当深度学习模型将显存耗尽时,将使用CPU内存来弥补。
    • 骨干网络
      • 已经支持的骨干网络:AlexNet;VGG;ResNet;SqueezeNet;Incept ion;Goog leNet;Shuff leNet;Mobi leNet;MnasNet;Res2Net
    • 模型库
      • 2020年将发布27中主流GAN、语义分割、检测库、3D点云库、3D网格库等
    • 模型转换
      • 提供工具可以将Pytorch代码一键转码为Jittor
    • 分布式
      • 无需修改训练代码,只需修改启动命令;自动数据并行,实现多卡训练。
  • 最新进展

    • Res2Net、PointNet++,DeepFaceDrawing
  • 图形学新的机遇

    • 可微编程(可微光栅化渲染、可微蒙特卡洛光线追踪、可微物理模拟)

CAD& CG 2020 胡事民教授—开源框架Jittor的创新与探索的更多相关文章

  1. 计算机图形学 opengl版本 第三版------胡事民 第四章 图形学中的向量工具

    计算机图形学 opengl版本 第三版------胡事民 第四章  图形学中的向量工具 一   基础 1:向量分析和变换   两个工具  可以设计出各种几何对象 点和向量基于坐标系定义 拇指指向z轴正 ...

  2. 计算机图形学 opengl版本 第三版------胡事民 第三章更多的绘图工具

    opengl  计算机图形学 第三版   第二部分   第三章更多的绘图工具 3.1   概述 第2章中  我们绘图使用的是屏幕窗口的基础坐标系    以像素为单位 屏幕坐标从左下角x从0延伸到scr ...

  3. “开源、共享、创新” 2020 中国.NET开发者大会小结

    大会的新闻稿在2020年12月31日正式发布:开源·共享·创新|2020年中国.NET开发者大会圆满收官! , 本文是这篇新闻的补充性文章,仅代表个人对大会的各方面分享内容的一个小结. 在2019年上 ...

  4. CVPR 2020目标跟踪多篇开源论文(上)

    CVPR 2020目标跟踪多篇开源论文(上) 1. SiamBAN:面向目标跟踪的Siamese Box自适应网络 作者团队:华侨大学&中科院&哈工大&鹏城实验室&厦门 ...

  5. CVPR 2020目标跟踪多篇开源论文(下)

    CVPR 2020目标跟踪多篇开源论文(下) 6. Cooling-Shrinking Attack: Blinding the Tracker with Imperceptible Noises 作 ...

  6. Pyhton开源框架(加强版)

    info:Djangourl:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC)风格的 ...

  7. Python开源框架

    info:更多Django信息url:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC) ...

  8. 【安卓网络请求开源框架Volley源码解析系列】定制自己的Request请求及Volley框架源码剖析

    通过前面的学习我们已经掌握了Volley的基本用法,没看过的建议大家先去阅读我的博文[安卓网络请求开源框架Volley源码解析系列]初识Volley及其基本用法.如StringRequest用来请求一 ...

  9. Android开源框架Afinal第一篇——揭开圣女的面纱

    Android开源框架Afinal第一篇——揭开圣女的面纱 分类: Android开源框架哪点事2013-09-02 14:25 260人阅读 评论(0) 收藏 举报 Afinal 这是Afinal在 ...

随机推荐

  1. [BUUOJ记录] [ACTF2020 新生赛]Upload

    简单的上传题,考察绕过前端Js验证,phtml拓展名的应用 打开题目点亮小灯泡后可以看到一个上传点 传一个php测试一下: 发现有文件拓展名检查,F12发现是Js前端验证: 审查元素直接删掉,继续上传 ...

  2. 高可用服务之Keepalived基础入门

    前面我们聊了聊高可用集群corosync+pacemaker的相关概念以及相关工具的使用和说明,回顾请参考https://www.cnblogs.com/qiuhom-1874/category/18 ...

  3. 项目实战 - 原理讲解<-> Keras框架搭建Mtcnn人脸检测平台

    Mtcnn它是2016年中国科学院深圳研究院提出的用于人脸检测任务的多任务神经网络模型,该模型主要采用了三个级联的网络,采用候选框加分类器的思想,进行快速高效的人脸检测.这三个级联的网络分别是快速生成 ...

  4. leetcode刷题-79单词搜索

    题目 给定一个二维网格和一个单词,找出该单词是否存在于网格中. 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格.同一个单元格内的字母不允许被重复 ...

  5. Java多线程--两个线程同时对一个人的年龄进行增加和修改

    public class Thread_A extends Thread { Human human; public Thread_A(String name, Human human) { supe ...

  6. Kafka入门(4):深入消费者

    摘要 在这一篇文章中,我将向你介绍消费者的一些参数. 这些参数影响了每次poll()请求的数据量,以及等待时间. 在这之后,我将向你介绍Kafka用来保证消费者扩展性以及可用性的设计--消费者组. 在 ...

  7. java 多线程-1

    一.程序.进程.线程简介 程序(program)是为完成特定任务.用某种语言编写的一组指令的集合.即指一段静态的代码,静态对象 进程(process)是程序的一次执行过程,或是正在运行的一个程序.是一 ...

  8. TomcatAJP文件包含漏洞

    漏洞概述 2020年2月20日,国家信息安全漏洞共享平台(CNVD)发布关于Apache Tomcat的安全公告,Apache Tomcat文件包含漏洞(CNVD-2020-10487,对应CVE-2 ...

  9. linux如何把普通用户添加到sudo组

    sudo原理:运行命令时,系统检查/etc/sudoers 配置文件,看这个用户是否有执行sudo的权限,如果有权限,系统要求输入用户自己的密码,如果密码输入正确,系统会以root身份运行 passw ...

  10. 云计算openstack——虚拟机获取不到ip(13)

    一.现象描述: openstack平台中创建虚拟机后,虚拟机在web页面中显示获取到了ip,但是打开虚拟机控制台后查看网络状态,虚拟机没有ip地址,下图为故障截图: 二.分析思路: (1)查看neut ...