机器学习实战:GNN(图神经网络)加速器的FPGA解决方案( 三 )


基于以上分析 , 我们决定在GNN Core加速器设计中用两种不同的硬件结构来处理聚合操作与合并操作 , 功能框图如下图所示:
机器学习实战:GNN(图神经网络)加速器的FPGA解决方案文章插图
图7: GNN Core功能框图(来源:Achronix原创)
聚合器(Aggregator):通过SIMD(单指令多数据处理器)阵列来对Graph进行邻居节点采样并进行聚合操作 。 其中的“单指令”可以预定义为mean()均值计算 , 或者其他适用的聚合函数;“多数据”则表示单次mean()均值计算中需要多个邻居节点的特征数据作为输入 , 而这些数据来自于子图采样器(Subgraph Sampler);SIMD阵列通过调度器Agg Scheduler做负载均衡;子图采样器通过NoC从GDDR6或DDR4读回的邻接矩阵和节点特征数据h0v , 分别缓存在Adjacent List Buffer和Node Feature Buffer之中;聚合的结果hkN(v)存储在Agg Buffer之中 。
合并器(Combinator):通过脉动矩阵PE来执行聚合结果的卷积操作;卷积核为Wk权重矩阵;卷积结果通过ReLU激活函数做非线性处理 , 同时也存储在Partial Sum Buffer中以方便下一轮迭代 。
合并的结果通过L2BN归一化处理之后 , 即为最终的节点表征hkv 。
在比较典型的节点分类预测应用中 , 该节点表征hkv可以通过一个全连接层(FC) , 以得到该节点的分类标签 。 此过程属于传统的机器学习处理方法之一 , 没有在GraphSAGE论文中体现 , 此设计中也没有包含这个功能 。
6、结论本文深入讨论了GraphSAGE GNN 算法的数学原理 , 并从多个维度分析了GNN加速器设计中的技术挑战 。 作者通过分解问题并在架构层面逐一解决的方法 , 综合运用Achronix Speedster7t1500FPGA所提供的竞争优势 , 创造了一个性能极佳且高度可扩展的GNN加速解决方案 。
如需了解关于Achronix Speedster7t1500FPGA 产品以及该GNN加速器方案的更多信息 , 请访问Achronix 官方网站: 。
作者:袁光(Kevin Yuan) , Achronix资深现场应用工程师
欢迎您扫码关注Achronix头条号 , 了解更多FPGA、eFPGA、加速卡产品及应用信息:
机器学习实战:GNN(图神经网络)加速器的FPGA解决方案文章插图
【机器学习实战:GNN(图神经网络)加速器的FPGA解决方案】如希望进一步了解Achronix及其系列FPGA产品 , 请发邮件到Dawson.Guo@achronix.com


推荐阅读