随着图形神经网络(GNNS)在科学机器学习中的受欢迎程度的提高,他们的培训和推理效率变得越来越重要。此外,整个深度学习领域正在朝着更广泛和更深的网络趋向于越来越多的数据大小,以至于经常遇到硬件硬件瓶颈。新兴的专业硬件平台为这个问题提供了令人兴奋的解决方案。在本文中,我们系统地介绍并选择了与GNN有关的低级操作,以用于在Pytorch几何软件框架中实施的科学计算。然后,这些在NVIDIA A100 GPU上进行了严格的基准测试,以实现多种输入值组合,包括张量稀疏性。然后,我们为每个操作分析这些结果。在高水平上,我们得出结论,在NVIDIA系统上:(1)混淆瓶颈,例如记忆效率低下通常比单独的数据稀疏性占主导地位,(2)本地Pytorch操作通常比其Pytorch几何相等等等或更具竞争力。在低至中等水平的输入数据稀疏性下,以及(3)最新的GNN体系结构中心的许多操作几乎没有对稀疏性的优化。我们希望这些结果是那些在专门硬件上开发这些操作的人的基准,我们随后的分析有助于促进对这些操作的未来软件和基于硬件的优化,从而促进总体上可扩展的GNN性能。
translated by 谷歌翻译
As the interest to Graph Neural Networks (GNNs) is growing, the importance of benchmarking and performance characterization studies of GNNs is increasing. So far, we have seen many studies that investigate and present the performance and computational efficiency of GNNs. However, the work done so far has been carried out using a few high-level GNN frameworks. Although these frameworks provide ease of use, they contain too many dependencies to other existing libraries. The layers of implementation details and the dependencies complicate the performance analysis of GNN models that are built on top of these frameworks, especially while using architectural simulators. Furthermore, different approaches on GNN computation are generally overlooked in prior characterization studies, and merely one of the common computational models is evaluated. Based on these shortcomings and needs that we observed, we developed a benchmark suite that is framework independent, supporting versatile computational models, easily configurable and can be used with architectural simulators without additional effort. Our benchmark suite, which we call gSuite, makes use of only hardware vendor's libraries and therefore it is independent of any other frameworks. gSuite enables performing detailed performance characterization studies on GNN Inference using both contemporary GPU profilers and architectural GPU simulators. To illustrate the benefits of our new benchmark suite, we perform a detailed characterization study with a set of well-known GNN models with various datasets; running gSuite both on a real GPU card and a timing-detailed GPU simulator. We also implicate the effect of computational models on performance. We use several evaluation metrics to rigorously measure the performance of GNN computation.
translated by 谷歌翻译
在过去十年中,已经开发出新的深度学习(DL)算法,工作负载和硬件来解决各种问题。尽管工作量和硬件生态系统的进步,DL系统的编程方法是停滞不前的。 DL工作负载从DL库中的高度优化,特定于平台和不灵活的内核,或者在新颖的操作员的情况下,通过具有强大性能的DL框架基元建立参考实现。这项工作介绍了Tensor加工基元(TPP),一个编程抽象,用于高效的DL工作负载的高效,便携式实现。 TPPS定义了一组紧凑而多才多艺的2D张镜操作员(或虚拟张量ISA),随后可以用作构建块,以在高维张量上构建复杂的运算符。 TPP规范是平台 - 不可行的,因此通过TPPS表示的代码是便携式的,而TPP实现是高度优化的,并且特定于平台。我们展示了我们使用独立内核和端到端DL&HPC工作负载完全通过TPPS表达的方法的效力和生存性,这在多个平台上优于最先进的实现。
translated by 谷歌翻译
最近,作为基于图形机器学习的骨干的图形神经网络(GNN)展示了各个域(例如,电子商务)的巨大成功。然而,由于基于高稀疏和不规则的图形操作,GNN的性能通常不令人满意。为此,我们提出,TC-GNN,基于GNN加速框架的第一个GPU张量核心单元(TCU)。核心思想是将“稀疏”GNN计算与“密集”TCU进行调和。具体地,我们对主流GNN计算框架中的稀疏操作进行了深入的分析。我们介绍了一种新颖的稀疏图翻译技术,便于TCU处理稀疏GNN工作量。我们还实现了一个有效的CUDA核心和TCU协作设计,以充分利用GPU资源。我们将TC-GNN与Pytorch框架完全集成,以便于编程。严格的实验在各种GNN型号和数据集设置的最先进的深图库框架上平均显示了1.70倍的加速。
translated by 谷歌翻译
稀疏的张量正在迅速成为现代深度学习工作负载的关键组成部分。但是,开发高性能的稀疏运营商可能很困难和乏味,现有的供应商库无法满足新运营商的不断升级要求。稀疏张量编译器简化了操作员的开发,但是对深度学习的有效稀疏编译仍然具有挑战性,因为单个稀疏格式无法最大程度地提高硬件效率,并且单次弹出编译器无法跟上最新的硬件和系统进步。我们表明,解决这两个挑战的关键是两种合成性。在本文中,我们提出了SparSetir,这是一种稀疏的张张汇编抽象,可为深度学习工作负载提供可合理的格式和可组合的转换。 Sparsetir在这些可组合组件上构建一个搜索空间,以进行性能调整。通过这些改进,SparSetir获得了单个操作员的GPU上的一致性能加速与供应商库:GNN操作员的1.1-3.3倍,稀疏变压器操作员的1.1-4.4x。 Sparsetir还以1.1-2.2倍的速度加速了端到端GNN,用于图形训练,而RGCN推断为0.9-26x。
translated by 谷歌翻译
随着机器学习系统的计算要求以及机器学习框架的规模和复杂性的增加,基本框架创新变得具有挑战性。尽管计算需求驱动了最近的编译器,网络和硬件的进步,但通过机器学习工具对这些进步的利用却以较慢的速度发生。这部分是由于与现有框架原型制作新的计算范式有关的困难。大型框架将机器学习研究人员和从业人员作为最终用户的优先级优先,并且很少关注能够向前推动框架的系统研究人员 - 我们认为两者都是同等重要的利益相关者。我们介绍了手电筒,这是一个开源库,旨在通过优先考虑开放式,模块化,可定制的内部设备以及最新的,可用于研究的模型和培训设置,以刺激机器学习工具和系统的创新。手电筒使系统研究人员能够快速原型并尝试机器学习计算中的新思想,并且开销低,与其他流行的机器学习框架竞争并经常超过其他流行的机器学习框架。我们将手电筒视为一种工具,可以使可以使广泛使用的图书馆受益,并使机器学习和系统研究人员更加紧密地结合在一起。手电筒可从https://github.com/flashlight/flashlight获得。
translated by 谷歌翻译
原则上,稀疏的神经网络应该比传统的密集网络更有效。大脑中的神经元表现出两种类型的稀疏性;它们稀疏地相互连接和稀疏活跃。当组合时,这两种类型的稀疏性,称为重量稀疏性和激活稀疏性,提出了通过两个数量级来降低神经网络的计算成本。尽管存在这种潜力,但今天的神经网络只使用重量稀疏提供适度的性能益处,因为传统的计算硬件无法有效地处理稀疏网络。在本文中,我们引入了互补稀疏性,这是一种显着提高现有硬件对双稀疏网络性能的新技术。我们证明我们可以实现高性能运行的重量稀疏网络,我们可以通过结合激活稀疏性来乘以这些加速。采用互补稀疏性,我们显示出对FPGA的推断的吞吐量和能效提高了100倍。我们分析了典型的商业卷积网络等各种内核的可扩展性和资源权衡,例如Resnet-50和MobileNetv2。我们的互补稀疏性的结果表明,重量加激活稀疏性可以是有效的缩放未来AI模型的有效组合。
translated by 谷歌翻译
深度神经网络(DNNS)的边缘训练是持续学习的理想目标。但是,这受到训练所需的巨大计算能力的阻碍。硬件近似乘数表明,它们在获得DNN推理加速器中获得资源效率的有效性;但是,使用近似乘数的培训在很大程度上尚未开发。为了通过支持DNN培训的近似乘数来构建有效的资源加速器,需要对不同DNN体系结构和不同近似乘数进行彻底评估。本文介绍了近似值,这是一个开源框架,允许使用模拟近似乘数快速评估DNN训练和推理。近似值与TensorFlow(TF)一样用户友好,仅需要对DNN体系结构的高级描述以及近似乘数的C/C ++功能模型。我们通过使用GPU(AMSIM)上的基于基于LUT的近似浮点(FP)乘数模拟器来提高乘数在乘数级别的模拟速度。近似值利用CUDA并有效地将AMSIM集成到张量库中,以克服商业GPU中的本机硬件近似乘数的缺乏。我们使用近似值来评估使用LENET和RESNETS体系结构的小型和大型数据集(包括Imagenet)的近似乘数的DNN训练的收敛性和准确性。与FP32和BFLOAT16乘数相比,评估表明测试准确性相似的收敛行为和可忽略不计的变化。与训练和推理中基于CPU的近似乘数模拟相比,GPU加速近似值快2500倍以上。基于具有本地硬件乘数的高度优化的闭合源Cudnn/Cublas库,原始张量量仅比近似值快8倍。
translated by 谷歌翻译
Graph neural networks (GNNs) have received great attention due to their success in various graph-related learning tasks. Several GNN frameworks have then been developed for fast and easy implementation of GNN models. Despite their popularity, they are not well documented, and their implementations and system performance have not been well understood. In particular, unlike the traditional GNNs that are trained based on the entire graph in a full-batch manner, recent GNNs have been developed with different graph sampling techniques for mini-batch training of GNNs on large graphs. While they improve the scalability, their training times still depend on the implementations in the frameworks as sampling and its associated operations can introduce non-negligible overhead and computational cost. In addition, it is unknown how much the frameworks are 'eco-friendly' from a green computing perspective. In this paper, we provide an in-depth study of two mainstream GNN frameworks along with three state-of-the-art GNNs to analyze their performance in terms of runtime and power/energy consumption. We conduct extensive benchmark experiments at several different levels and present detailed analysis results and observations, which could be helpful for further improvement and optimization.
translated by 谷歌翻译
深度学习领域目睹了对极端计算和内存密集型神经网络的显着转变。这些较新的较大模型使研究人员能够推进各种领域的最先进的工具。这种现象刺激了在更多的硬件加速器上产生了针对神经网络的分布式训练的算法。在本文中,我们讨论并比较了当前的最先进的框架,以实现大规模的分布式深度学习。首先,我们调查分布式学习中的当前实践,并确定所使用的不同类型的并行性。然后,我们提出了对大型图像和语言培训任务的性能进行了经验结果。此外,我们解决了他们的统计效率和内存消耗行为。根据我们的结果,我们讨论了阻碍性能的每个框架的算法和实现部分。
translated by 谷歌翻译
我们提出了TOD,这是一个在分布式多GPU机器上进行有效且可扩展的离群检测(OD)的系统。 TOD背后的一个关键思想是将OD应用程序分解为基本张量代数操作。这种分解使TOD能够通过利用硬件和软件中深度学习基础架构的最新进展来加速OD计算。此外,要在有限内存的现代GPU上部署昂贵的OD算法,我们引入了两种关键技术。首先,可证明的量化可以加快OD计算的速度,并通过以较低的精度执行特定的浮点操作来减少其内存足迹,同时证明没有准确的损失。其次,为了利用多个GPU的汇总计算资源和内存能力,我们引入了自动批处理,该批次将OD计算分解为小批次,以便在多个GPU上并行执行。 TOD支持一套全面且多样化的OD算法,例如LOF,PCA和HBOS以及实用程序功能。对真实和合成OD数据集的广泛评估表明,TOD平均比领先的基于CPU的OD系统PYOD快11.6倍(最大加速度为38.9倍),并且比各种GPU底线要处理的数据集更大。值得注意的是,TOD可以直接整合其他OD算法,并提供了将经典OD算法与深度学习方法相结合的统一框架。这些组合产生了无限数量的OD方法,其中许多方法是新颖的,可以很容易地在TOD中进行原型。
translated by 谷歌翻译
一般矩阵乘法或GEMM内核在高性能计算和机器学习中占据中心位置。最近的NVIDIA GPU包括Gemm加速器,如Nvidia的张量核心。他们的剥削受到双语言问题的阻碍:它需要低级编程,这意味着低程序员的工作效率或使用只提供有限组件集的库。由于建立的组件方面的REPRASING算法经常引入开销,因此图书馆缺乏灵活性限制了探索新算法的自由。因此,使用GEMMS的研究人员无法立即享受编程生产力,高性能和研究灵活性。在本文中,我们解决了这个问题。我们在科学朱莉娅编程语言中展示了三组抽象和接口来编程宝石。界面和抽象共同设计用于研究人员的需求和朱莉娅的特征,以实现足够的担忧和灵活性的充分分离,以便在不支付性能价格的情况下轻松地扩展基本宝石。将我们的Gemms与最先进的图书馆Cublas和Cutlass进行比较,我们证明我们的性能在图书馆的相同球场中,并且在某些情况下甚至超过它,而无需在CUDA C ++中编写单行代码或者组装,而不面临灵活限制。
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 谷歌翻译
深度学习的快速进步正在导致一系列快速变化的模型,对计算的需求急剧增长。但是,随着框架将性能优化专门针对流行网络的模式,它们隐含地限制了推动研究进展的新颖和多样化的模型。我们通过定义灵活和用户可定制的管道来优化基于数据运动最小化的任意深神经网络的培训来赋予深度学习研究人员的能力。管道始于Pytorch或ONNX中的标准网络,并通过逐步降低转换计算。我们定义了四个级别的通用转换级别,从局部操作员优化到全球数据运动减少。这些在以数据为中心的图形中间表示上运行,该表示在各个级别的抽象级别表达计算和数据移动,包括扩展基本运算符,例如其基础计算的卷积。设计的核心是管道的互动性和内省性质。每个部分都可以通过Python API扩展,并且可以使用GUI进行交互调整。我们在十个不同的网络上展示了竞争性能或加速性,交互式优化发现了高效网络中的新机会。
translated by 谷歌翻译
尽管图形神经网络(GNNS)领域的进步,但目前仅使用少量数据集来评估新模型。这种持续依赖少数数据集提供了对模型之间的性能差异的最小见解,对于可能具有与用作学术基准的数据集有很大不同的工业从业人员而言,尤其具有挑战性。在Google在GNN基础架构和开源软件方面的工作过程中,我们试图开发改进的基准,这些基准可健壮,可调,可扩展且可推广。在这项工作中,我们介绍了GraphWorld,这是一种新的方法和系统,用于对任何可疑的GNN任务进行任意大量的合成图种群进行基准测试GNN模型。 GraphWorld允许用户有效地生成具有数百万个统计上不同数据集的世界。它可访问,可扩展且易于使用。 GraphWorld可以在没有专门硬件的情况下在一台计算机上运行,​​也可以轻松地扩展到在任意群集或云框架上运行。使用GraphWorld,用户对Graph Generator参数具有细粒度的控制,并且可以使用内置的超参数调整基准测试任意GNN模型。我们从GraphWorld实验中介绍了有关数以百亿个基准数据集中数以万计的GNN模型的性能特征的见解。我们进一步表明,GraphWorld有效地探索了标准基准测试的基准数据集空间区域,从而揭示了在历史上无法获得的模型之间的比较。使用GraphWorld,我们还能够研究图形属性与任务性能指标之间的关系,这对于经典的现实基准集合而言,这几乎是不可能的。
translated by 谷歌翻译
变形金刚是今天最重要的机器学习工作负载之一。培训是一个非常计算密集的任务,通常需要几天或几周,并且对优化变压器进行了重大关注。尽管如此,现有的实现不会有效地利用GPU。我们发现数据移动是培训时的关键瓶颈。由于Amdahl的法律和大规模改进的计算性能,培训现已成为记忆束缚。此外,现有框架使用次优数据布局。使用这些洞察力,我们提供了一个用于全局优化变压器数据移动的配方。我们将数据移动降低到22.91%,总体上实现了在训练伯特编码器层和1.19x的整个伯特的最先进框架上的1.30倍的性能改进。我们的方法更广泛地适用于优化深神经网络,并深入了解如何解决新兴的性能瓶颈。
translated by 谷歌翻译
图形神经网络(GNNS)在学习从图形结构数据中展示了成功,其中包含欺诈检测,推荐和知识图形推理。然而,培训GNN有效地具有挑战性,因为:1)GPU存储器容量有限,对于大型数据集可能不足,而2)基于图形的数据结构导致不规则的数据访问模式。在这项工作中,我们提供了一种统计分析的方法,并确定了GNN培训前更频繁地访问的数据。我们的数据分层方法不仅利用输入图的结构,而且还从实际GNN训练过程中获得了洞察力,以实现更高的预测结果。通过我们的数据分层方法,我们还提供了一种新的数据放置和访问策略,以进一步最大限度地减少CPU-GPU通信开销。我们还考虑了多GPU GNN培训,我们也展示了我们在多GPU系统中的策略的有效性。评估结果表明,我们的工作将CPU-GPU流量降低了87-95%,并通过数亿节点和数十亿边缘的图表提高了现有解决方案的GNN训练速度。
translated by 谷歌翻译
TensorFlow is a machine learning system that operates at large scale and in heterogeneous environments. Tensor-Flow uses dataflow graphs to represent computation, shared state, and the operations that mutate that state. It maps the nodes of a dataflow graph across many machines in a cluster, and within a machine across multiple computational devices, including multicore CPUs, generalpurpose GPUs, and custom-designed ASICs known as Tensor Processing Units (TPUs). This architecture gives flexibility to the application developer: whereas in previous "parameter server" designs the management of shared state is built into the system, TensorFlow enables developers to experiment with novel optimizations and training algorithms. TensorFlow supports a variety of applications, with a focus on training and inference on deep neural networks. Several Google services use TensorFlow in production, we have released it as an open-source project, and it has become widely used for machine learning research. In this paper, we describe the TensorFlow dataflow model and demonstrate the compelling performance that Tensor-Flow achieves for several real-world applications.
translated by 谷歌翻译
图表神经网络(GNNS)最近在人工智能(AI)领域的普及,这是由于它们作为输入数据相对非结构化数据类型的独特能力。尽管GNN架构的一些元素在概念上类似于传统神经网络(以及神经网络变体)的操作中,但是其他元件代表了传统深度学习技术的偏离。本教程通过整理和呈现有关GNN最常见和性能变种的动机,概念,数学和应用的细节,将GNN的权力和新颖性暴露给AI从业者。重要的是,我们简明扼要地向实际示例提出了本教程,从而为GNN的主题提供了实用和可访问的教程。
translated by 谷歌翻译
TensorFlow GNN(TF-GNN)是张量曲线的图形神经网络的可扩展库。它是从自下而上设计的,以支持当今信息生态系统中发生的丰富的异质图数据。Google的许多生产模型都使用TF-GNN,最近已作为开源项目发布。在本文中,我们描述了TF-GNN数据模型,其KERAS建模API以及相关功能,例如图形采样,分布式训练和加速器支持。
translated by 谷歌翻译