硬件软件蓝图灵活的深度学习专业化

本文提出VTA,一种可编程的深度学习架构,旨在解决硬件专用化与工作负载灵活性之间的冲突。VTA通过两级ISA和JIT编译器实现灵活的代码生成和异构执行,允许在不断变化的深度学习工作中扩展。其可参数化硬件设计支持多种工作负载,同时集成到Apache TVM中,实现了硬件与软件栈的协同优化。评估显示,VTA在边缘设备上针对不同模型和硬件配置展现出高性能,超越了CPU和GPU的推理速度。
摘要由CSDN通过智能技术生成

硬件软件蓝图灵活的深度学习专业化
抽象的专业深度学习(DL)加速堆栈,专为一组特定的框架、模型架构、算子,
和数据类型,提供了高性能的吸引力,同时牺牲了灵活性。算法、模型、运算符或数值系统的变化威胁专用硬件加速器的生存能力。
提出了VTA,一个可编程的深度学习架构模板,可以在不断变化的工作负载下进行扩展。VTA通过可参数化的体系结构,两级ISA,和一个JIT编译器。两级ISA基于
(1)任务ISA显式编排并发计算和内存任务
(2)一种微代码ISA,单循环张量张量运算。
接下来,提出一个系统配备JIT编译器,用于灵活的代码生成和异构执行,从而能够有效地使用VTA体系结构。
VTA集成并开源到ApacheTVM中,这是一种最先进的深度学习编译堆栈,为各种应用程序提供了灵活性模型和不同的硬件后端。
提出一个流程执行设计空间探索,生成自定义硬件体系结构和软件算子库主流学习框架。
通过用于对象分类的优化深度学习模型的部署在边缘级FPGA上进行样式转换。
1.Introduction
硬件专门化是加速已知的一组应用程序和工作负载。不幸的是,深度学习任何东西,除了一个静态的领域,和机器学习社区,改变了用来编写模型的软件模型本身、所述模型使用的算子以及数据操作的类型。
研究界主要关注两种加速器设计方法:固定功能加速器和固定功能加速器可编程加速器(也称为领域专用加速器)。
当前的解决方案提供了引人注目的峰值性能,但往往无法融入到先进的机器学习中场景。
固定模型加速器通常是空间和静态的布局,为某些工作负载提供有吸引力的性能。
不幸的是,这种方法的静态特性排除了重用硬件资源不足,限制了对较大或较新型号的支持。
相比之下,利用ISA的灵活性,可编程加速器提供了更多的功能。
由于这些加速器中可编程性,需要有能力的深度学习编译器,实现峰值性能,可以映射大量将工作负载加载到一组固定的硬件内部函数上。
定制这些加速器的行为,即使是开源的,也高度依赖于透明应用程序的可用性以及模块化的软件栈。
先前工作的一个中心挑战,将对快速变化的机器软件的专门化学习创新联系起来。
这一挑战并不特定于计算机体系结构;存在于堆栈的所有级别。端到端的方法需要在框架、系统、编译器和架构,使用硬件加速,执行最先进的机器学习。峰值FLOPs,仅程序员可以访问。
提出了VTA(通用张量加速器):一个显式的可编程体系结构与功能强大的JIT编译器,以及不牺牲专业化的优势,可以与深度学习模型同步发展的runtime。VTA使以下贡献:
•可编程加速器设计,暴露两级编程接口:允许显式任务调度由编译器栈的ISA底层微码,提供软件定义的操作灵活性。
此外,VTA体系结构完全可参数化:
硬件内部函数、内存和适应硬件后端需求数据类型定制。
•用于异构执行的可扩展runtime系统,对微代码内核执行JIT编译,提供算子灵活性。VTA runtime,
例如,为了扩展VTA计算机视觉为中心的原始设计,支持样式转换应用程序,无需任何硬件修改。
•可优化数据访问的调度表自动调整平台和数据重用,快速适应底层硬件环境的变化和工作负载多样性的变化。
通过为两个边缘FPGA调整不同的工作负载来展示VTA的灵活性。
在这里插入图片描述

图1:VTA在硬件目标和深度学习模型方面提供了灵活性。此流程图显示,通过探索VTA硬件配置,在计算机上执行自动算子调整,使给定的模型适应最佳硬件后端硬件方案。这个过程生成了在任何深度学习框架中部署VTA所必需的部分。
图1展示了如何映射使用VTA架构和runtime将工作负载转换为fpga。这个进程探索VTA硬件变体,为每个候选设计自动调整执行软件。最终的设计和定制的软件二进制文件,可以很容易地集成到深度学习框架。
最后,评估整个系统,用工作负载上的FPGA edge,演示VTA超越edge GPU的能力。
在这里插入图片描述

图2:VTA构建的软件堆栈的框架。利用Apache TVM编译器VTA目标堆栈。
在这里插入图片描述<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值