本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

wzatv:自动生成硬件优化内核:陈天奇等人发布深度学(2)

时间:2017-08-18 22:03来源:本港台现场报码 作者:www.wzatv.cc 点击:
低级 IR 采用现有的图像处理语言(比如 Halide 或 darkroom)的原理以制定一个富有表现力的深度学习 DSL。TVM 构建了由循环转换工具比如 loopy、多面体分析启

低级 IR 采用现有的图像处理语言(比如 Halide 或 darkroom)的原理以制定一个富有表现力的深度学习 DSL。TVM 构建了由循环转换工具比如 loopy、多面体分析启发的图优化。我们也从深度学习框架比如 MXNet、TensorFlow、Theano 使用的数据流描述语言汲取灵感,然后在调度阶段对 TVM 中描述的算法进行处理,以应用针对目标硬件后端定制的转换。

wzatv:自动生成硬件优化内核:陈天奇等人发布深度学

TVM 包括通常出现在 CPU 优化框架中的标准转换原语。更重要的是,TVM 通过利用线程协作模式、数据布局转换和强大的新计算原语,集成了针对 GPU 的全新优化原语。TVM 与 NNVM 的结合为优化软件堆栈中深度学习工作负载提供了一个很好的机会,从而实现了图级别与运算符级别优化的联合计算。

多语言和平台支持

TVM 的众多优势之一在于它可以支持多种语言和平台。TVM 框架中有两个组件:编译器栈,其中包含完整的优化库以产生优化的机器代码;以及轻量级运行环境,提供在不同平台上部署编译模块所需的可移植性。

wzatv:自动生成硬件优化内核:陈天奇等人发布深度学

TVM 目前支持嵌入式编译器堆栈的 Python 和 C++ 接口。我们在设计中最大限度地重用框架,以便编译器堆栈的改进可以在 Python 和 C++ 组件之间互换使用。我们还提供了一个轻量级运行环境,可以在包括 Android、iOS、树莓派和 Web 浏览器在内的平台上直接运行诸如 Java、Java、Python 和 C++ 等语言的 TVM 编译代码。

远程部署和执行

wzatv:自动生成硬件优化内核:陈天奇等人发布深度学

TVM 支持使用 TVM PRC 进行交叉编译,测试嵌入式设备,这是一种轻量级界面,用于在远程嵌入式设备上部署和执行 TVM 交叉编译模块。我们 TVM 用户提供了易用的高级 Python 界面,用于在各种低级嵌入式设备上进行远程编译、优化,并测试深度学习算法。

性能

TVM 目前仍然处在早期发展阶段,我们会在未来看到更多改进,但目前它已经展现出了强大的实力。

TVM 为我们提供了灵活性,让我们可以探索不同硬件平台上,不同深度学习内核中丰富的优化空间。例如,TVM 允许我们裁剪数据布局,为内核与平台融合模式需求。注意,构建基线库可用于更通用的问题,而 TVM 的优化内核通过自动调整过程对人们评估的工作负载进行了大量调整。TVM 可以作为快速生成专属内核的绝佳工具。

本节列出的结果仍有提升空间。

树莓派

在结果的第一部分,我们比较了 TVM CPU 计划与 nnpack 在树莓派 3B 上执行 ResNet 任务的表现。由于时间有限,我们使用 TVM 实现直接卷积,而 nnpack 对 3×3 内核执行 winograd 转换。

wzatv:自动生成硬件优化内核:陈天奇等人发布深度学

我们可以看到,使用 TVM 自动调整内核,我们可以获得类似于 nnpack 中的手动优化内核的性能(实验在树莓派上进行)。

GPU 结果

PS. 该测试结果由 Leyuan Wang(AWS/UCDavis)、Yuwei Hu(图森未来)与 Weitang Liu(AWS/UCDavis)提供。

为了进行概念证明,我们构建了一种端到端编译管道,可以将 MXNet 模型编译成 TVM 执行图。我们通过自动融合运算符并使 TVM 生成融合的内核,在图形节点之间和之中应用优化。我们对 MobileNet 在 ImageNet 上的运行表现进行基准测试,结果如下:

wzatv:自动生成硬件优化内核:陈天奇等人发布深度学

我们可以看到,TVM 在速度上快过基准方法。更有意思的是,内核融合可以带来更快的速度提升。值得一提的是,TVM 可以自行生成所有优化 GPU 内核,而不依赖于外部库,如 CuDNN。

我们正在开展新的实验,期待获得更好的结果。

开源

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容