这项工作侧重于特定于域的加速器的有效敏捷设计方法。我们采用垂直开发堆栈的功能逐个功能增强,并将其应用于TVM / VTA推理加速器。我们已经增强了VTA设计空间,并启用了用于额外工作负载的端到端支持。这是通过增强VTA微架构和指令集架构(ISA)来实现的,以及通过增强TVM编译堆栈来支持各种VTA配置。 VTA TSIM实现(基于凿子)已通过ALU / GEMM执行单元的完全流水线版本增强。在TSIM中,内存宽度现在可以在8-64字节之间。对于支持较大的刮板,已经使场宽度更加灵活。已添加新的说明:元素 - WISE 8位乘法,支持深度卷积,并使用焊盘值的选择加载以支持最大池。还添加了对更多层和更好的双缓冲。完全管制的ALU / GEMM有助于显着帮助:4.9倍的循环较少,最小区域更改为在默认配置下运行RESET-18。可以实例化特征在于11.5倍的循环计数的配置,以12倍的循环计数更大的区域。显示了区域性能帕累托曲线上的许多点,展示了执行单元尺寸,内存接口宽度和刻痕尺寸的余额。最后,VTA现在能够运行MobileNet 1.0和所有层进行Resnet,包括先前禁用的池和完全连接的图层。 TVM / VTA架构始终在几分钟内以RTL呈现端到端工作量评估。通过我们的修改,它现在提供了更大的可行配置,具有广泛的成本与性能。所有提到的所有功能都可以在OpenSource叉中提供,而这些功能的子集已经上游。
translated by 谷歌翻译
There is an increasing need to bring machine learning to a wide diversity of hardware devices. Current frameworks rely on vendor-specific operator libraries and optimize for a narrow range of server-class GPUs. Deploying workloads to new platforms -such as mobile phones, embedded devices, and accelerators (e.g., FPGAs, ASICs) -requires significant manual effort. We propose TVM, a compiler that exposes graph-level and operator-level optimizations to provide performance portability to deep learning workloads across diverse hardware back-ends. TVM solves optimization challenges specific to deep learning, such as high-level operator fusion, mapping to arbitrary hardware primitives, and memory latency hiding. It also automates optimization of low-level programs to hardware characteristics by employing a novel, learning-based cost modeling method for rapid exploration of code optimizations. Experimental results show that TVM delivers performance across hardware back-ends that are competitive with state-ofthe-art, hand-tuned libraries for low-power CPU, mobile GPU, and server-class GPUs. We also demonstrate TVM's ability to target new accelerator back-ends, such as the FPGA-based generic deep learning accelerator.The system is open sourced and in production use inside several major companies.
translated by 谷歌翻译
我们展示了CFU Playground,这是一个全堆栈的开源框架,可实现用于嵌入式ML系统的机器学习(ML)加速器的快速和迭代设计。我们的工具链紧紧集成开源软件,RTL发电机和FPGA工具,用于综合,地点和路线。此全堆栈开发框架为工程师提供了访问探索定制架构,这些架构是为嵌入式ML定制和共同优化的。快速,部署型材优化反馈循环让ML硬件和软件开发人员在对定制方面相对较小的投资中取得重大回报。使用CFU Playground的设计循环,我们在CPU和加速器之间显示了大量的Speedups(55x-75x)和设计空间探索。
translated by 谷歌翻译
编译器框架对于广泛使用基于FPGA的深度学习加速器来说是至关重要的。它们允许研究人员和开发人员不熟悉硬件工程,以利用域特定逻辑所获得的性能。存在传统人工神经网络的各种框架。然而,没有多大的研究努力已经进入创建针对尖刺神经网络(SNNS)进行优化的框架。这种新一代的神经网络对于在边缘设备上部署AI的越来越有趣,其具有紧密的功率和资源约束。我们的端到端框架E3NE为FPGA自动生成高效的SNN推理逻辑。基于Pytorch模型和用户参数,它应用各种优化,并评估基于峰值的加速器固有的权衡。多个水平的并行性和新出现的神经编码方案的使用导致优于先前的SNN硬件实现的效率。对于类似的型号,E3NE使用的硬件资源的少于50%,功率较低20%,同时通过幅度降低延迟。此外,可扩展性和通用性允许部署大规模的SNN模型AlexNet和VGG。
translated by 谷歌翻译
在过去十年中,已经开发出新的深度学习(DL)算法,工作负载和硬件来解决各种问题。尽管工作量和硬件生态系统的进步,DL系统的编程方法是停滞不前的。 DL工作负载从DL库中的高度优化,特定于平台和不灵活的内核,或者在新颖的操作员的情况下,通过具有强大性能的DL框架基元建立参考实现。这项工作介绍了Tensor加工基元(TPP),一个编程抽象,用于高效的DL工作负载的高效,便携式实现。 TPPS定义了一组紧凑而多才多艺的2D张镜操作员(或虚拟张量ISA),随后可以用作构建块,以在高维张量上构建复杂的运算符。 TPP规范是平台 - 不可行的,因此通过TPPS表示的代码是便携式的,而TPP实现是高度优化的,并且特定于平台。我们展示了我们使用独立内核和端到端DL&HPC工作负载完全通过TPPS表达的方法的效力和生存性,这在多个平台上优于最先进的实现。
translated by 谷歌翻译
在小型电池约束的物流设备上部署现代TinyML任务需要高计算能效。使用非易失性存储器(NVM)的模拟内存计算(IMC)承诺在深神经网络(DNN)推理中的主要效率提高,并用作DNN权重的片上存储器存储器。然而,在系统级别尚未完全理解IMC的功能灵活性限制及其对性能,能量和面积效率的影响。为了目标实际的端到端的IOT应用程序,IMC阵列必须括在异构可编程系统中,引入我们旨在解决这项工作的新系统级挑战。我们介绍了一个非均相紧密的聚类架构,整合了8个RISC-V核心,内存计算加速器(IMA)和数字加速器。我们在高度异构的工作负载上基准测试,例如来自MobileNetv2的瓶颈层,显示出11.5倍的性能和9.5倍的能效改进,而在核心上高度优化并行执行相比。此外,我们通过将我们的异构架构缩放到多阵列加速器,探讨了在IMC阵列资源方面对全移动级DNN(MobileNetv2)的端到端推断的要求。我们的结果表明,我们的解决方案在MobileNetv2的端到端推断上,在执行延迟方面比现有的可编程架构更好,比最先进的异构解决方案更好的数量级集成内存计算模拟核心。
translated by 谷歌翻译
一般矩阵乘法或GEMM内核在高性能计算和机器学习中占据中心位置。最近的NVIDIA GPU包括Gemm加速器,如Nvidia的张量核心。他们的剥削受到双语言问题的阻碍:它需要低级编程,这意味着低程序员的工作效率或使用只提供有限组件集的库。由于建立的组件方面的REPRASING算法经常引入开销,因此图书馆缺乏灵活性限制了探索新算法的自由。因此,使用GEMMS的研究人员无法立即享受编程生产力,高性能和研究灵活性。在本文中,我们解决了这个问题。我们在科学朱莉娅编程语言中展示了三组抽象和接口来编程宝石。界面和抽象共同设计用于研究人员的需求和朱莉娅的特征,以实现足够的担忧和灵活性的充分分离,以便在不支付性能价格的情况下轻松地扩展基本宝石。将我们的Gemms与最先进的图书馆Cublas和Cutlass进行比较,我们证明我们的性能在图书馆的相同球场中,并且在某些情况下甚至超过它,而无需在CUDA C ++中编写单行代码或者组装,而不面临灵活限制。
translated by 谷歌翻译
深度学习框架和硬件平台的蓬勃发展一直在要求一个有效的编译器,该编译器可以掩盖软件和硬件的多样性,以便提供应用程序可移植性。在现有的深度学习编译器中,TVM以其在各种硬件设备之间的代码生成和优化方面的效率而闻名。同时,Sunway多核处理器将其作为竞争性候选人,因为其在科学计算和深度学习工作负载中都有吸引力的计算能力。本文结合了这两个方向的趋势。具体来说,我们提出了SWTVM,该SWTVM扩展了原始TVM,以提前支持架构,以进行跨补偿,例如Sunway。此外,我们利用汇编过程中的体系结构特征,例如用于大规模并行性的核心组,用于高带宽内存传输的DMA和局部设备存储器的数据区域,以生成有效的代码,以在Sunway上进行深度学习工作负载。实验结果表明,与六个代表性基准相比,SWTVM生成的代码平均达到1.79倍。这项工作是从编译器角度进行的首次尝试,以弥合深度学习和Sunway处理器的差距,尤其是在生产力和效率方面。我们认为,这项工作将鼓励更多的人拥抱深度学习和Sunway多核处理器的力量。
translated by 谷歌翻译
变形金刚是一种深入学习语言模型,用于数据中心中的自然语言处理(NLP)服务。在变压器模型中,生成的预训练的变压器(GPT)在文本生成或自然语言生成(NLG)中取得了显着的性能,它需要在摘要阶段处理大型输入上下文,然后是产生一个生成阶段的一次单词。常规平台(例如GPU)专门用于在摘要阶段平行处理大型输入,但是由于其顺序特征,它们的性能在生成阶段显着降低。因此,需要一个有效的硬件平台来解决由文本生成的顺序特征引起的高潜伏期。在本文中,我们提出了DFX,这是一种多FPGA加速器,该设备在摘要和发电阶段中执行GPT-2模型端到端,并具有低延迟和高吞吐量。 DFX使用模型并行性和优化的数据流,这是模型和硬件感知的设备之间快速同时执行执行。其计算核心根据自定义说明运行,并提供GPT-2操作端到端。我们在四个Xilinx Alveo U280 FPGAS上实现了建议的硬件体系结构,并利用了高带宽内存(HBM)的所有频道,以及用于高硬件效率的最大计算资源数量。 DFX在现代GPT-2模型上实现了四个NVIDIA V100 GPU的5.58倍加速度和3.99倍的能效。 DFX的成本效益比GPU设备更具成本效益,这表明它是云数据中心中文本生成工作负载的有前途解决方案。
translated by 谷歌翻译
最新的努力改善了满足当今应用程序要求的神经网络(NN)加速器的性能,这引起了基于逻辑NN推理的新趋势,该趋势依赖于固定功能组合逻辑。将如此大的布尔函数与许多输入变量和产品项绘制到现场可编程门阵列(FPGA)上的数字信号处理器(DSP)需要一个新颖的框架,考虑到此过程中DSP块的结构和可重构性。本文中提出的方法将固定功能组合逻辑块映射到一组布尔功能,其中与每个功能相对应的布尔操作映射到DSP设备,而不是FPGA上的查找表(LUTS),以利用高性能,DSP块的低潜伏期和并行性。 %本文还提出了一种用于NNS编译和映射的创新设计和优化方法,并利用固定功能组合逻辑与DSP进行了使用高级合成流的FPGA上的DSP。 %我们在几个\ revone {DataSets}上进行的实验评估和选定的NNS与使用DSP的基于ART FPGA的NN加速器相比,根据推理潜伏期和输出准确性,证明了我们框架的可比性。
translated by 谷歌翻译
当今的大多数计算机视觉管道都是围绕深神经网络构建的,卷积操作需要大部分一般的计算工作。与标准算法相比,Winograd卷积算法以更少的MAC计算卷积,当使用具有2x2尺寸瓷砖$ F_2 $的版本时,3x3卷积的操作计数为2.25倍。即使收益很大,Winograd算法具有较大的瓷砖尺寸,即$ f_4 $,在提高吞吐量和能源效率方面具有更大的潜力,因为它将所需的MAC降低了4倍。不幸的是,具有较大瓷砖尺寸的Winograd算法引入了数值问题,这些问题阻止了其在整数域特异性加速器上的使用和更高的计算开销,以在空间和Winograd域之间转换输入和输出数据。为了解锁Winograd $ F_4 $的全部潜力,我们提出了一种新颖的Tap-Wise量化方法,该方法克服了使用较大瓷砖的数值问题,从而实现了仅整数的推断。此外,我们介绍了以功率和区域效率的方式处理Winograd转换的自定义硬件单元,并展示了如何将此类自定义模块集成到工业级,可编程的DSA中。对大量最先进的计算机视觉基准进行了广泛的实验评估表明,Tap-Wise量化算法使量化的Winograd $ F_4 $网络几乎与FP32基线一样准确。 Winograd增强的DSA可实现高达1.85倍的能源效率,最高可用于最先进的细分和检测网络的端到端速度高达1.83倍。
translated by 谷歌翻译
虽然离散事件模拟器是建筑研究,设计和开发的必备工具,但它们的实用性受到在调查下的现实应用的极长时间的影响。这项工作描述了一项协调一致的努力,其中机器学习(ML)用于加速离散事件仿真。首先,构建了用于静态指令属性和动态处理器状态的基于ML的指令延迟预测框架。然后,基于所提出的指令延迟预测器来实现GPU加速的并行模拟器,并且验证了其模拟精度和吞吐量并针对最先进的模拟器评估。利用现代GPU,基于ML的模拟器显着优于传统的模拟器。
translated by 谷歌翻译
基于von-neumann架构的传统计算系统,数据密集型工作负载和应用程序(如机器学习)和应用程序都是基本上限制的。随着数据移动操作和能量消耗成为计算系统设计中的关键瓶颈,对近数据处理(NDP),机器学习和特别是神经网络(NN)的加速器等非传统方法的兴趣显着增加。诸如Reram和3D堆叠的新兴内存技术,这是有效地架构基于NN的基于NN的加速器,因为它们的工作能力是:高密度/低能量存储和近记忆计算/搜索引擎。在本文中,我们提出了一种为NN设计NDP架构的技术调查。通过基于所采用的内存技术对技术进行分类,我们强调了它们的相似之处和差异。最后,我们讨论了需要探索的开放挑战和未来的观点,以便改进和扩展未来计算平台的NDP架构。本文对计算机学习领域的计算机架构师,芯片设计师和研究人员来说是有价值的。
translated by 谷歌翻译
Deep neural networks (DNNs) are currently widely used for many artificial intelligence (AI) applications including computer vision, speech recognition, and robotics. While DNNs deliver state-of-the-art accuracy on many AI tasks, it comes at the cost of high computational complexity. Accordingly, techniques that enable efficient processing of DNNs to improve energy efficiency and throughput without sacrificing application accuracy or increasing hardware cost are critical to the wide deployment of DNNs in AI systems.This article aims to provide a comprehensive tutorial and survey about the recent advances towards the goal of enabling efficient processing of DNNs. Specifically, it will provide an overview of DNNs, discuss various hardware platforms and architectures that support DNNs, and highlight key trends in reducing the computation cost of DNNs either solely via hardware design changes or via joint hardware design and DNN algorithm changes. It will also summarize various development resources that enable researchers and practitioners to quickly get started in this field, and highlight important benchmarking metrics and design considerations that should be used for evaluating the rapidly growing number of DNN hardware designs, optionally including algorithmic co-designs, being proposed in academia and industry.The reader will take away the following concepts from this article: understand the key design considerations for DNNs; be able to evaluate different DNN hardware implementations with benchmarks and comparison metrics; understand the trade-offs between various hardware architectures and platforms; be able to evaluate the utility of various DNN design techniques for efficient processing; and understand recent implementation trends and opportunities.
translated by 谷歌翻译
采用基于AI的安全/关键任务应用程序的伟大寻求促使人们对评估应用W.R.T.鲁棒性的方法的兴趣。不仅其训练/调整,而且还由于故障,尤其是软错误而导致的错误,从而影响了基础硬件。存在两种策略:体系结构级故障注入和应用级功能误差模拟。我们提出了一个通过错误模拟引擎对卷积神经网络(CNN)的可靠性分析的框架,该引擎利用了从详细的故障注入活动中提取的一组验证的错误模型。这些错误模型是根据由故障引起的CNN操作员输出的损坏模式定义的,并弥合了故障注入和误差模拟之间的差距,从而利用了两种方法的优势。我们将我们的方法与SASSIFI进行了比较,以进行功能误差模拟W.R.T.的准确性。故障注射,并针对tensorfi进行误差模拟策略的速度。实验结果表明,我们的方法可达到断层效应的99 \%精度W.R.T. SASSIFI,速度从44倍到63x W.R.T. Tensorfi,仅实现有限的误差模型。
translated by 谷歌翻译
深神经网络(DNNS)在各种机器学习(ML)应用程序中取得了巨大成功,在计算机视觉,自然语言处理和虚拟现实等中提供了高质量的推理解决方案。但是,基于DNN的ML应用程序也带来计算和存储要求的增加了很多,对于具有有限的计算/存储资源,紧张的功率预算和较小形式的嵌入式系统而言,这尤其具有挑战性。挑战还来自各种特定应用的要求,包括实时响应,高通量性能和可靠的推理准确性。为了应对这些挑战,我们介绍了一系列有效的设计方法,包括有效的ML模型设计,定制的硬件加速器设计以及硬件/软件共同设计策略,以启用嵌入式系统上有效的ML应用程序。
translated by 谷歌翻译
计算机架构和系统已优化了很长时间,以便高效执行机器学习(ML)模型。现在,是时候重新考虑ML和系统之间的关系,并让ML转换计算机架构和系统的设计方式。这有一个双重含义:改善设计师的生产力,以及完成良性周期。在这篇论文中,我们对应用ML进行计算机架构和系统设计的工作进行了全面的审查。首先,我们考虑ML技术在架构/系统设计中的典型作用,即快速预测建模或设计方法,我们执行高级分类学。然后,我们总结了通过ML技术解决的计算机架构/系统设计中的常见问题,并且所用典型的ML技术来解决它们中的每一个。除了在狭义中强调计算机架构外,我们采用数据中心可被认为是仓库规模计算机的概念;粗略的计算机系统中提供粗略讨论,例如代码生成和编译器;我们还注意ML技术如何帮助和改造设计自动化。我们进一步提供了对机会和潜在方向的未来愿景,并设想应用ML的计算机架构和系统将在社区中蓬勃发展。
translated by 谷歌翻译
现代深度学习框架提供嵌入在Python中的必要的急切执行编程接口,以提供生产的开发体验。但是,深度学习从业者有时需要捕获和转换程序结构以进行性能优化,可视化,分析和硬件集成。我们研究了深度学习中使用的程序捕获和转型的不同设计。通过设计典型的深度学习用例而不是长尾部,可以为程序捕获和转换创建更简单的框架。我们在Torch.fx中应用了这一原理,是一个完全在Python写入的Pytorch的程序捕获和转换库,并通过ML从业者进行高开发人员生产力优化。我们存在案例研究,展示了Torch.fx如何实现先前在Pytorch生态系统中无法访问的工作流程。
translated by 谷歌翻译
原则上,稀疏的神经网络应该比传统的密集网络更有效。大脑中的神经元表现出两种类型的稀疏性;它们稀疏地相互连接和稀疏活跃。当组合时,这两种类型的稀疏性,称为重量稀疏性和激活稀疏性,提出了通过两个数量级来降低神经网络的计算成本。尽管存在这种潜力,但今天的神经网络只使用重量稀疏提供适度的性能益处,因为传统的计算硬件无法有效地处理稀疏网络。在本文中,我们引入了互补稀疏性,这是一种显着提高现有硬件对双稀疏网络性能的新技术。我们证明我们可以实现高性能运行的重量稀疏网络,我们可以通过结合激活稀疏性来乘以这些加速。采用互补稀疏性,我们显示出对FPGA的推断的吞吐量和能效提高了100倍。我们分析了典型的商业卷积网络等各种内核的可扩展性和资源权衡,例如Resnet-50和MobileNetv2。我们的互补稀疏性的结果表明,重量加激活稀疏性可以是有效的缩放未来AI模型的有效组合。
translated by 谷歌翻译
机器学习的进步为低端互联网节点(例如微控制器)带来了新的机会,将情报带入了情报。传统的机器学习部署具有较高的记忆力,并计算足迹阻碍了其在超资源约束的微控制器上的直接部署。本文强调了为MicroController类设备启用机载机器学习的独特要求。研究人员为资源有限的应用程序使用专门的模型开发工作流程,以确保计算和延迟预算在设备限制之内,同时仍保持所需的性能。我们表征了微控制器类设备的机器学习模型开发的广泛适用的闭环工作流程,并表明几类应用程序采用了它的特定实例。我们通过展示多种用例,将定性和数值见解介绍到模型开发的不同阶段。最后,我们确定了开放的研究挑战和未解决的问题,要求仔细考虑前进。
translated by 谷歌翻译