当前位置: 首页 > 专利查询>中山大学专利>正文

一种基于FPGA的图神经网络高乘法器利用率的稀疏稠密矩阵乘法阵列制造技术

技术编号:34430135 阅读:24 留言:0更新日期:2022-08-06 16:06
本发明专利技术公开一种基于FPGA的图神经网络高乘法器利用率的稀疏稠密矩阵乘法阵列,其通过一套乘加法阵列结构,将图神经网络中组合运算中的稀疏稠密乘法拆分,能将源自不同节点,数量不定的有效值累加在一起,得到所需的稀疏稠密矩阵乘法结果。此方法平均每个周期有超过95%乘法器在进行有效运算,且无需复杂的数据预处理,拥有节点特征向量的利用率高,所需乘法器数量较少等优点。法器数量较少等优点。法器数量较少等优点。

【技术实现步骤摘要】
一种基于FPGA的图神经网络高乘法器利用率的稀疏稠密矩阵乘法阵列


[0001]本专利技术涉及机器学习
,更具体地,涉及一种基于FPGA的图神经网络高乘法器利用率的稀疏稠密矩阵乘法阵列。

技术介绍

[0002]以卷积神经网络(CNN)为代表的深度学习在广泛的应用场景中都有优异的表现,例如目标检测,视频处理,语音识别等等,但其只能从欧几里得数据中提取和分析潜在的信息。然而近年来,越来越多应用程序将关系复杂的对象建模为图这种非欧几里得的数据结构。
[0003]在图中,节点代表应用程序的对象,而边代表这些对象之间的关系。在某些应用场景中,图甚至拥有百万以上的节点数量。节点度,也就是与某个节点相关的边的数量,在一张图中变化很大,但通常遵循幂律分布。而且不同的图,每个节点拥有的特征特点也大不相同,这种不规则性使得卷积等操作无法很好的将目标特征提取出来。
[0004]图卷积网络(GNN)可以很好的处理这一类图数据,且已经在化学反应性预测,电子商务等诸多应用场景中取得了较好的成果,但其涉及的数据有高度不平衡的非零数据分部、较强的稀疏性和较大的矩阵尺度,这种数据特点使得GNN模型需要同时支持密集和极其稀疏的计算操作,需要适应计算特定GNN算法变量和图的结构,还需要能扩展到规模非常大的图。这使现有的深度卷积神经网络(DCNN)加速结构不能直接应用在GNN上。
[0005]每一层的GNN推理一共主要包含两个阶段:聚合和组合。聚合阶段中,每个节点将会聚合其邻居的特征向量来进行更新,由于节点之间的邻接矩阵极其稀疏,且特征矩阵也并非非常稠密,所以其涉及的计算强度不高,但涉及大量不规则访存。组合阶段中,将聚合完的边和节点通过组合函数进行转换,其涉及的权重矩阵是稠密的,所以其涉及密集的矩阵乘法计算。当GNN的聚合函数是线性时,可以切换聚合和组合之间的顺序,但需要保留层的顺序以避免违反数据依赖关系。目前已有的GNN加速器主要部署在专用集成芯片(ASIC)和现场可编程门阵列(FPGA)上,由于ASIC的开发周期长,其灵活性难以满足不同应用场景中不同的数据特点。而商用高端FPGA所拥有的丰富片上存储资源,通用逻辑资源和计算资源可以提供强大的并行计算能力,这种多指令多数据流的特点,比起CPU的单指令但数据流和GPU的单指令多数据流更能够满足GNN加速器的需求,能并行处理不同的处理阶段。不仅如此,FPGA还具有更低的功耗,且有灵活的可重构性。
[0006]现有的针对GNN组合阶段的稀疏稠密矩阵乘法阵列设计基本上都想同时复用权重以及特征矩阵,导致其需要复杂的数据预处理且计算过程中出现了很多无效操作,使得乘法器的有效利用率低,平均每个周期能进行有效运算的乘法器不到所使用乘法器的25%。
[0007]现有技术公布了一种可配置稀疏注意力机制的硬件加速器,包括:样本化稠密矩阵乘法运算模块、掩模分块打包模块和可配置稀疏矩阵乘法运算模块;样本化稠密矩阵乘法运算模块采用脉动阵列的硬件结构;掩模分块打包模块包括列号计数器,行激活单元计
数器以及缓冲区;可配置稀疏矩阵乘法运算模块包括可配置运算单元PE、寄存器阵列和除法器,可配置运算单元与寄存器阵列分离。该方案对乘法器的有效利用率依然较低。

技术实现思路

[0008]本专利技术提供一种基于FPGA的图神经网络高乘法器利用率的稀疏稠密矩阵乘法阵列,减少所需乘法器的数量,使得乘法器的整体利用率提高。
[0009]为解决上述技术问题,本专利技术的技术方案如下:
[0010]一种基于FPGA的图神经网络高乘法器利用率的稀疏稠密矩阵乘法阵列,所述稀疏稠密矩阵乘法阵列用于能先组合后聚合的应用场景中,所述稀疏稠密矩阵乘法阵列包括预处理模块、特征缓存模块、乘法阵列和加法阵列,其中:
[0011]所述预处理模块的输入为需要处理的GNN模型以及数据集,所述预处理模块根据所述GNN模型以及数据集生成所需的功能配置参数以及特征矩阵;
[0012]所述特征缓存模块的输入为所述功能配置参数,所述特征缓存模块提供缓存并通过所述缓存将特征矩阵的有效值按一定顺序送入所述乘法阵列中;
[0013]所述乘法阵列中进行乘法运算并将运算结果送入至所述加法阵列中,所述乘法阵列中还包括用于存储权重矩阵的存储器;
[0014]所述加法阵列受功能配置参数的控制,对所述乘法阵列的运算结果进行合并整合,使得源自同一节点的部分和能累加在一起,最终得到后面聚合阶段所需的组合部分结果。
[0015]优选地,所述预处理模块根据GNN模型以及数据集生成所需的功能配置参数并送入所述特征缓存模块,再根据所述数据集和功能配置参数对特征矩阵和权重矩阵进行切片重排,对切片重排后的特征矩阵进行CSR编码后送入所述特征缓存模块中。
[0016]优选地,所述对特征矩阵进行切片重排,是根据每个节点拥有的有效值数量,从大到小根据贪婪算法遍历所有节点,将每个节点的有效值尽可能均匀分到不同的组中。
[0017]优选地,所述特征缓存模块包括特征缓存控制器、特征矩阵存储器、解码器和缓存器,其中,所述特征缓存控制器接收所述功能配置参数,并根据所述功能配置参数对所述特征矩阵存储器进行控制,所述特征矩阵存储器接收所述CSR编码后的特征矩阵,在所述特征缓存控制器下,往解码器中输送特征矩阵进行解码,解码后的特征矩阵数据进入缓存中,等待输送至所述乘法阵列。
[0018]优选地,令每个周期能处理的节点数量进行限制,假设每个周期只能处理n个顶点编号,对超出n范围的顶点编号的有效值则缓存,每个周期输入的F
efftp
个有效值优先输入缓存中的,若是不足所需的F
efftp
个输入再向上请求特征矩阵输入。
[0019]优选地,所述乘法阵列包括若干个乘法单元,每个乘法单元存储有对应的权重矩阵。
[0020]优选地,所述乘法阵列包括F
efftp
×
Weightsize
×
m个乘法器,其中Weightsize表示权重矩阵的维度,m表示特征矩阵切片重排的组数。
[0021]优选地,所述加法阵列为F
efftp
×
log2F
efftp
大小的加法阵列,根据每个有效值的顶点编号决定该有效值的最终目的地,则可以得到所需的组合结果。
[0022]优选地,每个时钟周期每个加法阵列中的计算单元中存储一组Weightsize*32bit
的加法结果,能同时接受到前一层的三个计算单元的输出结果,输出结果包含两部分:顶点编号和加法结果。并通过这三个输入的顶点编号和本计算单元在加法阵列中的位置信息,获得是否要使用这三个输入加法结果的逻辑控制流。
[0023]优选地,在不限制每个周期处理的节点个数和不对特征向量进行预处理切片时,完成整张图单层组合的时间为:
[0024][0025]其中Fea_eff_num代表特征矩阵中包含的有效值总数,F
efftp
代表每个周期从特征矩本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于FPGA的图神经网络高乘法器利用率的稀疏稠密矩阵乘法阵列,其特征在于,所述稀疏稠密矩阵乘法阵列用于能先组合后聚合的应用场景中,所述稀疏稠密矩阵乘法阵列包括预处理模块、特征缓存模块、乘法阵列和加法阵列,其中:所述预处理模块的输入为需要处理的GNN模型以及数据集,所述预处理模块根据所述GNN模型以及数据集生成所需的功能配置参数以及特征矩阵;所述特征缓存模块的输入为所述功能配置参数,所述特征缓存模块提供缓存并通过所述缓存将特征矩阵的有效值按一定顺序送入所述乘法阵列中;所述乘法阵列中进行乘法运算并将运算结果送入至所述加法阵列中,所述乘法阵列中还包括用于存储权重矩阵的存储器;所述加法阵列受功能配置参数的控制,对所述乘法阵列的运算结果进行合并整合,使得源自同一节点的部分和能累加在一起,最终得到后面聚合阶段所需的组合部分结果。2.根据权利要求1所述的基于FPGA的图神经网络高乘法器利用率的稀疏稠密矩阵乘法阵列,其特征在于,所述预处理模块根据GNN模型以及数据集生成所需的功能配置参数并送入所述特征缓存模块,再根据所述数据集和功能配置参数对特征矩阵和权重矩阵进行切片重排,对切片重排后的特征矩阵进行CSR编码后送入所述特征缓存模块中。3.根据权利要求2所述的基于FPGA的图神经网络高乘法器利用率的稀疏稠密矩阵乘法阵列,其特征在于,所述对特征矩阵进行切片重排,是根据每个节点拥有的有效值数量,从大到小根据贪婪算法遍历所有节点,将每个节点的有效值尽可能均匀分到不同的组中。4.根据权利要求3所述的基于FPGA的图神经网络高乘法器利用率的稀疏稠密矩阵乘法阵列,其特征在于,所述特征缓存模块包括特征缓存控制器、特征矩阵存储器、解码器和缓存器,其中,所述特征缓存控制器接收所述功能配置参数,并根据所述功能配置参数对所述特征矩阵存储器进行控制,所述特征矩阵存储器接收所述CSR编码后的特征矩阵,在所述特征缓存控制器下,往解码器中输送特征矩阵进行解码,解码后的特征矩阵数据进入缓存中,等待输送至所述乘法阵列。5.根据权利要求4所述的基于FPGA的图神经网络高乘法器利用率的稀疏稠密矩阵乘法阵列,其特征在于,令每个周期能处理的节点数量进行限制,假设每个周期只能处理n个顶点编号,对超...

【专利技术属性】
技术研发人员:黄以华许翔智
申请(专利权)人:中山大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1