MegEngine 框架设计

MegEngine 技术负责人许欣然将带了解一个深度学习框架是如何把网络的定义逐步优化并最终执行的,从框架开发者的视角来看待深度学习。

背景

AI 浪潮一波又一波,仿佛不会算法就落后于时代。

深度学习框架处理了各种设备的计算细节、求导、计算优化序列的工作,而在动态、静态两套截然不同的世界中,这些步骤又各自有他们不同的优化点和瓶颈。

如何在中间获取一个高效的平衡呢?以及如何克服训练完的模型在推理部署中无数的坑(闻者落泪),那个堪称对此进行降维打击的“训练推理一体化”到为何物?

分享内容

MegEngine 天元作为旷视全员自用6年的自研深度学习框架,是一个在淘金热时,坚持选择卖铲子的团队。了解一个深度学习框架是如何把网络的定义逐步优化并最终执行的,从框架开发者的视角来看待深度学习。

视频地址: https://www.bilibili.com/video/BV11C4y1t7xH

课件地址:金枪鱼之夜:MegEngine
框架设计.pdf

分享大纲

  • 背景介绍
  • 深度学习框架是干啥的?
  • 道理我都懂,为什么又搞一个深度学习框架?
  • 你们为啥不用 PyTorch / TensorFlow?
  • 训推一体是个啥玩意?
  • 如何写出一个深度学习框架?(超简化版)
  • 动态图训练
  • 调用 = 执行
  • 依赖关系图 forward & backward
  • megdnn kernel
  • exec
  • Shape Deduce
  • 静态图训练 + 推理(粗糙版)
  • Tensor
  • Graph、SymborVar
  • CompNode
  • Shape Inference
  • Graph Optimization
  • 拓扑排序
  • 内存优化
  • Computing Sequence
  • 一个陈年静态图框架是怎么变成动态图框架的?
  • Dynamic Region
  • Eager Graph
  • Eager Runtime + Proxy Graph
  • 对未来的展望
  • 各种芯片模组的对接,挑战训推一体的理念
  • MLIR 等技术的兴起
  • 如何做到真 JIT

MegEngine 框架设计的更多相关文章

  1. 前端MVVM框架设计及实现

    最近抽出点时间想弄个dom模块化的模板引擎,不过现在这种都是MVVM自带的,索性就想自己造轮子写一个简单的MVVM框架了 借鉴的自然还是从正美的Avalon开始了,我2013年写过一个关于MVC MV ...

  2. 前端MVVM框架设计及实现(二)

    在前端MVVM框架设计及实现(一)中有一个博友提出一个看法: “html中使用mvvm徒增开发成本” 我想这位朋友要表达的意思应该是HTML定义了大量的语法标记,HTML中放入了太多的逻辑,从而增加了 ...

  3. JavaScript 框架设计

    JavaScript 高级框架设计 在现在,jQuery等框架已经非常完美,以致于常常忽略了JavaScript原生开发,但是这是非常重要的. 所以,我打算写一个简单的框架,两个目的 熟练框架的思想 ...

  4. JavaScript 框架设计(二)

    JavaScript 高级框架设计 (二) 上一篇,JavaScript高级框架设计(一)我们 实现了对tag标签的选择 下来我们实现对id的选择,即id选择器. 我们将上一篇的get命名为getTa ...

  5. JavaScript框架设计(三) push兼容性和选择器上下文

    JavaScript框架设计(三) push兼容性和选择器上下文 博主很久没有更博了. 在上一篇 JavaScript框架设计(二) 中实现了最基本的选择器,getId,getTag和getClass ...

  6. JavaScript框架设计(四) 字符串选择器(选择器模块结束)

    JavaScript框架设计(四) 字符串选择器(选择器模块结束) 经过前面JavaScript框架设计(三) push兼容性和选择器上下文的铺垫,实现了在某一元素下寻找,现在终于进入了字符串选择器 ...

  7. Atitit.加密算法ati Aes的框架设计

    Atitit.加密算法ati Aes的框架设计 版本进化 c:\1t\aesC47.java c:\1t\aes.java 增加了public static byte[] encrypt(byte[] ...

  8. .NET架构设计、框架设计系列文章总结

    从事.NET开发到现在已经有七个年头了.慢慢的可能会很少写.NET文章了.不知不觉竟然走了这么多年,热爱.NET热爱c#.突然想对这一路的经历进行一个总结. 是时候开始下一阶段的旅途,希望这些文章可以 ...

  9. 新书出版《.NET框架设计—模式、配置、工具》感恩回馈社区!

    很高兴我的第一本书由图灵出版社出版.本书总结了我这些年来对框架学习.研究的总结,里面纯干货,无半句废话. 书的详情请看互动网的销售页面:http://product.china-pub.com/377 ...

随机推荐

  1. .NET 5学习笔记(12)——WinUI 3 Project Reunion 0.5

    2021年3月的时候,Win UI 3终于来到了第一个稳定的支持版本,可用于创建发布到Micosoft Store的应用.据某软的说法,这个叫WinUI 3 Project Reunion 0.5的版 ...

  2. SSH后门万能密码

    当我们在获得一台Linux服务器的 root 权限后,我们第一想做的就是如何维持这个权限,维持权限肯定想到的就是在目标服务器留下一个后门.但是留普通后门,肯定很容易被发现.我们今天要讲的就是留一个SS ...

  3. 【flutter学习】基础知识(一)

    今天开始学习一下flutter 学习思路:首先由一个简单的例子引出每次学习的对象,一点一点加入元素,针对于代码去了解学习详细知识. 看完本篇博客能够快速的读懂flutter简单代码. flutter ...

  4. linux命令的使用 以及基本docker命令及docker镜像安装

    以linux CentOS-7 64位 系统为例 查看ip  ifconfig 固定ip 输入vim /etc/sysconfig/network-scripts/ifcfg-ens3 其中vim是修 ...

  5. Codeforces Round #687 (Div. 2, based on Technocup 2021 Elimination Round 2)

    A. Prison Break 题意:就是在一个n*m的矩阵中,以(1,1)为起点(n,m)为终点,每个点以每个单位1s的速度移动,问总共至少需要多少秒,所有的矩阵点就能够全部移动到(r,c)中 思路 ...

  6. 1.HTML入门

    1.1 初识HTML 1.1.1 概述 网络世界已经跟我们息息相关,当我们打开一个网站,首先映入眼帘的就是一个个华丽多彩的网页.这些网页,不仅呈现着基本的内容,还具备优雅的布局和丰富的动态效果,这一切 ...

  7. [bug] vue cli 部署在 springboot中报404

    复制资源时,在static目录下新建了一个static目录,估计是引起了spring解析的混乱,改为one后即可正常访问 参考 https://www.cnblogs.com/qianjinyan/p ...

  8. [tools] 工具

    代码编辑 notepad++ 文档对比 Beyond Compare 代码阅读 source insight 代码分析 Scitools 下载 http://www.cr173.com/soft/29 ...

  9. 【打印机】无法连接 fail to connect to server cups 服务器错误 打印机

       打印机     fail to connect to server cups 服务器错误兆芯 打印机 连不上了####message可知 服务fail## systemd: cups.servi ...

  10. 3.21-22 od、tee

    3.21 od:按不同进制显示文件       od命令用于输出文件的八进制.十六进制或者其他格式编码的字节,通常用于显示或查看文件中不能直接显示在终端的字符.   -A 地址进制    按指定的进制 ...