机器学习实战:GNN(图神经网络)加速器的FPGA解决方案( 二 )
2)聚合被采样的邻节点特征 , 聚合函数可以为mean()、lstm()或者 polling()等
3)将聚合结果与上一次迭代的输出表征合并 , 并以Wk做卷积
4)卷积结果做非线性处理
5)迭代若干次以结束当前第k层所有邻节点的处理
6)将第k层迭代结果做归一化处理
7)迭代若干次以结束所有K层采样深度的处理
8)最终迭代结果zv即为输入节点xv的嵌入(embedding)
4、GNN加速器设计挑战GNN的算法中涉及到大量的矩阵计算和内存访问操作 , 在传统的x86架构的服务器上运行此算法是非常低效的 , 表现在速度慢 , 能耗高等方面 。
新型GPU的应用 , 可以为GNN的运算速度和能效比带来显著收益 。 然而GPU内存扩展性的短板 , 使其无法胜任海量节点Graph的处理;GPU的指令执行方式 , 也造成了计算延迟过大并且不可确定 , 无法胜任需要实时计算Graph的场景 。
如上所述种种设计挑战的存在 , 使得业界急需一种可以支持高度并发实时计算、巨大内存容量和带宽、以及在数据中心范围可扩展的GNN加速解决方案 。
5、GNN加速器的FPGA设计方案Achronix 公司推出的 Speedster7t系列高性能FPGA , 专门针对数据中心和机器学习工作负载进行了优化 , 消除了CPU、GPU以及传统 FPGA 存在的若干性能瓶颈 。 Speedster7t FPGA 基于台积电的 7nm FinFET 工艺 , 其架构采用革命性的新型2D 片上网络(NoC) , 独创的机器学习处理器矩阵(MLP) , 并利用高带宽 GDDR6控制器、400G 以太网和 PCI Express Gen5 接口 , 在保障ASIC 级别性能的同时 , 为用户提供了灵活的硬件可编程能力 。 下图展示了Speedster7t1500高性能FPGA的架构 。
文章插图
图5: Achronix Speedster7t1500高性能FPGA 架构(来源:)
如上所述种种特性 , 使得Achronix Speedster7t1500FPGA器件为GNN加速器设计中所面临的各种挑战 , 提供了完美的解决方案 。
文章插图
表1:GNN设计挑战与Achronix的Speedster7t1500 FPGA解决方案
5.1 GNN加速器顶层架构
本GNN加速器针对GraphSAGE进行设计 , 但其架构具有一定的通用性 , 可以适用于其他类似的GNN算法加速 , 其顶层架构如下图所示 。
文章插图
图6: GNN加速器顶层架构(来源:Achronix原创)
图中GNN Core为算法实现的核心部分 , 其设计细节将在下文展开谈论;RoCE-Lite为RDMA协议的轻量级版本 , 用于通过高速以太网进行远程内存访问 , 以支持海量节点的Graph计算 , 其设计细节将在本公众号的后续文章中讨论;400GE以太网控制器用来承载RoCE-Lite协议;GDDR6用于存放GNN处理过程中所需的高速访问数据;DDR4作为备用高容量内存 , 可以用于存储相对访问频度较低的数据 , 比如待预处理的Graph;PCIe Gen5x16提供高速主机接口 , 用于与服务器软件交互数据;上述所有模块 , 皆通过NoC片上网络来实现高速互联 。
5.2 GNN Core 微架构
在开始讨论GNN Core 微架构之前 , 我们先回顾一下本文第3节中的GraphSAGE算法 , 其内层循环的聚合以及合并(包含卷积)等两个操作占据了算法的绝大部分计算和存储器访问 。 通过研究 , 我们得到这两个步骤的特征如下:
文章插图
表2:GNN算法中聚合与合并操作对比(来源:)
可以看出 , 聚合操作与合并操作 , 其对计算和存储器访问的需求完全不同 。 聚合操作中涉及到对邻节点的采样 , 然而Graph属于非欧氏数据类型 , 其大小维度不确定且无序 , 矩阵稀疏 , 节点位置随机 , 所以存储器访问不规则并难以复用数据;在合并操作中 , 其输入数据为聚合结果(节点的低维表征)以及权重矩阵 , 其大小维度固定 , 存储位置规则线性 , 对存储器访问不存在挑战 , 但是矩阵的计算量非常大 。
推荐阅读
- 唐山四维智能科技有限公司:双臂机器人引领人机协作新纪元
- 计算机专业大一下学期,该选择学习Java还是Python
- 大众展示EV公共充电新解决方案:移动充电机器人
- 普渡机器人获最佳商用服务机器人奖
- 翻译|机器翻译能达60个语种3000个方向,近日又夺全球五冠,这家牛企是谁?
- 假期弯道超车 国美学习“神器”助孩子变身“学霸”
- 想自学Python来开发爬虫,需要按照哪几个阶段制定学习计划
- 未来想进入AI领域,该学习Python还是Java大数据开发
- Google AI建立了一个能够分析烘焙食谱的机器学习模型
- 我国首次给四个新职业定标