高吞吐量数据处理应用的高效硬件加速器设计,例如深度神经网络,是计算机架构设计中有挑战性的任务。在这方面,高级合成(HLS)作为快速原型设计的解决方案,从应用程序计算流程的行为描述开始。这种设计空间探索(DSE)旨在识别帕累托最佳的合成配置,其穷举搜索由于设计空间维度和合成过程的禁止计算成本而往往不可行。在该框架内,我们通过提出在文献中,有效和有效地解决了设计问题图形神经网络,该神经网络共同预测了合成的行为规范的加速性能和硬件成本给出了优化指令。考虑到性能和成本估计,学习模型可用于通过引导DSE来快速接近帕累托曲线。所提出的方法优于传统的HLS驱动DSE方法,通过考虑任意长度的计算机程序和输入的不变特性。我们提出了一种新颖的混合控制和数据流图表示,可以在不同硬件加速器的规格上培训图形神经网络;该方法自然地转移到解除数据处理应用程序。此外,我们表明我们的方法实现了与常用模拟器的预测准确性相当,而无需访问HLS编译器和目标FPGA的分析模型,同时是更快的数量级。最后,通过微调来自新目标域的少量样本,可以在未开发的配置空间中解放所学习的表示。
translated by 谷歌翻译
高级综合(HLS)释放了计算机架构师以非常低级的语言开发他们的设计,并需要准确指定如何在寄存器级别传输数据。在HLS的帮助下,硬件设计人员必须只描述设计的高级行为流程。尽管如此,它仍然可能需要数周才能开发高性能架构,主要是因为在更高的水平下有许多设计选择需要更多的时间来探索。它还需要几分钟才能从HLS工具上获得每个设计候选人的质量的反馈。在本文中,我们建议通过使用培训的图形神经网络(GNN)来建立HLS工具来解决这个问题,该工具被培训用于广泛的应用程序。实验结果表明,通过采用基于GNN的模型,我们能够以高精度估计毫秒的设计质量,这可以帮助我们非常快速地搜索解决方案空间。
translated by 谷歌翻译
计算机架构和系统已优化了很长时间,以便高效执行机器学习(ML)模型。现在,是时候重新考虑ML和系统之间的关系,并让ML转换计算机架构和系统的设计方式。这有一个双重含义:改善设计师的生产力,以及完成良性周期。在这篇论文中,我们对应用ML进行计算机架构和系统设计的工作进行了全面的审查。首先,我们考虑ML技术在架构/系统设计中的典型作用,即快速预测建模或设计方法,我们执行高级分类学。然后,我们总结了通过ML技术解决的计算机架构/系统设计中的常见问题,并且所用典型的ML技术来解决它们中的每一个。除了在狭义中强调计算机架构外,我们采用数据中心可被认为是仓库规模计算机的概念;粗略的计算机系统中提供粗略讨论,例如代码生成和编译器;我们还注意ML技术如何帮助和改造设计自动化。我们进一步提供了对机会和潜在方向的未来愿景,并设想应用ML的计算机架构和系统将在社区中蓬勃发展。
translated by 谷歌翻译
动态类型的语言如JavaScript和Python已成为最受欢迎的使用中的使用中。重要的优势可以从动态类型的程序中的类型注释累积。逐渐键入的这种方法是由Querecript编程系统示例,允许程序员指定部分键入的程序,然后使用静态分析来推断剩余类型。然而,通常,静态类型推断的有效性受到限制,取决于程序结构和初始注释的复杂性。结果,对于可以在动态类型的程序中可以在静态预测类型中推进本领域的新​​方法的强大动机,并且该具有可接受的性能用于交互式编程环境。以前的工作表明了使用深度学习的概率类型推断的承诺。在本文中,我们通过引入一系列图形的神经网络(GNN)模型来推进过去的工作,该模型在新型流程图(TFG)表示上运行。 TFG表示输入程序的元素,作为与语法边缘和数据流边缘连接的图表节点,并且我们的GNN模型训练以预测给定输入程序的TFG中的类型标签。我们为我们的评估数据集中的100种最常见类型的GNN模型研究了不同的设计选择,并显示了我们最佳的准确性的两个GNN配置,分别实现了87.76%和86.89%的前1个精度,优于两个最密切相关的深度学习型推断从过去的工作 - 矮人的前进剂,顶级1的精度为84.62%,兰丹特精确为79.45%。此外,这两种配置的平均推理吞吐量为353.8和1,303.9文件/秒,而DeepTyper的186.7个文件/秒和LambDanet的1,050.3文件/秒。
translated by 谷歌翻译
在过去十年中,已经开发出新的深度学习(DL)算法,工作负载和硬件来解决各种问题。尽管工作量和硬件生态系统的进步,DL系统的编程方法是停滞不前的。 DL工作负载从DL库中的高度优化,特定于平台和不灵活的内核,或者在新颖的操作员的情况下,通过具有强大性能的DL框架基元建立参考实现。这项工作介绍了Tensor加工基元(TPP),一个编程抽象,用于高效的DL工作负载的高效,便携式实现。 TPPS定义了一组紧凑而多才多艺的2D张镜操作员(或虚拟张量ISA),随后可以用作构建块,以在高维张量上构建复杂的运算符。 TPP规范是平台 - 不可行的,因此通过TPPS表示的代码是便携式的,而TPP实现是高度优化的,并且特定于平台。我们展示了我们使用独立内核和端到端DL&HPC工作负载完全通过TPPS表达的方法的效力和生存性,这在多个平台上优于最先进的实现。
translated by 谷歌翻译
深度学习在各种软件工程任务中广泛使用,例如,节目分类和缺陷预测。虽然该技术消除了特征工程所需的过程,但源代码模型的构建显着影响了这些任务的性能。最近的作品主要集中在通过引入从CFG提取的上下文依赖项来补充基于AST的源代码模型。但是,所有这些都关注基本块的表示,这是上下文依赖性的基础。在本文中,我们集成了AST和CFG,并提出了一种嵌入了分层依赖项的新型源代码模型。基于此,我们还设计了一种神经网络,这取决于图表关注机制。特殊地,我们介绍了基本块的句法结构,即其对应的AST,在源代码模型中提供足够的信息并填补间隙。我们在三种实际软件工程任务中评估了该模型,并将其与其他最先进的方法进行了比较。结果表明,我们的模型可以显着提高性能。例如,与最佳性能的基线相比,我们的模型将参数的比例降低了50 \%并实现了对程序分类任务的准确性的4 \%改进。
translated by 谷歌翻译
在CERN大强子撞机(LHC)的碰撞中的带电粒子轨迹的测定是一个重要但挑战性的问题,特别是在LHC(HL-LHC)的未来高亮度相期间的高相互作用密度条件下。图形神经网络(GNNS)是一种类型的几何深度学习算法,通过将跟踪器数据嵌入作为图形节点来成功应用于此任务的几何深度学习算法,而边缘表示可能的曲线段 - 并将边缘分类为真实或假轨道段。但是,由于其大量的计算成本,它们在基于硬件或软件的触发器应用中的研究受到限制。在本文中,我们介绍了一个自动翻译工作流程,集成到一个名为$ \ texttt {hls4ml} $的更广泛的工具中,用于将GNN转换为现场可编程门阵列(FPGA)的固件。我们使用此翻译工具实现用于带电粒子跟踪的GNN,使用TrackML挑战DataSet在FPGA上培训,其中设计针对不同的图表大小,任务复杂和延迟/吞吐量要求。该工作可以在HL-LHC实验的触发水平下纳入带电粒子跟踪GNN。
translated by 谷歌翻译
这项工作侧重于特定于域的加速器的有效敏捷设计方法。我们采用垂直开发堆栈的功能逐个功能增强,并将其应用于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 谷歌翻译
即使机器学习算法已经在数据科学中发挥了重要作用,但许多当前方法对输入数据提出了不现实的假设。由于不兼容的数据格式,或数据集中的异质,分层或完全缺少的数据片段,因此很难应用此类方法。作为解决方案,我们提出了一个用于样本表示,模型定义和培训的多功能,统一的框架,称为“ Hmill”。我们深入审查框架构建和扩展的机器学习的多个范围范式。从理论上讲,为HMILL的关键组件的设计合理,我们将通用近似定理的扩展显示到框架中实现的模型所实现的所有功能的集合。本文还包含有关我们实施中技术和绩效改进的详细讨论,该讨论将在MIT许可下发布供下载。该框架的主要资产是其灵活性,它可以通过相同的工具对不同的现实世界数据源进行建模。除了单独观察到每个对象的一组属性的标准设置外,我们解释了如何在框架中实现表示整个对象系统的图表中的消息推断。为了支持我们的主张,我们使用框架解决了网络安全域的三个不同问题。第一种用例涉及来自原始网络观察结果的IoT设备识别。在第二个问题中,我们研究了如何使用以有向图表示的操作系统的快照可以对恶意二进制文件进行分类。最后提供的示例是通过网络中实体之间建模域黑名单扩展的任务。在所有三个问题中,基于建议的框架的解决方案可实现与专业方法相当的性能。
translated by 谷歌翻译
组合优化是运营研究和计算机科学领域的一个公认领域。直到最近,它的方法一直集中在孤立地解决问题实例,而忽略了它们通常源于实践中的相关数据分布。但是,近年来,人们对使用机器学习,尤其是图形神经网络(GNN)的兴趣激增,作为组合任务的关键构件,直接作为求解器或通过增强确切的求解器。GNN的电感偏差有效地编码了组合和关系输入,因为它们对排列和对输入稀疏性的意识的不变性。本文介绍了对这个新兴领域的最新主要进步的概念回顾,旨在优化和机器学习研究人员。
translated by 谷歌翻译
Graph classification is an important area in both modern research and industry. Multiple applications, especially in chemistry and novel drug discovery, encourage rapid development of machine learning models in this area. To keep up with the pace of new research, proper experimental design, fair evaluation, and independent benchmarks are essential. Design of strong baselines is an indispensable element of such works. In this thesis, we explore multiple approaches to graph classification. We focus on Graph Neural Networks (GNNs), which emerged as a de facto standard deep learning technique for graph representation learning. Classical approaches, such as graph descriptors and molecular fingerprints, are also addressed. We design fair evaluation experimental protocol and choose proper datasets collection. This allows us to perform numerous experiments and rigorously analyze modern approaches. We arrive to many conclusions, which shed new light on performance and quality of novel algorithms. We investigate application of Jumping Knowledge GNN architecture to graph classification, which proves to be an efficient tool for improving base graph neural network architectures. Multiple improvements to baseline models are also proposed and experimentally verified, which constitutes an important contribution to the field of fair model comparison.
translated by 谷歌翻译
代码搜索目标是根据自然语言查询检索相关的代码片段,以提高软件生产力和质量。但是,由于源代码和查询之间的语义间隙,自动代码搜索是具有挑战性的。大多数现有方法主要考虑嵌入的顺序信息,其中文本背后的结构信息不完全考虑。在本文中,我们设计了一个名为GraphsearchNet的新型神经网络框架,通过共同学习源代码和查询的富集语义来启用有效和准确的源代码搜索。具体地,我们建议将源代码和查询编码为两个图,其中双向GGNN以捕获图表的本地结构信息。此外,我们通过利用有效的多主题来增强BigGNN,以补充BigGNN错过的全球依赖。关于Java和Python数据集的广泛实验说明了GraphSearchNet优于当前最先进的工作原位。
translated by 谷歌翻译
这项工作提出了专门针对粒子探测器的低潜伏期图神经网络(GNN)设计的新型可重构体系结构。加速粒子探测器的GNN是具有挑战性的,因为它需要次微秒延迟才能在CERN大型强子撞机实验的级别1触发器中部署网络以进行在线事件选择。本文提出了一种自定义代码转换,并在基于互动网络的GNN中使用完全连接的图表中的矩阵乘法操作降低了强度,从而避免了昂贵的乘法。它利用了稀疏模式以及二进制邻接矩阵,并避免了不规则的内存访问,从而降低了延迟和硬件效率的提高。此外,我们引入了一种基于外部产品的基质乘法方法,该方法通过降低潜伏期设计的强度降低来增强。此外,引入了融合步骤,以进一步降低设计延迟。此外,提出了GNN特异性算法 - 硬件共同设计方法,该方法不仅找到了具有更好延迟的设计,而且在给定的延迟约束下发现了高精度的设计。最后,已经设计和开源了此低延迟GNN硬件体系结构的可自定义模板,该模板可以使用高级合成工具来生成低延迟的FPGA设计,并有效地利用资源。评估结果表明,我们的FPGA实施速度高24倍,并且消耗的功率比GPU实施少45倍。与我们以前的FPGA实施相比,这项工作的延迟降低了6.51至16.7倍。此外,我们的FPGA设计的延迟足以使GNN在亚微秒,实时撞机触发器系统中部署,从而使其能够从提高的精度中受益。
translated by 谷歌翻译
近年来,基于Weisfeiler-Leman算法的算法和神经架构,是一个众所周知的Graph同构问题的启发式问题,它成为具有图形和关系数据的机器学习的强大工具。在这里,我们全面概述了机器学习设置中的算法的使用,专注于监督的制度。我们讨论了理论背景,展示了如何将其用于监督的图形和节点表示学习,讨论最近的扩展,并概述算法的连接(置换 - )方面的神经结构。此外,我们概述了当前的应用和未来方向,以刺激进一步的研究。
translated by 谷歌翻译
关于组合优化的机器学习的最新作品表明,基于学习的方法可以优于速度和性能方面的启发式方法。在本文中,我们考虑了在定向的无环图上找到最佳拓扑顺序的问题,重点是编译器中出现的记忆最小化问题。我们提出了一种基于端到端的机器学习方法,用于使用编码器框架,用于拓扑排序。我们的编码器是一种基于注意力的新图形神经网络体系结构,称为\ emph {topoformer},它使用DAG的不同拓扑转换来传递消息。由编码器产生的节点嵌入被转换为节点优先级,解码器使用这些嵌入,以生成概率分布对拓扑顺序。我们在称为分层图的合成生成图的数据集上训练我们的模型。我们表明,我们的模型的表现优于或在PAR上,具有多个拓扑排序基线,同时在最多2K节点的合成图上明显更快。我们还在一组现实世界计算图上训练和测试我们的模型,显示了性能的改进。
translated by 谷歌翻译
虽然离散事件模拟器是建筑研究,设计和开发的必备工具,但它们的实用性受到在调查下的现实应用的极长时间的影响。这项工作描述了一项协调一致的努力,其中机器学习(ML)用于加速离散事件仿真。首先,构建了用于静态指令属性和动态处理器状态的基于ML的指令延迟预测框架。然后,基于所提出的指令延迟预测器来实现GPU加速的并行模拟器,并且验证了其模拟精度和吞吐量并针对最先进的模拟器评估。利用现代GPU,基于ML的模拟器显着优于传统的模拟器。
translated by 谷歌翻译
高维计算(HDC)是用于数据表示和学习的范式,起源于计算神经科学。HDC将数据表示为高维,低精度向量,可用于学习或召回等各种信息处理任务。高维空间的映射是HDC中的一个基本问题,现有方法在输入数据本身是高维时会遇到可伸缩性问题。在这项工作中,我们探索了一个基于哈希的流媒体编码技术。我们正式表明,这些方法在学习应用程序的性能方面具有可比的保证,同时比现有替代方案更有效。我们在一个流行的高维分类问题上对这些结果进行了实验验证,并表明我们的方法很容易扩展到非常大的数据集。
translated by 谷歌翻译
在本文中,我们介绍了零射成本模型,使学习成本估计能够推广到看不见的数据库。与最先进的工作负载驱动方法相比,需要在每个新数据库上执行大量训练查询,因此零击成本模型因此允许在没有的盒子中实例化学习成本模型昂贵的培训数据收集。要启用此类零拍成本模型,我们建议基于预先训练的成本模型的新学习范例。作为支持将此类预先训练的成本模型转移到解密数据库的核心贡献,我们介绍了一种新的模型架构和表示技术,用于将查询工作负载编码为对这些模型的输入。正如我们将在我们的评估中展示,零射成本估计可以为广泛的(现实世界)数据库的最先进模型提供更准确的成本估算,而无需在未操作数据库上执行任何查询执行。此外,我们表明零击成本模型可以在几次拍摄模式下使用,从而通过在看不见的数据库上使用少量额外的训练查询来进一步提高其质量。
translated by 谷歌翻译
逆向工程集成电路网表是一个强大的工具,可以帮助检测恶意逻辑和抵消设计盗版。该域中的一个关键挑战是设计中数据路径和控制逻辑寄存器的正确分类。我们展示了一种新的基于学习的寄存器分类方法,该方法将图形神经网络(GNN)与结构分析相结合,以将寄存器分类在电路中,以高精度和概括不同的设计。 GNN在处理电路网表方面特别有效,以便在节点和它们的邻域的利用,以便学习有效地区分不同类型的节点。结构分析可以进一步通过GNN将被错误分类错误分类的寄存器通过分析在网表图中的强连接的组件来纠正为状态寄存器。一组基准的数值结果表明,Reignn可以平均实现96.5%的平衡准确性和不同设计的灵敏度97.7%。
translated by 谷歌翻译
尽管高级合成(HLS)工具取得了巨大成功,但我们遵守几个未解决的挑战:1)HLS中编程风格的高级抽象有时会隐藏优化机会; 2)现有的HLS工具在不同的目标和限制之间不提供灵活的权衡(Pareto)解决方案; 3)由此产生的RTL设计的实际质量难以预测。为了解决这些挑战,我们提出了一个最终框架Namelyironman。主要目标是启用灵活和自动化的设计空间探索(DSE),以提供用户指定的约束,或不同目标之间的各种权衡(例如不同类型的资源,区域和延迟)提供最佳解决方案。这种DSE要么需要繁琐的手动努力,或者无法通过现有的HLS工具实现这些目标。 Ironman中有三个组成部分:1)GPP,一种高度准确的图形 - 神经网络的性能和资源预测因子; 2)RLMD,一种基于加强学习的多目标DSE引擎,探讨了最佳资源分配策略,以提供不同目标之间的帕累托解决方案; 3)CT,代码变换器来帮助RLMD和GPP,从原始HLS C / C ++中提取数据流图,并自动使用HLS指令生成可合成的代码。实验结果表明:1)GPP实现了高预测精度,降低了10.9倍的资源利用率和5.7倍的HLS工具的预测误差; 2)RLMD获得优于遗传算法的最佳或帕累托溶液,分别以12.7%和12.9%模拟退火。 3)Ironman能够找到优化的解决方案,完美匹配各种DSP约束,DSP较少,延迟高达6倍,而不是HLS工具,同时比启发式算法和HLS工具快400倍。
translated by 谷歌翻译