广告

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

2020-10-20 09:01:46 袁光 (Kevin Yuan),Achronix资深现场应用工程师 阅读:
应用Achronix Speedster7t FPGA设计高能效、可扩展的GNN加速器

1. 概述

得益于大数据的兴起以及算力的快速提升,机器学习技术在近年取得了革命性的发展。在图像分类、语音识别、自然语言处理等机器学习任务中,数据为大小维度确定且排列有序的欧氏(Euclidean)数据。然而,越来越多的现实场景中,数据是以图(Graph)这种复杂的非欧氏数据来表示的。Graph不但包含数据,也包含数据之间的依赖关系,比如社交网络、蛋白质分子结构、电商平台客户数据等等。数据复杂度的提升,对传统的机器学习算法设计以及其实现技术带来了严峻的挑战。在此背景之下,诸多基于Graph的新型机器学习算法—GNN(图神经网络),在学术界和产业界不断的涌现出来。1IHednc

GNN对算力和存储器的要求非常高,其算法的软件实现方式非常低效,所以业界对GNN的硬件加速有着非常迫切的需求。我们知道传统的CNN(卷积神经网络网络)硬件加速方案已经有非常多的解决方案;但是,GNN的硬件加速尚未得到充分的讨论和研究,在本文撰写之时,Google和百度皆无法搜索到关于GNN硬件加速的中文研究。本文的撰写动机,旨在将国外最新的GNN算法、加速技术研究、以及笔者对GNN的FPGA加速技术的探讨相结合起来,以全景图的形式展现给读者。1IHednc

2. GNN 简介

GNN的架构在宏观层面有着很多与传统CNN类似的地方,比如卷积层、Polling、激活函数、机器学习处理器(MLP)和FC层等等模块,都会在GNN中得以应用。下图展示了一个比较简单的GNN架构。1IHednc

1IHednc

图 1:典型的GNN架构(来源:https://arxiv.org/abs/1901.00596)1IHednc

但是, GNN中的Graph数据卷积计算与传统CNN中的2D卷积计算是不同的。以图2为例,针对红色目标节点的卷积计算,其过程如下:1IHednc

  • Graph卷积:以邻居函数采样周边节点特征并计算均值,其邻居节点数量不确定且无序(非欧氏数据)。
  • 2D卷积:以卷积核采样周边节点特征并计算加权平均值,其邻居节点数量确定且有序(欧氏数据)。

1IHednc

图 2: Graph卷积和2D卷积(来源:https://arxiv.org/abs/1901.00596)1IHednc

3. GraphSAGE算法简介

学术界已对GNN算法进行了非常多的研究讨论,并提出了数目可观的创新实现方式。其中,斯坦福大学在2017年提出的GraphSAGE是一种用于预测大型图中动态新增未知节点类型的归纳式表征学习算法,特别针对节点数量巨大、且节点特征丰富的图做了优化。如下图所示,GraphSAGE计算过程可分为三个主要步骤:1IHednc

1IHednc

图 3:GraphSAGE算法的视觉表述(来源:http://snap.stanford.edu/graphsage)1IHednc

  • 邻节点采样:用于降低复杂度,一般采样2层,每一层采样若干节点
  • 聚合:用于生成目标节点的embedding,即graph的低维向量表征
  • 预测:将embedding作为全连接层的输入,预测目标节点d的标签

为了在FPGA中实现GraphSAGE算法加速,我们需要知悉其数学模型,以便将算法映射到不同的逻辑模块中。下图所示的代码阐述了本算法的数学过程。1IHednc

1IHednc

 图 4:GraphSAGE算法的数学模型(来源:http://snap.stanford.edu/graphsage)1IHednc

对于每一个待处理的目标节点xvGraphSAGE 执行下列操作:1IHednc

1)通过邻居采样函数N(v),采样子图(subgraph)中的节点1IHednc

2)聚合被采样的邻节点特征,聚合函数可以为mean()、lstm()或者 polling()等1IHednc

3)将聚合结果与上一次迭代的输出表征合并,并以Wk做卷积1IHednc

4)卷积结果做非线性处理1IHednc

5)迭代若干次以结束当前第k层所有邻节点的处理1IHednc

6)将第k层迭代结果做归一化处理1IHednc

7)迭代若干次以结束所有K层采样深度的处理1IHednc

8)最终迭代结果zv即为输入节点xv的嵌入(embedding)1IHednc

4. GNN加速器设计挑战

GNN的算法中涉及到大量的矩阵计算和内存访问操作,在传统的x86架构的服务器上运行此算法是非常低效的,表现在速度慢,能耗高等方面。1IHednc

新型GPU的应用,可以为GNN的运算速度和能效比带来显著收益。然而GPU内存扩展性的短板,使其无法胜任海量节点Graph的处理;GPU的指令执行方式,也造成了计算延迟过大并且不可确定,无法胜任需要实时计算Graph的场景。1IHednc

如上所述种种设计挑战的存在,使得业界急需一种可以支持高度并发实时计算、巨大内存容量和带宽、以及在数据中心范围可扩展的GNN加速解决方案。1IHednc

5. GNN加速器的FPGA设计方案

Achronix 公司推出的 Speedster7t系列高性能FPGA,专门针对数据中心和机器学习工作负载进行了优化,消除了CPU、GPU以及传统 FPGA 存在的若干性能瓶颈。Speedster7t FPGA 基于台积电的 7nm FinFET 工艺,其架构采用革命性的新型 2D 片上网络 (NoC),独创的机器学习处理器矩阵 (MLP),并利用高带宽 GDDR6 控制器、400G 以太网和 PCI Express Gen5 接口,在保障ASIC 级别性能的同时,为用户提供了灵活的硬件可编程能力。下图展示了Speedster7t1500高性能FPGA的架构。1IHednc

 1IHednc

1IHednc

图5: Achronix Speedster7t1500 高性能FPGA 架构 (来源:http://www.achronix.com1IHednc

如上所述种种特性,使得Achronix Speedster7t1500 FPGA器件为GNN加速器设计中所面临的各种挑战,提供了完美的解决方案。1IHednc

1IHednc

表1:GNN设计挑战与Achronix的Speedster7t1500 FPGA解决方案1IHednc

5.1 GNN加速器顶层架构

本GNN加速器针对GraphSAGE进行设计,但其架构具有一定的通用性,可以适用于其他类似的GNN算法加速,其顶层架构如下图所示。1IHednc

1IHednc

图6: GNN加速器顶层架构(来源:Achronix原创)1IHednc

图中GNN Core为算法实现的核心部分,其设计细节将在下文展开谈论;RoCE-Lite为RDMA协议的轻量级版本,用于通过高速以太网进行远程内存访问,以支持海量节点的Graph计算,其设计细节将在本公众号的后续文章中讨论;400GE以太网控制器用来承载RoCE-Lite协议;GDDR6用于存放GNN处理过程中所需的高速访问数据;DDR4作为备用高容量内存,可以用于存储相对访问频度较低的数据,比如待预处理的Graph;PCIe Gen5x16提供高速主机接口,用于与服务器软件交互数据;上述所有模块,皆通过NoC片上网络来实现高速互联。1IHednc

5.2 GNN Core 微架构

在开始讨论GNN Core 微架构之前,我们先回顾一下本文第3节中的GraphSAGE算法,其内层循环的聚合以及合并(包含卷积)等两个操作占据了算法的绝大部分计算和存储器访问。通过研究,我们得到这两个步骤的特征如下:1IHednc

1IHednc

表2:GNN算法中聚合与合并操作对比(来源:https://arxiv.org/abs/1908.108341IHednc

可以看出,聚合操作与合并操作,其对计算和存储器访问的需求完全不同。聚合操作中涉及到对邻节点的采样,然而Graph属于非欧氏数据类型,其大小维度不确定且无序,矩阵稀疏,节点位置随机,所以存储器访问不规则并难以复用数据;在合并操作中,其输入数据为聚合结果(节点的低维表征)以及权重矩阵,其大小维度固定,存储位置规则线性,对存储器访问不存在挑战,但是矩阵的计算量非常大。1IHednc

基于以上分析,我们决定在GNN Core加速器设计中用两种不同的硬件结构来处理聚合操作与合并操作,功能框图如下图所示:1IHednc

1IHednc

图7: GNN Core功能框图(来源:Achronix原创)1IHednc

聚合器(Aggregator):通过SIMD(单指令多数据处理器)阵列来对Graph进行邻居节点采样并进行聚合操作。其中的“单指令”可以预定义为mean()均值计算,或者其他适用的聚合函数;“多数据”则表示单次mean()均值计算中需要多个邻居节点的特征数据作为输入,而这些数据来自于子图采样器(Subgraph Sampler);SIMD阵列通过调度器Agg Scheduler做负载均衡;子图采样器通过NoC从GDDR6或DDR4读回的邻接矩阵和节点特征数据h0v,分别缓存在Adjacent List Buffer和Node Feature Buffer之中;聚合的结果hkN(v)存储在Agg Buffer之中。1IHednc

合并器(Combinator):通过脉动矩阵PE来执行聚合结果的卷积操作;卷积核为Wk权重矩阵;卷积结果通过ReLU激活函数做非线性处理,同时也存储在Partial Sum Buffer中以方便下一轮迭代。1IHednc

合并的结果通过L2BN归一化处理之后,即为最终的节点表征hkv1IHednc

在比较典型的节点分类预测应用中,该节点表征hkv可以通过一个全连接层(FC),以得到该节点的分类标签。此过程属于传统的机器学习处理方法之一,没有在GraphSAGE论文中体现,此设计中也没有包含这个功能。1IHednc

6. 结论

本文深入讨论了GraphSAGE GNN 算法的数学原理,并从多个维度分析了GNN加速器设计中的技术挑战。作者通过分解问题并在架构层面逐一解决的方法,综合运用Achronix Speedster7t1500 FPGA所提供的竞争优势,创造了一个性能极佳且高度可扩展的GNN加速解决方案。1IHednc

  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
  • 因眼睛小车主被辅助驾驶误判“开车睡觉”,小鹏、蔚来回 昨日,汽车博主@常岩CY 发博称自己突然上了热搜,原来就是因自己眼睛小被小鹏汽车自动驾驶误判“开车睡觉”,不住的发出提醒。此外,@常岩CY 称在多款车型上都收到此困扰。无论是红外还是摄像头,只要开始检测眼睛,就会判定过度疲劳。小鹏P7会提示他睡觉,蔚来ET7一开车就认为其疲劳和走神,岚图FREE会在冬天为了让其“别困”而打开冷风……
  • 国际象棋机器人Chessrobot夹断对手手指,意外还是设计缺 据悉,在7月19日的莫斯科国际象棋公开赛期间,一位7岁小男孩疑似因提前走子犯规手,意外被“对手”国际象棋机器人Chessrobot夹住手指,造成指骨骨折,该事件登上了热搜榜。该男孩是莫斯科9岁以下最强的30位棋手之一。
  • “智能家居”未来将可通过呼吸控制操作 凯斯西储大学的研究人员创造了一个简单的原型设备,使用户能够通过改变他们的呼吸模式来控制“智能家居”。这种自供电装置可放入鼻孔,并有可能提高行动不便或无法清晰说话的人的生活质量。如果个人呼吸困难,它也可以编程为医务人员提供自动警报。
  • 核酸采样机器人将取代“大白”?用了哪些技术保证采样准 取棉签、核酸采样、储存核酸采样管、设备消杀……动作精准流畅,今后给你核酸采样的可能不再是“大白”,而是机器人。EDN小编就带大家来看看,目前已被使用的核酸采样机器人有哪些?
  • 一个AI程序就可将手机电池增加30% 一项尖端的人工智能开发可以将智能手机的电池寿命延长 30%。这项应用则是利用 AI 分析正在使用的应用程序的 FPS 变化,并试图找到 CPU 和 GPU 处理器的最佳运行频率以适应变化,同时消耗设备中最少的功率和温度增益……
  • AI视觉芯片如何赋能两轮车出行? 6月29日,在由全球领先的专业电子机构媒体AspenCore和深圳市新一代信息通信产业集群联合主办的“2022国际AIoT生态发展大会-智慧两轮车分论坛”中,嘉楠科技副总裁汤炜伟以《勘智AI视觉芯,赋能智眼两轮行》为主题,向大家分享了嘉楠地芯片设计创新历程,及其RISCV架构AI芯片技术路线图,并以具体案例展示AI视觉芯片如何赋能两轮车出行。
  • 碎片化、成本高是难题,AIoT行业需要哪些改变? 作为AIoT的行业基石,物联网市场到2022年预计将达到 144 亿活跃连接。随着供应限制的缓解和增长的进一步加速,IoT Analytics 最新预测指出,到2025年全球将有大约 270 亿台联网物联网设备。中国物联网链接到2025年也将达到80亿。随着整个AIoT和IoT市场的快速成长与变化,我们将面临哪些风险和挑战?
  • 英特尔张宇:边缘AI有三个阶段,我们还处在山脚 在AspenCore举办的“2022国际AIoT生态发展大会”上,英特尔公司高级首席工程师、物联网事业部中国区首席技术官张宇博士通过视频方式分享了“边缘AI技术发展趋势与展望”主题演讲。
  • 世界上尺寸最大的芯片Wafer Scale Engine-2打破了在单 Cerebras公司售价数百万美元的“全球最大AI芯片”Wafer Scale Engine-2又有新消息,在基于单个Wafer Scale Engine-2芯片的CS-2系统上训练了世界上最大的拥有200亿参数的NLP(自然语言处理)人工智能模型。
  • 婴儿或可帮助解锁下一代人工智能 都柏林圣三一学院的神经科学家及其同事刚刚发布了改进人工智能的新指导原则,他们表示,婴儿可以帮助解锁下一代人工智能(AI)。
  • 日本要利用机器学习实现半导体研究自动化 新型薄半导体材料的开发需要对大量反射高能电子衍射(RHEED)数据进行定量分析,既耗时又需要专业知识。为了解决这个问题,东京理科大学的科学家们确定了可以帮助自动化 RHEED 数据分析的机器学习技术。他们的发现可以极大地加速半导体研究,并为更快、更节能的电子设备铺平道路。
  • 纯视觉自动驾驶更安全?美国交通部发布数据打脸特斯拉 特斯拉的纯视觉自动驾驶到底效果如何?真的如马斯克所说的:“通过摄像头和计算机网络让自动驾驶比人类驾驶更安全”吗?近日美国国家公路交通安全管理局发布了一份新的数据,颇有打脸特斯拉的意味。
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了