训练机学习算法是一个计算密集型过程,由于反复访问大型培训数据集,因此经常会限制内存。结果,以处理器为中心的系统(例如CPU,GPU)遭受了内存单元和处理单元之间的昂贵数据移动,这会消耗大量的能量和执行周期。以内存为中心的计算系统,即具有内存处理(PIM)功能的计算系统,可以减轻此数据运动瓶颈。我们的目标是了解现代通用PIM体系结构加速机器学习培训的潜力。为此,我们(1)将几种代表性的经典机器学习算法(即线性回归,逻辑回归,决策树,K-均值聚类)上实现在现实世界通用PIM架构上(2)以术语来表征它们与CPU和GPU上的同行实现相比,(3)将其准确性,性能和缩放率进行比较。我们对具有2500多个PIM核心的内存计算系统进行的实验评估表明,当PIM硬件在必要的操作和数据类型上,通用PIM体系结构可以极大地加速记忆的机器学习工作负载。据我们所知,我们的工作是第一个评估现实世界通用PIM体系结构的机器学习算法培训的工作。
translated by 谷歌翻译
训练机学习(ML)算法是一个计算密集型过程,由于反复访问大型培训数据集,经常会陷入内存。结果,以处理器为中心的系统(例如CPU,GPU)遭受了内存单元和处理单元之间的昂贵数据移动,这会消耗大量的能量和执行周期。以内存为中心的计算系统,即具有内存(PIM)功能,可以减轻此数据运动瓶颈。我们的目标是了解现代通用PIM体系结构加速ML培训的潜力。为此,我们(1)在现实世界通用PIM体系结构上实现了几种代表性的经典ML算法(即线性回归,逻辑回归,决策树,K-均值聚类),(2)严格评估并表征它们在准确性,性能和缩放方面以及(3)与CPU和GPU上的对应物实现相比。我们对具有2500多个PIM核心的真实内存计算系统的评估表明,当PIM硬件在必要的操作和数据类型上,通用PIM架构可以极大地加速内存的ML工作负载。例如,我们对决策树的PIM实施比8核Intel Xeon上的最先进的CPU版本$ 27 \ times $ $,并且比最先进的GPU快$ 1.34 \ times $ $ NVIDIA A100上的版本。我们在PIM上的K-Means聚类分别为$ 2.8 \ times $和$ 3.2 \ times $ $,分别是最先进的CPU和GPU版本。据我们所知,我们的工作是第一个评估现实世界中PIM架构的ML培训的工作。我们以关键的观察,外卖和建议结束,可以激发ML工作负载的用户,PIM架构的程序员以及未来以内存计算系统的硬件设计师和架构师。
translated by 谷歌翻译
神经网络(NNS)的重要性和复杂性正在增长。神经网络的性能(和能源效率)可以通过计算或内存资源约束。在内存阵列附近或内部放置计算的内存处理(PIM)范式是加速内存绑定的NNS的可行解决方案。但是,PIM体系结构的形式各不相同,其中不同的PIM方法导致不同的权衡。我们的目标是分析基于NN的性能和能源效率的基于DRAM的PIM架构。为此,我们分析了三个最先进的PIM架构:(1)UPMEM,将处理器和DRAM阵列集成到一个2D芯片中; (2)Mensa,是针对边缘设备量身定制的基于3D堆栈的PIM架构; (3)Simdram,它使用DRAM的模拟原理来执行位序列操作。我们的分析表明,PIM极大地受益于内存的NNS:(1)UPMEM在GPU需要内存过度按要求的通用矩阵 - 矢量乘数内核时提供23x高端GPU的性能; (2)Mensa在Google Edge TPU上提高了3.0倍和3.1倍的能源效率和吞吐量,用于24个Google Edge NN型号; (3)SIMDRAM在三个二进制NNS中以16.7倍/1.4倍的速度优于CPU/GPU。我们得出的结论是,由于固有的建筑设计选择,NN模型的理想PIM体系结构取决于模型的独特属性。
translated by 谷歌翻译
Python已成为机器学习(ML),深度学习(DL)和数据科学(DS)等新兴领域的主要编程语言。 Python的一个有吸引力的功能是,它提供易于使用的编程界面,同时允许图书馆开发人员通过利用高性能计算(HPC)平台提供的计算能力来提高其应用程序的性能。有效的通信是在并行系统上扩展应用程序的关键,通常通过HPC硬件上的消息传递接口(MPI)标准库(MPI)标准库来启用该应用程序。 MPI4PY是一个基于Python的通信库,为Python应用程序提供了类似MPI的接口,允许应用程序开发人员利用包括GPU在内的并行处理元素。但是,目前尚无基准套件来评估现代HPC系统上MPI4PY和PYTHON MPI代码的通信性能。为了弥合这一差距,我们提出了OMB-PY-开源OSU微基准(OMB)套件的Python扩展 - 旨在评估Python中基于MPI的并行应用的通信性能。据我们所知,OMB-PY是平行Python应用程序的第一间通信基准套件。 OMB-PY由各种点对点和集体通信基准测试组成,这些测试适用于一系列流行的Python库,包括Numpy,Cupy,Numba和Pycuda。我们的评估表明,与天然MPI库相比,MPI4PY引入了一个小开销。我们计划公开发布OMB-PY,以使Python HPC社区受益。
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 谷歌翻译
计算机架构和系统已优化了很长时间,以便高效执行机器学习(ML)模型。现在,是时候重新考虑ML和系统之间的关系,并让ML转换计算机架构和系统的设计方式。这有一个双重含义:改善设计师的生产力,以及完成良性周期。在这篇论文中,我们对应用ML进行计算机架构和系统设计的工作进行了全面的审查。首先,我们考虑ML技术在架构/系统设计中的典型作用,即快速预测建模或设计方法,我们执行高级分类学。然后,我们总结了通过ML技术解决的计算机架构/系统设计中的常见问题,并且所用典型的ML技术来解决它们中的每一个。除了在狭义中强调计算机架构外,我们采用数据中心可被认为是仓库规模计算机的概念;粗略的计算机系统中提供粗略讨论,例如代码生成和编译器;我们还注意ML技术如何帮助和改造设计自动化。我们进一步提供了对机会和潜在方向的未来愿景,并设想应用ML的计算机架构和系统将在社区中蓬勃发展。
translated by 谷歌翻译
随着机器学习系统的计算要求以及机器学习框架的规模和复杂性的增加,基本框架创新变得具有挑战性。尽管计算需求驱动了最近的编译器,网络和硬件的进步,但通过机器学习工具对这些进步的利用却以较慢的速度发生。这部分是由于与现有框架原型制作新的计算范式有关的困难。大型框架将机器学习研究人员和从业人员作为最终用户的优先级优先,并且很少关注能够向前推动框架的系统研究人员 - 我们认为两者都是同等重要的利益相关者。我们介绍了手电筒,这是一个开源库,旨在通过优先考虑开放式,模块化,可定制的内部设备以及最新的,可用于研究的模型和培训设置,以刺激机器学习工具和系统的创新。手电筒使系统研究人员能够快速原型并尝试机器学习计算中的新思想,并且开销低,与其他流行的机器学习框架竞争并经常超过其他流行的机器学习框架。我们将手电筒视为一种工具,可以使可以使广泛使用的图书馆受益,并使机器学习和系统研究人员更加紧密地结合在一起。手电筒可从https://github.com/flashlight/flashlight获得。
translated by 谷歌翻译
本文介绍了有关如何架构,设计和优化深神经网络(DNN)的最新概述,以提高性能并保留准确性。该论文涵盖了一组跨越整个机器学习处理管道的优化。我们介绍两种类型的优化。第一个改变了DNN模型,需要重新训练,而第二个则不训练。我们专注于GPU优化,但我们认为提供的技术可以与其他AI推理平台一起使用。为了展示DNN模型优化,我们在流行的Edge AI推理平台(Nvidia Jetson Agx Xavier)上改善了光流的最先进的深层网络体系结构之一,RAFT ARXIV:2003.12039。
translated by 谷歌翻译
虽然离散事件模拟器是建筑研究,设计和开发的必备工具,但它们的实用性受到在调查下的现实应用的极长时间的影响。这项工作描述了一项协调一致的努力,其中机器学习(ML)用于加速离散事件仿真。首先,构建了用于静态指令属性和动态处理器状态的基于ML的指令延迟预测框架。然后,基于所提出的指令延迟预测器来实现GPU加速的并行模拟器,并且验证了其模拟精度和吞吐量并针对最先进的模拟器评估。利用现代GPU,基于ML的模拟器显着优于传统的模拟器。
translated by 谷歌翻译
我们展示了CFU Playground,这是一个全堆栈的开源框架,可实现用于嵌入式ML系统的机器学习(ML)加速器的快速和迭代设计。我们的工具链紧紧集成开源软件,RTL发电机和FPGA工具,用于综合,地点和路线。此全堆栈开发框架为工程师提供了访问探索定制架构,这些架构是为嵌入式ML定制和共同优化的。快速,部署型材优化反馈循环让ML硬件和软件开发人员在对定制方面相对较小的投资中取得重大回报。使用CFU Playground的设计循环,我们在CPU和加速器之间显示了大量的Speedups(55x-75x)和设计空间探索。
translated by 谷歌翻译
神经网络的外包计算允许用户访问艺术模型的状态,而无需投资专门的硬件和专业知识。问题是用户对潜在的隐私敏感数据失去控制。通过同性恋加密(HE)可以在加密数据上执行计算,而不会显示其内容。在这种知识的系统化中,我们深入了解与隐私保留的神经网络相结合的方法。我们将更改分类为神经网络模型和架构,使其在他和这些变化的影响方面提供影响。我们发现众多挑战是基于隐私保留的深度学习,例如通过加密方案构成的计算开销,可用性和限制。
translated by 谷歌翻译
当为其简单和可扩展性实现嵌入式系统中的机器学习时,通常优选决策树。 Hoeffding树是一种决策树,其利用霍夫特队允许他们学习数据中的模式而无需连续地存储数据样本以供将来进行再处理。这使它们特别适合在嵌入式设备上进行部署。在这项工作中,我们突出了HOEFFD树的HLS实现的特征。实现参数包括样本(d)的特征大小,输出类(k)的数量,以及允许树被允许生长的最大节点数量(nd)。我们针对Xilinx MPSoC ZCU102,评估:设计的资源需求和时钟频率,不同数量的类和特征大小,执行时间在不同样本大小(n)的若干合成数据集,输出类数量和执行时间和执行时间从UCI的两个数据集的准确性。对于D3,K5和N40000的问题大小,在103MHz上运行的单个决策树能够比1.2GHz ARM Cortex-A53核心更快推理8.3倍。与Hoeffding树的参考实现相比,我们为UCI数据集实现了可比的分类准确性。
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 谷歌翻译
在过去十年中,已经开发出新的深度学习(DL)算法,工作负载和硬件来解决各种问题。尽管工作量和硬件生态系统的进步,DL系统的编程方法是停滞不前的。 DL工作负载从DL库中的高度优化,特定于平台和不灵活的内核,或者在新颖的操作员的情况下,通过具有强大性能的DL框架基元建立参考实现。这项工作介绍了Tensor加工基元(TPP),一个编程抽象,用于高效的DL工作负载的高效,便携式实现。 TPPS定义了一组紧凑而多才多艺的2D张镜操作员(或虚拟张量ISA),随后可以用作构建块,以在高维张量上构建复杂的运算符。 TPP规范是平台 - 不可行的,因此通过TPPS表示的代码是便携式的,而TPP实现是高度优化的,并且特定于平台。我们展示了我们使用独立内核和端到端DL&HPC工作负载完全通过TPPS表达的方法的效力和生存性,这在多个平台上优于最先进的实现。
translated by 谷歌翻译
强化学习(RL)的工作负载需要臭名昭著的时间来训练,因为在运行时间从模拟器收集了大量样本。不幸的是,群集扩展方法仍然很昂贵,并且在GPU计算之间来回切换时,模拟器的常用CPU实现会诱导高空开销。我们探索两种优化,通过增加GPU利用率来提高RL数据收集效率:(1)GPU矢量化:在GPU上平行模拟,以增加硬件并行性,以及(2)模拟器内核融合:融合多个模拟步骤,以在单个GPU内核中运行。启动以减少全局内存带宽要求。我们发现,与常用的CPU模拟器相比,GPU矢量化最多可达到$ 1024 \ times $速度。我们介绍了不同实现的性能,并表明,对于简单的模拟器,GPU矢量化的ML编译器实现(XLA)通过将CPU从重复的Python降低到DL Backend API呼叫来优于DNN Framework(Pytorch)$ 13.4 \ times $。我们证明,带有简单模拟器的模拟器内核融合加速度为$ 11.3 \ times $,并且随着模拟器复杂性在内存带宽要求方面的增加,增加了$ 1024 \ times $。我们表明,来自模拟器内核融合的加速度是正交的,可以与GPU矢量化结合,从而导致乘法加速。
translated by 谷歌翻译
安全的多方计算(MPC)允许当事方在数据私有的同时对数据进行计算。该功能具有机器学习应用程序的巨大潜力:它促进了对不同政党拥有的私人数据集的机器学习模型的培训,使用另一方的私人数据评估一方的私人模型等。尽管一系列研究实现了机器 - 通过安全MPC学习模型,此类实现尚未成为主流。没有灵活的软件框架“说话”机器学习研究人员和工程师的灵活软件框架的缺乏阻碍了安全MPC的采用。为了促进机器学习中安全MPC的采用,我们提出了Crypten:一个软件框架,该框架通过在现代机器学习框架中常见的抽象来揭示流行的安全MPC原语,例如张量计算,自动分化和模块化神经网络。本文描述了隐秘的设计,并在最新的文本分类,语音识别和图像分类的模型上衡量其性能。我们的基准表明,Crypten的GPU支持和(任意数量)各方之间的高性能通信使其能够在半honest威胁模型下对现代机器学习模型进行有效的私人评估。例如,使用密码的两方可以使用WAV2letter在语音记录中安全预测音素的速度比实时更快。我们希望Crypten能促使在机器学习社区中采用安全MPC。
translated by 谷歌翻译
基于von-neumann架构的传统计算系统,数据密集型工作负载和应用程序(如机器学习)和应用程序都是基本上限制的。随着数据移动操作和能量消耗成为计算系统设计中的关键瓶颈,对近数据处理(NDP),机器学习和特别是神经网络(NN)的加速器等非传统方法的兴趣显着增加。诸如Reram和3D堆叠的新兴内存技术,这是有效地架构基于NN的基于NN的加速器,因为它们的工作能力是:高密度/低能量存储和近记忆计算/搜索引擎。在本文中,我们提出了一种为NN设计NDP架构的技术调查。通过基于所采用的内存技术对技术进行分类,我们强调了它们的相似之处和差异。最后,我们讨论了需要探索的开放挑战和未来的观点,以便改进和扩展未来计算平台的NDP架构。本文对计算机学习领域的计算机架构师,芯片设计师和研究人员来说是有价值的。
translated by 谷歌翻译
扩展培训工作负载的能力是深度学习的关键性能推动者之一。主要缩放方法是基于数据并行GPU的培训,该培训已经被硬件和软件支持高效地支持高效的GPU通信,特别是通过带宽过度曝光。此支持以A价格出现:相对于其“消费者级”对应物,“云级”服务器之间存在幅度成本差异,但相对于其“消费者级”对应物,虽然服务器级和消费者级GPU可以具有类似的计算信封。在本文中,我们调查了昂贵的硬件过度控制方法是否可以通过算法和系统设计所涵盖,并提出称为CGX的框架,为通信压缩提供有效的软件支持。我们认为,在没有硬件支持的情况下,该框架能够从消费者级多GPU系统中删除通信瓶颈:在没有硬件支持的情况下:在培训现代模型和全部准确性方面时,我们的框架可以在商品上进行2-3倍的自动加速系统使用8个消费者级NVIDIA RTX 3090 GPU,并使其超越NVIDIA DGX-1服务器的吞吐量,其具有类似的峰值闪光,但是从带宽过度提供的益处。
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 谷歌翻译