NNVM Compiler,AI框架的开放式编译器
深度学习已变得无处不在且不可或缺。在多种平台(例如手机,GPU,IoT设备和专用加速器)上部署深度学习工作负载的需求不断增长。宣布了TVM堆栈,以弥合深度学习框架与面向性能或效率的硬件后端之间的鸿沟。TVM堆栈使为深度学习框架轻松构建端到端编译变得容易。拥有适用于所有框架的统一解决方案甚至会更好。
威斯康星大学艾伦分校和AWS AI团队以及其他贡献者,宣布NNVM编译器的发布,NNVM编译器是一种开放式深度学习编译器,用于将前端框架工作负载直接编译到硬件后端。使用TVM堆栈中的两级中间表示(IR)来构建它。欢迎读者参考原始的TVM公告,以获取有关TVM堆栈的更多技术细节。借助TVM堆栈,NNVM编译器可以:
• 在高级图IR中表示并优化常见的深度学习工作负载
• 转换计算图以最大程度地减少内存利用率,优化数据布局并融合不同硬件后端的计算模式。
• 提出从前端深度学习框架到裸机硬件的端到端编译管道。

NNVM编译器可以直接从深度学习框架(例如Apache MXNet)中获取模型。支持模型交换格式,例如ONNX和CoreML。ONNX支持使NNVM能够从PyTorch,Caffe2和CNTK编译深度学习模型。CoreML前端支持将CoreML模型部署到非iOS设备。

优化与部署分离

NNVM编译器应用图级和张量级优化,共同优化以获得最佳性能。采用与现有深度学习框架不同的方法,后者将图形优化与部署运行时打包在一起。NNVM编译器采用了编译器的传统知识,将优化与实际部署运行时分开。这种方法提供了实质性的优化,但仍保持运行时的轻量级。编译后的模块仅取决于最小的TVM运行时,部署在Raspberry Pi或移动设备上时仅需300KB左右。
Performance
NNVM编译器仍在积极开发中,可以期待会有更多的改进,已经开始看到可喜的结果。对性能进行了基准测试,在两种典型的硬件配置上,与Apache MXNet进行了比较:Raspberry PI上的ARM CPU和AWS上的Nvidia GPU。尽管这两款芯片在架构上存在根本差异,可以使用相同的基础架构,只需要更改每种硬件的调度即可。
Nvidia GPU
GPU基准和调度,将NNVM编译器与Apache MXNet与CUDA8和cuDNN7作为Nvidia K80的后端进行了比较。这是一个非常强的基准,因为Apache MXNet会打开自动调整功能以从CuDNN中选择最佳内核。还使用了MXNet中优化的深度智能内核来优化MobileNet工作负载。

可以看出,NNVM编译器生成的代码胜过K80上的Apache MXNet。这些改进归因于联合图级别和内核级别的优化。值得注意的是,NNVM编译器无需依赖CuDNN等外部库,即可自行生成所有优化的GPU内核。
Raspberry Pi 3b
Rasberry Pi编译堆栈,将NNVM编译器与带有OpenBLAS和NNPack的Apache MXNet进行了比较。探索了使MXNet发挥最佳性能的设置:为3x3卷积打开了NNPACK中的Winograd卷积,启用了多线程,并禁用了其他调度程序线程(因此,所有线程都被NNPack使用)。

可以看出,在ResNet18上,NNVM编译器生成的代码快两倍。MobileNet上的差距,现有CPU DNN库中缺乏深度卷积。NNVM编译器利用直接生成有效的ARM代码的优势。

NNVM Compiler,AI框架的开放式编译器相关推荐

  1. NNVM AI框架编译器

    NNVM AI框架编译器 深度学习已变得无处不在且不可或缺.看到对在多种平台(例如手机,GPU,IoT设备和专用加速器)上部署深度学习工作负载的需求不断增长.TVM堆栈弥合深度学习框架与面向性能或效率 ...

  2. 昇思MindSpore全场景AI框架 1.6版本,更高的开发效率,更好地服务开发者

    本文分享自华为云社区<昇思MindSpore全场景AI框架 1.6版本,更高的开发效率,更好地服务开发者>,作者: 技术火炬手. 全新的昇思MindSpore全场景AI框架1.6版本已发布 ...

  3. AI框架中图层IR的分析

    摘要:本文重点分析一下AI框架对IR有什么特殊的需求.业界有什么样的方案以及MindSpore的一些思考. 本文分享自华为云社区<MindSpore技术专栏 | AI框架中图层IR的分析> ...

  4. MindSpore技术专栏 | AI框架中图层IR的分析

    本文是MindSpore首席架构师金雪峰的知乎专栏『AI框架分析』的第二篇,首先向大家介绍下IR是什么? IR(Intermediate Representation即中间表示)是程序编译过程中,源代 ...

  5. AI框架精要:设计思想

    AI框架精要:设计思想 本文主要介绍飞桨paddle平台的底层设计思想,可以帮助用户理解飞桨paddle框架的运作过程,以便于在实际业务需求中,更好的完成模型代码编写与调试及飞桨paddle框架的二次 ...

  6. 中国人工智能AI框架自主研发

    中国人工智能AI框架自主研发 中国AI界争相构建AI开源框架的背后,技术和业务层面的考量因素当然重要,但也不应忽视国家层面的政策支持.对于AI基础设施的建设,中国政府在<新一代人工智能发展规划& ...

  7. TensorFlow、PyTorch之后,“国产”AI框架还有没有机会?

    出品 | AI科技大本营(ID:rgznai100) 众所周知,在机器学习框架领域,PyTorch.TensorFlow已分别成为目前学界和业界使用最广泛的两大实力玩家,而紧随其后的Keras.MXN ...

  8. 论坛报名 | AI框架的实践和突破

    与6位图灵奖得主和100多位专家 共同探讨人工智能的下一个十年 长按图片或点击阅读原文,内行盛会,首次免费注册 2020年6月21-24日,第二届北京智源大会(官网:https://2020.baai ...

  9. 30名工程师,历时1300天打造,又一“国产”AI框架开源了

    作者 | Just 出品 | CSDN(CSDNnews) "我发现,软件研发总会延期."一流科技CEO袁进辉说. 按照他的预期,深度学习框架OneFlow做两年就能开源给开发者检 ...

最新文章

  1. 多任务训练的模式结构扩散
  2. HBase基本概念和hbase shell常用命令用法
  3. python英文语义角色标注_八款中文词性标注工具使用及在线测试
  4. git 修改上次提交信息 与 撤销此操作.
  5. Ajax — 第二天
  6. 休眠:DDL模式生成
  7. 数据库原理及应用【六】数据库设计
  8. Taro+react开发(90):列表渲染key值
  9. 高颜值可定制在线作图工具-第二版
  10. 集成学习中的随机森林
  11. iOS定位服务与地图开发(6)---使用程序外地图之调用谷歌Web地图
  12. android 使用GridView实现Gallery的效果,并且从最左边开始
  13. 人工智能——框架表示法
  14. 远程连接软件TeamViewer
  15. 电动汽车续航标准傻傻分不清楚?别再被车企的等速续航骗了!
  16. 电脑系统修复之--Windows系统开机蓝屏 EFI Network 0 for IPv4(XX-XX-XX-XX-XX)boot failed.
  17. 数据结构:“大根堆、小根堆”的向上调整算法和向下调整算法
  18. gataway 组件的健权、限流、过滤等功能分析(三十一)
  19. Java 文件传输小工具,网络传输文件,内网传输
  20. cocos2d-x横版格斗游戏教程3

热门文章

  1. 快速排查feign.FeignException: status 500 …
  2. 单周期十条指令CPU设计与verilog实现(Modelsim)
  3. DeepLabV3+语义分割实战
  4. Ascend Pytorch算子功能验证
  5. VTA:深度学习加速器堆栈
  6. 谷歌不更新android studio,彻底迈向64位:谷歌宣布 Android Studio 将停止 32 位版本更新...
  7. php语+言教程,写给thinkphp开发者的laravel系列教程(九)打印数据-Fun言
  8. struct.error: ushort format requires 0 <= number <= 0xffff
  9. Android SharedPreferences 的使用
  10. In order to use Instant Run with this device running API 26, you must install platform API 26 in you