发布信息

神经网络近记忆处理的制作方法 专利技术说明

作者:admin      2023-06-28 18:34:43     883



计算;推算;计数设备的制造及其应用技术神经网络近记忆处理背景技术:1.图形神经网络(gnn)用于对基于图形的数据(诸如但不限于社交网络、地图、运输系统和化合物)中的关系进行建模。图神经网络通过对表示实体的节点与表示关系的边之间的关系建模以产生图的数字表示,该数字表示可以用于但不限于链路预测、节点分类、社区检测和排名。2.参考图1,示出了一个示例性的图形神经网络,该图形神经网络可以包括多个层。图神经网络的多个层可以包括多种操作功能,包括聚合、组合和类似功能。通常,图神经网络的计算包括对大量存储器的大量随机存储器访问,这些大量存储器用于存储可跨多个机器分布的图神经网络的大规模数据集。3.参照图2,示出了根据传统技术的、用于处理图形神经网络的示例性系统。该系统可以包括中心核205和一个或多个存储器单元210。中心核205可以包括计算引擎215和数据引擎220。计算引擎215可以被配置成计算聚合、组合和类似操作以及最终使用应用的计算。一个或多个存储单元210可以包括多个存储器设备225、230和控制器235。控制器235可以被配置成用于访问(提取和存储)存储在多个存储器设备225、230中的图形的节点和边的权重参数、激活值、属性等,该访问为响应于由数据引擎220生成的、供计算引擎215使用的存储器的访问操作。现在参考图3,示出了根据传统技术由中心核205和一个或多个存储器单元210执行的操作。该中心核可被配置成在310处根据图形神经网络(gnn)模型进行采样。在320处,一个或多个存储器单元210可被配置为对图的节点的属性和边的属性进行访问。中心核205随后可在330处使用所访问的属性来执行一个或多个聚合函数、组合函数和/或结束应用计算。4.在传统系统中,中心核205可经受因执行与图神经网络处理相关的所有计算而产生的高处理工作负载。并且,传统系统会受到与在一个或多个存储器单元210与中心核205之间来回传递属性而产生的高带宽利用的影响。此外,图形神经网络的大数据集会占用大量的存储器设备225、230。因此,对用于执行与图形神经网络相关的计算的设备和方法的改进存在着持续需求。技术实现要素:5.通过参考以下描述和附图,可以最好地理解本技术,以下描述和附图用于示出本技术的、针对图形神经网络和其他神经网络应用的近存储器处理的实施例。6.在一个实施例中,神经网络处理系统可以包括耦合到一个或多个存储器单元的中心核。存储器单元可以包括一个或多个存储器设备和一个或多个控制器。所述控制器可以被配置为对存储在所述一个或多个存储器设备中的数据从所述中心核卸载的聚合、组合和其他类似的计算操作。7.在另一实施例中,近存储器处理方法可以包括由控制器接收包括聚合、组合和/或类似操作的第一存储器访问。控制器可以基于第一存储器访问来访问属性。控制器可以基于第一存储器访问来进行属性上的聚合、组合和/或其他类似操作的计算,以生成结果数据。控制器可以基于第一存储器访问输出结果数据。控制器输出的结果数据可以是中心核用于完成聚合、组合和/或类似操作的部分结果。响应于不包括聚合、组合和/或类似操作的第二存储器访问,控制器可以基于第二存储器访问来进行属性访问。控制器随后可基于第二存储器请求来输出属性。8.在另一实施例中,控制器可包括多个计算单元和控制逻辑。控制逻辑可以被配置为接收包括聚合和/或组合操作的存储器访问,并且基于包括在存储器访问中的操作来访问和计算属性。控制器的控制逻辑可配置控制器的多个计算单元中的一个或多个,以基于存储器访问的操作对属性的聚合或组合操作进行计算,以生成结果数据。控制器的控制逻辑然后可以输出结果数据。9.本发明内容以简化形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识所要求保护的主要思想的关键特征或必要特征,也不旨在用于限制所要求保护的主要思想的范围。附图说明10.在附图中通过示例而非限制的方式示出了本技术的实施方式,其中,相似的参考标号表示相似的元件,其中:11.图1示出了一种图形神经网络的示例。12.图2示出了根据现有技术的一种用于处理图形神经网络的示例性系统。13.图3示出了根据传统技术的由中心核和一个或多个存储器单元执行的操作。14.图4示出了根据本技术方案的一种用于处理图形神经网络的系统。15.图5示出了根据本技术方案的一种用于处理图形神经网络的示例性系统。16.图6示出了根据本技术方案的由中心核和一个或多个存储器单元执行的操作。17.图7示出了根据本技术方案的一种近存储器计算的方法。18.图8示出了根据本技术方案的一种存储数据的方法。19.图9示出了根据本技术方案的一种提取数据并可选地执行近存储器计算的方法。20.图10示出了根据本技术方案的一种用于处理图形神经网络的系统的示例性操作。具体实施方式21.现将详细参考本技术方案的实施例及其在附图中示出的示例。尽管将结合这些实施例描述本技术方案,然而,应当理解的是,本技术方案并不局限于这些实施方式。相反,本发明旨在覆盖可包括在由所附权利要求所限定的本发明范围内的替代、修改和等同方式。此外,在本技术方案的下述详细描述中,阐述了许多具体细节以便提供对本技术方案的透彻理解。但是,应当理解,本技术方案可以在没有这些具体细节的情况下实施。在其他实例中,未详细描述众所周知的方法、过程、组件和电路,以免不必要地模糊本技术方案的某些方面。22.下述本技术方案的一些实施例按照对一个或多个电子设备内的数据的操作的例程、模块、逻辑块和其他符号表示来呈现。其描述和表示是本领域技术人员为了将其工作的实质最有效地传达给本领域的其他技术人员所使用的手段。例程、模块、逻辑块等在本文中并且通常被设想为产生期望结果的过程或指令的自洽序列。这些过程包括对物理量的物理操作过程。通常,尽管不是必需的,这些物理操作采用能够在电子设备中存储、传送、比较和以其他方式操作的电信号或磁信号的形式。为了方便并且参考共同使用起见,参照本技术方案的实施例,这些信号被称为数据、位、值、元素、符号、字符、术语、数字、字符串等。23.然而,应当记住的是,上述术语应被解释为可被参考的物理操作和数量,并且仅是方便的标签,并且将基于本领域的常用术语被进一步解释。除非另有具体说明,否则如从以下讨论中显而易见的、应当理解的是,通过本技术方案的讨论,采用诸如“接收”等术语的讨论意指电子设备(如操作和变换数据的电子计算设备)的动作和处理。该数据被表示为电子设备的逻辑电路、寄存器、存储器等内的物理(例如,电子)量,并且被转换成类似地被表示为电子设备内的物理量的其他数据。24.在本技术中,析取法的使用旨在包括合取物。而定冠词或不定冠词的使用并非旨在指示基数。具体地,提及“该”物体或“一个”物体旨在还表示可能的多个此类物体中的一个。术语“包括(comprises)”、“包括(comprising)”、“包括(includes)”、“包括(including)”等的使用指定声明要素的存在,但不排除一个或多个其他要素和/或其集合的存在或添加。还应理解的是,虽然在本文中使用术语第一、第二等来描述各种元素,但是这些元素不应受这些术语限制。这些术语在本文中用于区分不同元素。例如,在不背离本技术方案的实施例的范围的情况下,第一元素可以被称为第二元素,类似地,第二元素可以被称为第一元素。还应理解的是,当一个元素被称为“耦接”至另一元素时,该元素可直接或间接地连接至另一元素,或者可存在中间元素。相反,当一个元素被称为“直接连接”至另一元素时,则不存在中间元素。还应理解的是,术语“和/或”包括一个或多个相关元素的任何和所有组合。还应理解的是,本文中使用的措辞和术语用于描述的目的,而不应被视为限制性的用语。25.参照图4,示出了根据本技术方案的被配置为用于近存储器计算的系统。该系统400可以包括中心核405和一个或多个存储器单元410。中心核405可以包括计算引擎415和数据引擎420。一个或多个存储器单元410可包括控制器425和多个存储器设备430、435。多个存储器设备430、435和一个或多个控制器425在存储器单元中紧密耦合在一起,以提供近存储器计算。在一种实现方式中,多个存储器设备430、435可以包括被组织在多个存储器通道中的多个非易失性存储器设备。例如,存储器设备430、435可以是被组织在两个或更多个存储器访问通道中的多个动态随机存取存储器(dram)芯片。控制器425可以包括控制逻辑440、模式寄存器445、多个计算单元450-455、数据读取缓冲器(rdb)460和数据写入缓冲器(wdb)465。26.现在参考图5,控制器425可以实现为专用集成电路(asic)、现场可编程门阵列(fpga)或类似的芯片。在一种实现方式中,存储器装置430、435可为动态随机存取存储器(dram)芯片、闪存存储器芯片、相变存储器(pcm)芯片或类似芯片。一个或多个存储单元410可包括布置在存储卡印刷电路板组件(pcba)上的多个存储器设备430、435芯片和一个或多个控制器425芯片。多个存储器设备430、435芯片和一个或多个控制器425芯片在存储器单元中紧密耦合在一起,以提供近存储器计算。在一种实现方式中,一个或多个存储器单元410可以是存储卡510,诸如但不限于双列直插式存储模块(dimm)卡、小外形dimm或微型dimm。在一种实现方式中,用于近存储器计算的系统400可以被实现为卡520,诸如但不限于快速外围组件接口(pcie)卡。系统卡520可以是包含但不限于多个双列直插式存储器模块(dimm)插槽530和一个或多个中心核405的印刷电路板组件(pcba)。27.再次参见图4,中心核405和一个或多个存储器单元410可以被配置为用于将计算从中心核405卸载到一个或多个存储器单元410。在一种实现方式中,可以将聚合、组合和其他计算从中心核405卸载到一个或多个存储器单元410。例如,图神经网络的聚合函数和/或组合函数可被卸载,以供一个或多个存储器单元410进行近存储器处理。在一种实现方式中,可以利用对读取和写入存储器命令的扩展将计算从中心核405卸载到一个或多个存储器单元410。读存储器访问可以扩展到具有计算(read_w_comp)访问的读,写存储器访问可以扩展到具有计算(write_w_comp)访问的写。该扩展可以包括数据地址、数据计数和数据步幅的扩展。该扩展可被嵌入到相关连(genz/cxl)的数据包、扩展双倍数据速率(ddr)命令等中。参见表1,示出了可嵌入上述扩展中的一个ddr命令的示例集。[0028][0029]表1[0030]参考图6,对中心核405和一个或多个存储器单元410的操作进行进一步解释。中心核405可被配置成执行图形神经网络模型的采样操作610。中心核405还可以被配置为通过一个或多个存储器单元410调度一个或多个聚合、组合和/或类似函数620的执行。一个或多个存储器单元410可访问属性630。一个或多个存储器单元410还可对所访问的属性执行一个或多个被调度的聚合、组合和/或类似函数640。中心核405可进一步执行聚合、组合和/或类似函数,以及最终结束应用650的计算。[0031]现在参考图7,示出根据本技术方案的近存储器计算方法。该近存储器计算方法将参考图4一起进行说明。在710处,近存储器计算方法可以包括::调度存储器访问,并且可选地调度一个或多个聚合、组合和/或由一个或多个存储器单元410执行的函数。基于与存储器访问、聚合、组合等函数,与存储器访问相关的延迟,聚合、组合等函数的计算,聚合、组合等函数的工作量等相关数据的位置,通过向一个或多个存储器单元410卸载的方式,中心核405可以调度聚合、组合等函数。在720处,,中心核可以基于调度的存储器访问和可选卸载的聚合、组合等函数来发送存储器访问和可选的聚合、组合等指令和参数。在一种实现方式中,中心核可以通过具有计算(read_w_comp)访问的读和具有计算(write_w_comp)访问的写的扩展来卸载相应的聚合、组合等函数。该扩展可包括数据地址、数据计数和数据步幅的扩展。该扩展可被嵌入到相关连的(genz/cxl)数据包、扩展双倍数据速率(ddr)命令等中。表2示出了读扩展和写扩展的示例。[0032][0033]表2[0034]表3和4示出了读扩展和写扩展的示例性命令和参数。[0035][0036]表3[0037][0038][0039]表4[0040]控制器425可以支持若干计算模式。在一种实现方式中,这些模式可以包括无计算、完全计算和部分计算。在存储器访问中从中心核405的计算引擎415传递到预定存储器单元410的控制器425的配置参数可以在控制器425的模式寄存器440中设置预定模式。[0041]在730处,可以由一个或多个存储器单元410中的预定存储器单元来接收存储器访问。可选地,还可以利用存储器访问接收一个或多个聚合、组合等指令。在一种实现方式中,聚合、组合等指令可以作为读计算(read_w_comp)访问或写计算(write_w_comp)访问的扩展而被接收。在740处,可以根据所接收的存储器访问来访问数据。在750处,可以基于所接收的指令和参数,对所访问的数据执行可选的聚合、组合等函数。在一种实现方式中,模式寄存器440可控制由多个计算单元440-445执行的计算。读数据缓冲器(rdb)445和写数据缓冲器(wdb)460可以是用于为计算单元440-445缓存数据的多条目缓冲器。这些计算模式可以包括无计算模式、完全计算模式和部分计算模式。在无计算模式下,可绕过读数据缓存(rdb)445和写数据缓存(wdb)460。在完全计算模式下,计算单元440-445可对所访问的数据执行所有计算。在部分计算模式下,计算单元440-445可以对所访问的数据执行部分计算,并且部分结果可以作为数据被传递以供中心核405的计算引擎415进行进一步计算。在760处,可选的聚合、组合或类似函数的结果数据可以由一个或多个存储器单元410作为返回数据发送。此外,当存储器访问不包括可选的聚合、组合或类似的指令和参数时,在760处,所访问的数据可由一个或多个存储器单元返回作为返回数据。[0042]在770处,可以由中心核405接收返回数据。在780处,中心核405可以对返回的数据执行计算功能。在无计算模式下,中心核405可以例如对由存储器单元返回的存储器访问的属性执行计算。在完全计算模式下,中心核405可以,示例性地,在针对存储器单元410的存储器访问而返回的聚合、组合或类似数据上执行其他计算。在部分计算模式下,在又一示例中,中心核405可以对针对存储器单元410的存储器访问而返回的部分结果数据执行进一步的聚合、组合等函数。在790处,可以针对多个存储器访问迭代地执行710-780处的过程。[0043]不参考图8,示出根据本技术方案的一种数据存储方法。该方法可包括在810处确定神经网络模式、以及与图节点及其相邻节点相关联的数据。在820处,当神经网络模式为第一模式或第一组模式中的某个时,与图节点及其相邻节点相关联的数据可被写入到预定存储器单元。例如,在低吞吐量推理模式中,图形节点及其相邻节点的数据可被放置在一个存储器单元的存储器中。在830处,当神经网络模式是第二模式或第二组模式中的某个时,不同节点的数据可被写入不同的对应存储器单元。例如,在训练或高吞吐量推理模式中,可将相邻节点的数据放置在单独的存储器单元中,以增加计算并行度并减少存储器单元与中心核之间的数据传输。[0044]现在参考图9,示出了根据本技术方案的一种提取数据并可选地执行近存储器计算的方法。该方法可包含在730处,接收存储器访问和可选地接收聚合、组合等指令和参数。在一种实现方式中,参数可指示多个模式中的一种。例如,该参数可以指示无计算模式、完全计算模式和部分计算模式中的一种。在740处,存储器单元的一个或多个存储器设备中的数据可以由存储器单元的控制器访问。在一种实现方式中,可以基于所接收的存储器访问以及可选的一个或多个聚合、组合等指令和参数来访问数据。[0045]在第一模式中,在910处,当存储器访问不包括聚合、组合等指令时,可由一个或多个存储器单元向主机返回访问的数据。例如,在无计算模式下,控制器425不执行任何计算,而是将属性数据传送到中心核。中心核405然后可以对返回的数据执行聚合、组合等计算或任何最终使用应用的函数。[0046]在第二模式中,在920处,存储器单元可以对所访问的数据完成一个或多个聚合、组合等函数。例如,在完全计算模式中,控制器425可以对所访问的数据进行聚合、组合等计算,再将结果传递到中心核405。中心核405然后可以将该结果用于一个或多个进一步计算。[0047]在第三模式中,在930处,存储器单元可对所访问的数据执行包括一个或多个聚合、组合和类似函数的部分计算。例如,在部分计算模式中,控制器425可以针对聚合、组合等函数计算部分结果,再该部分结果传递到中心核405。中心核405然后可以将该部分结果用于一个或多个进一步计算。在部分计算模式的一种实现方式中,该计算可以是均值聚合函数:[0048][0049]其中,f为节点的属性,n为节点的数量,aggr为聚合函数的结果。[0050]在部分计算模式中,多个控制器可以计算聚合部分结果:[0051][0052]其中,k为存储在存储器单元中的节点的数量,n为节点的总数,aggrp为聚合函数的部分结果。[0053]在部分计算模式中,中心核可以完成对从控制器接收的部分结果的聚合:[0054][0055]其中,m为参与聚合函数计算的存储单元的数量。[0056]在另一实现方式中,计算可以是均值/最大值池化聚合:[0057][0058]多个控制器可以计算聚合部分结果:[0059][0060]中心核可以对从控制器接收的部分结果完成聚合:[0061][0062]在760处,第一模式下的属性数据,或者来自第二或第三模式的结果数据或部分结果数据可以分别由存储器单元作为返回数据发送至中心核。因此,存储器单元可以用于向中心核405返回属性数据,或用于将由控制器245进行的聚合、组合等函数的完全或部分近存储器计算进行卸载。[0063]现在参考图10,对根据本技术方案的、由近存储器计算系统执行聚合、组合等函数进行说明。近存储器计算系统1000可以包括多个存储器单元1005-1015和中心核1020。多个相邻节点的数据可以被存储在多个存储器单元1005-1015的相应存储器单元上。部分计算可以从中心核1020卸载到多个存储器单元1005-1015。例如,第一存储器单元1005可以执行聚合和/或组合函数,以计算存储在第一存储器单元1005上的图形神经网络模型的相邻节点1025、1030中的数据的第一部分结果。第二存储器单元1010可以执行聚合函数和/或组合函数,以计算存储在第二存储器单元1010上的相邻节点1035中的数据的第二部分结果。中心核1020可以接收由多个存储器单元1005-1015返回的部分结果1040-1050,并且对该部分结果1040-1050执行进一步的聚合函数和/或组合函数。[0064]本技术方案有效地提供了可用于近存储器处理的可操作存储器单元。近存储器处理可以有效地减少存储器设备与中心核之间的数据处理的开销和时延。存储器单元可有效地支持相邻节点数据的并行计算等。[0065]基于说明和描述的目的,前文已经呈现了本技术方案的具体实施例的描述。它们不旨在将本技术方案限制于详尽的描述或所公开的详细形式,并且,显然地,基于上述教导可能产生许多修改和变化。上述被选择和描述的实施方式,用于最好地解释本技术方案的原理及其实际应用,从而使本领域的其他技术人员能够最好地利用本技术方案及其变形以适用于特别所需。本发明的保护范围由所附权利要求及其等同替代限定。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部