宋新開(kāi) 支天 孔維浩?? 杜子?xùn)|③
(?中國(guó)科學(xué)院計(jì)算技術(shù)研究所計(jì)算機(jī)體系結(jié)構(gòu)國(guó)家重點(diǎn)實(shí)驗(yàn)室 北京100190)
(??中國(guó)科學(xué)院大學(xué) 北京100049)
(???中科寒武紀(jì)科技股份有限公司 北京100191)
圖神經(jīng)網(wǎng)絡(luò)(graph neural network,GNN)是近年來(lái)興起的一種專門用來(lái)處理基于圖結(jié)構(gòu)數(shù)據(jù)的人工智能算法。該算法已經(jīng)在各類圖處理任務(wù)上實(shí)現(xiàn)了準(zhǔn)確度的突破性進(jìn)展,例如在電子商務(wù)[1]、分子生物學(xué)[2-3]、社交網(wǎng)絡(luò)[4-5]、知識(shí)圖譜[6]等領(lǐng)域[7-9]。圖神經(jīng)網(wǎng)絡(luò)算法是卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)等傳統(tǒng)神經(jīng)網(wǎng)絡(luò)在圖數(shù)據(jù)處理任務(wù)上的擴(kuò)展。該算法將傳統(tǒng)神經(jīng)網(wǎng)絡(luò)算法和圖分析算法結(jié)合起來(lái),彌補(bǔ)了傳統(tǒng)神經(jīng)網(wǎng)絡(luò)算法不能處理圖結(jié)構(gòu)數(shù)據(jù)的問(wèn)題。
隨著圖神經(jīng)網(wǎng)絡(luò)算法的迅速發(fā)展和應(yīng)用,圖神經(jīng)網(wǎng)絡(luò)性能優(yōu)化問(wèn)題開(kāi)始受到研究人員的關(guān)注。近年來(lái),已經(jīng)有許多針對(duì)圖神經(jīng)網(wǎng)絡(luò)算法設(shè)計(jì)專用硬件加速器的研究工作被發(fā)表[10-19]。他們提出了不同的設(shè)計(jì)以改善現(xiàn)有設(shè)備運(yùn)行圖神經(jīng)網(wǎng)絡(luò)算法時(shí)效率低的問(wèn)題。然而,這些圖神經(jīng)網(wǎng)絡(luò)硬件加速器研究工作在測(cè)試樣例的選擇上差異很大,缺乏明確的設(shè)計(jì)目標(biāo)和評(píng)價(jià)手段。為了推動(dòng)圖神經(jīng)網(wǎng)絡(luò)硬件加速器研究的發(fā)展,學(xué)術(shù)界迫切需要一套針對(duì)硬件加速器研究的圖神經(jīng)網(wǎng)絡(luò)標(biāo)準(zhǔn)測(cè)試集。
設(shè)計(jì)一套針對(duì)圖神經(jīng)網(wǎng)絡(luò)硬件加速器評(píng)估的有效的標(biāo)準(zhǔn)測(cè)試集是一件有挑戰(zhàn)的任務(wù),本文從下列3 個(gè)方向梳理了該工作的挑戰(zhàn)性和對(duì)應(yīng)的解決思路。
首先,如何從大量的圖神經(jīng)網(wǎng)絡(luò)算法中選擇一部分作為標(biāo)準(zhǔn)測(cè)試集是有挑戰(zhàn)性的。為了控制執(zhí)行圖神經(jīng)網(wǎng)絡(luò)加速器評(píng)估的效率和成本,標(biāo)準(zhǔn)測(cè)試集無(wú)法全部包含已公開(kāi)發(fā)表的圖神經(jīng)網(wǎng)絡(luò)算法。對(duì)此,本文的解決思路是從圖神經(jīng)網(wǎng)絡(luò)算法的主要任務(wù)類型和應(yīng)用領(lǐng)域出發(fā)選擇典型代表性算法和數(shù)據(jù)集。
其次,如何在選擇盡可能少的數(shù)據(jù)集的情況下保證標(biāo)準(zhǔn)測(cè)試集中數(shù)據(jù)集選擇的多樣性是非常重要而且具有挑戰(zhàn)性的。數(shù)據(jù)集選擇的重要性體現(xiàn)在圖神經(jīng)網(wǎng)絡(luò)加速器的性能優(yōu)化設(shè)計(jì)與數(shù)據(jù)集的特性關(guān)系密切。例如,數(shù)據(jù)集的每個(gè)圖的頂點(diǎn)數(shù)量直接影響到加速器片上緩存大小的設(shè)置和訪存行為的優(yōu)化。頂點(diǎn)的連接稀疏度不僅影響芯片存儲(chǔ)結(jié)構(gòu)的設(shè)計(jì),而且對(duì)芯片的運(yùn)算單元設(shè)計(jì)也有非常大的影響。數(shù)據(jù)集選擇的挑戰(zhàn)性體現(xiàn)在各種圖神經(jīng)網(wǎng)絡(luò)算法可使用的數(shù)據(jù)集非常多。本文調(diào)研了與圖神經(jīng)網(wǎng)絡(luò)算法相關(guān)的可公開(kāi)獲取的圖數(shù)據(jù)集共326 個(gè),對(duì)它們的關(guān)鍵特性進(jìn)行量化和分析,并選取最大化數(shù)據(jù)集多樣性的方案。
最后,如何設(shè)計(jì)標(biāo)準(zhǔn)測(cè)試集使研究人員可以通過(guò)評(píng)估結(jié)果來(lái)揭示和分析硬件加速器的性能瓶頸也是一大挑戰(zhàn)。一個(gè)有效的標(biāo)準(zhǔn)測(cè)試集需要能夠根據(jù)評(píng)估結(jié)果來(lái)分析加速器的性能瓶頸。本文通過(guò)對(duì)標(biāo)準(zhǔn)測(cè)試集中的程序樣例的運(yùn)算步驟進(jìn)行拆分梳理,對(duì)其中的關(guān)鍵操作類型進(jìn)行分類測(cè)試,以揭示加速器性能優(yōu)化的瓶頸,進(jìn)而幫助研究人員改進(jìn)設(shè)計(jì)。
本文提出的圖神經(jīng)網(wǎng)絡(luò)標(biāo)準(zhǔn)測(cè)試集(Benchmark for graph neural network,BenchGNN)解決了上述三大挑戰(zhàn)。BenchGNN 包括宏測(cè)試集和微測(cè)試集兩部分,其中,宏測(cè)試集從圖神經(jīng)網(wǎng)絡(luò)任務(wù)類型和應(yīng)用領(lǐng)域的角度選取代表性算法和數(shù)據(jù)集,而微測(cè)試集則包括圖神經(jīng)網(wǎng)絡(luò)算法中包含的兩種基礎(chǔ)操作類型和4 個(gè)不同規(guī)模特性的圖數(shù)據(jù)集。
本文的主要貢獻(xiàn)如下。
(1)提出了一種針對(duì)圖神經(jīng)網(wǎng)絡(luò)硬件加速器評(píng)估的標(biāo)準(zhǔn)測(cè)試集BenchGNN。該測(cè)試集包含多種主要任務(wù)類型和應(yīng)用領(lǐng)域,同時(shí)還包括用于分析硬件加速器的設(shè)計(jì)優(yōu)劣的微測(cè)試集。
(2)BenchGNN 解決了圖神經(jīng)網(wǎng)絡(luò)加速器性能測(cè)評(píng)結(jié)果嚴(yán)重依賴于數(shù)據(jù)集選取的問(wèn)題,通過(guò)對(duì)326 個(gè)數(shù)據(jù)集進(jìn)行量化分析進(jìn)而選出代表性的數(shù)據(jù)集。
(3)在現(xiàn)有運(yùn)算設(shè)備上對(duì)BenchGNN 進(jìn)行了實(shí)驗(yàn)測(cè)試。實(shí)驗(yàn)結(jié)果表明,BenchGNN 可以展示出不同設(shè)備在處理圖神經(jīng)網(wǎng)絡(luò)運(yùn)算的不同任務(wù)時(shí)各自的優(yōu)劣所在。
本節(jié)將介紹圖神經(jīng)網(wǎng)絡(luò)算法、圖神經(jīng)網(wǎng)絡(luò)硬件加速器和圖神經(jīng)網(wǎng)絡(luò)標(biāo)準(zhǔn)測(cè)試集的背景知識(shí)和相關(guān)工作,并說(shuō)明設(shè)計(jì)一款針對(duì)圖神經(jīng)網(wǎng)絡(luò)硬件加速器的標(biāo)準(zhǔn)測(cè)試集的必要性。
圖神經(jīng)網(wǎng)絡(luò)算法是一種處理圖數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)算法,該算法以圖數(shù)據(jù)為輸入,根據(jù)不同的任務(wù)類型輸出不同類型的數(shù)據(jù)結(jié)果。例如,處理頂點(diǎn)級(jí)任務(wù)的圖神經(jīng)網(wǎng)絡(luò)算法輸出每個(gè)頂點(diǎn)的分類或回歸信息,處理邊級(jí)任務(wù)的圖神經(jīng)網(wǎng)絡(luò)算法預(yù)測(cè)每條邊的存在和類別,處理圖級(jí)任務(wù)的圖神經(jīng)網(wǎng)絡(luò)算法輸出整個(gè)圖的分類或者回歸結(jié)果。
圖神經(jīng)網(wǎng)絡(luò)由多層組成,每層以圖數(shù)據(jù)為輸入,輸出具有新的頂點(diǎn)特征向量或新的圖拓樸結(jié)構(gòu)的圖數(shù)據(jù)。輸入圖數(shù)據(jù)先后經(jīng)過(guò)這些層的處理,最終得到對(duì)圖數(shù)據(jù)進(jìn)行特征提取后的結(jié)果。根據(jù)任務(wù)需求的不同,再根據(jù)這個(gè)包含新特征的圖數(shù)據(jù)樣本預(yù)測(cè)最終輸出結(jié)果,例如預(yù)測(cè)每個(gè)頂點(diǎn)的分類信息,預(yù)測(cè)每條邊的分類信息或者預(yù)測(cè)整個(gè)圖的類別信息。
圖神經(jīng)網(wǎng)絡(luò)層的基本計(jì)算過(guò)程包括鄰居頂點(diǎn)聚合和特征向量轉(zhuǎn)換這兩個(gè)主要步驟。如圖1 所示,以圖中的2 號(hào)頂點(diǎn)為例,先執(zhí)行鄰居頂點(diǎn)聚合運(yùn)算,將其鄰居頂點(diǎn)的特征向量聚合為一個(gè)中間結(jié)果向量。然后再進(jìn)行特征向量轉(zhuǎn)換,2 號(hào)頂點(diǎn)的中間結(jié)果向量經(jīng)過(guò)一個(gè)內(nèi)積層與權(quán)值矩陣相乘得到2 號(hào)頂點(diǎn)的輸出向量。對(duì)所有頂點(diǎn)都執(zhí)行上述步驟進(jìn)行特征向量轉(zhuǎn)換,就是一個(gè)基礎(chǔ)圖神經(jīng)網(wǎng)絡(luò)層的運(yùn)算過(guò)程。
圖1 圖神經(jīng)網(wǎng)絡(luò)的基本運(yùn)算過(guò)程
根據(jù)一項(xiàng)開(kāi)源項(xiàng)目的統(tǒng)計(jì),2016 年9 月至2020年3 月已經(jīng)有至少1287 篇與圖神經(jīng)網(wǎng)絡(luò)算法相關(guān)的論文發(fā)表。這導(dǎo)致在對(duì)圖神經(jīng)網(wǎng)絡(luò)硬件加速器進(jìn)行測(cè)試時(shí),無(wú)法對(duì)全部圖神經(jīng)網(wǎng)絡(luò)算法進(jìn)行測(cè)試,只能選擇其中具有代表性的算法進(jìn)行測(cè)試。
自從2019 年HyGCN[12]設(shè)計(jì)被發(fā)表之后,已經(jīng)有共計(jì)10 篇針對(duì)圖神經(jīng)網(wǎng)絡(luò)算法設(shè)計(jì)硬件加速器的研究工作被發(fā)表,包括AWB-GCN[10]、EnGN[11]、GRIP[15]和Cambricon-G[19]等。
從事圖神經(jīng)網(wǎng)絡(luò)硬件加速器研究的團(tuán)隊(duì)在測(cè)試算法的選擇上展現(xiàn)出巨大的差異性。本文整理了這些圖神經(jīng)網(wǎng)絡(luò)硬件加速器論文在性能評(píng)估時(shí)使用的測(cè)試集,圖2 所示是到2020 年3 月為止發(fā)表的10篇圖神經(jīng)網(wǎng)絡(luò)加速器所選擇的測(cè)試算法的統(tǒng)計(jì)。從算法選取的角度來(lái)看,在全部14 個(gè)被用于評(píng)估加速器性能的圖神經(jīng)網(wǎng)絡(luò)算法中,有10 個(gè)算法都僅被一個(gè)加速器用于評(píng)估,僅有GCN 算法被全部10 個(gè)加速器共同選取。圖3 展示了現(xiàn)有加速器評(píng)估數(shù)據(jù)集的選取情況,在被用于評(píng)估的30 個(gè)數(shù)據(jù)集中,有21個(gè)數(shù)據(jù)集是僅被一個(gè)加速器用于評(píng)估。用于評(píng)估圖神經(jīng)網(wǎng)絡(luò)硬件加速器設(shè)計(jì)的測(cè)試集選取的巨大差異性無(wú)法在同行之間進(jìn)行直觀的對(duì)比,阻礙了圖神經(jīng)網(wǎng)絡(luò)加速器研究的進(jìn)一步發(fā)展。
圖2 現(xiàn)有加速器選用的測(cè)試算法
圖3 現(xiàn)有加速器選用的測(cè)試數(shù)據(jù)集
目前,神經(jīng)網(wǎng)絡(luò)領(lǐng)域針對(duì)硬件性能優(yōu)化的標(biāo)準(zhǔn)測(cè)試集的典型代表是MLPerf[20],該測(cè)試集是一個(gè)針對(duì)神經(jīng)網(wǎng)絡(luò)各應(yīng)用領(lǐng)域的權(quán)威測(cè)試集,在學(xué)術(shù)界和工業(yè)界被廣泛應(yīng)用。MLPerf 測(cè)試集的設(shè)計(jì)面向各種不同規(guī)模類型的硬件設(shè)備,包括移動(dòng)端設(shè)備和高性能設(shè)備等。同時(shí)MLPerf 還包含各種主流神經(jīng)網(wǎng)絡(luò)的類型,包括卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)、Transformer 和深度強(qiáng)化學(xué)習(xí)等。但是,MLPerf 中還沒(méi)有任何與圖神經(jīng)網(wǎng)絡(luò)相關(guān)的測(cè)試內(nèi)容。本文的研究?jī)?nèi)容可以彌補(bǔ)MLPerf 在圖神經(jīng)網(wǎng)絡(luò)相關(guān)方向測(cè)試內(nèi)容的缺失。
另外一部分和圖神經(jīng)網(wǎng)絡(luò)相關(guān)的標(biāo)準(zhǔn)測(cè)試集研究工作包括open graph Benchmarking(OGB)[21]和Benchmarking GNN[22]等。OGB 包括一些中等規(guī)模的真實(shí)的圖數(shù)據(jù)集并且對(duì)這些數(shù)據(jù)集進(jìn)行劃分來(lái)實(shí)現(xiàn)對(duì)算法泛化能力的評(píng)估。Benchmarking 圖神經(jīng)網(wǎng)絡(luò)由8 個(gè)數(shù)據(jù)集組成,包括4 個(gè)人工合成的數(shù)據(jù)集,2 個(gè)半人工合成的數(shù)據(jù)集和2 個(gè)真實(shí)的數(shù)據(jù)集。其設(shè)計(jì)重點(diǎn)是提高標(biāo)準(zhǔn)測(cè)試集針對(duì)不同圖神經(jīng)網(wǎng)絡(luò)算法性能和魯棒性的區(qū)分度。
當(dāng)前提出的這些圖神經(jīng)網(wǎng)絡(luò)標(biāo)準(zhǔn)測(cè)試集都是圖數(shù)據(jù)集的集合,其設(shè)計(jì)目的是用于評(píng)估各種圖神經(jīng)網(wǎng)絡(luò)算法的識(shí)別準(zhǔn)確度。它們不適用于圖神經(jīng)網(wǎng)絡(luò)硬件加速器性能評(píng)估的原因具體體現(xiàn)在以下兩點(diǎn)。第一,不同圖神經(jīng)網(wǎng)絡(luò)算法的運(yùn)算模式對(duì)加速器設(shè)計(jì)影響很大。而現(xiàn)有圖神經(jīng)網(wǎng)絡(luò)標(biāo)準(zhǔn)測(cè)試集只包含各種圖數(shù)據(jù)集,沒(méi)有對(duì)圖神經(jīng)網(wǎng)絡(luò)算法進(jìn)行挑選。第二,這些標(biāo)準(zhǔn)測(cè)試集在挑選數(shù)據(jù)集時(shí)沒(méi)有從性能和能耗優(yōu)化的角度進(jìn)行考慮。綜上所述,現(xiàn)有的圖神經(jīng)網(wǎng)絡(luò)標(biāo)準(zhǔn)測(cè)試集都無(wú)法滿足圖神經(jīng)網(wǎng)絡(luò)加速器評(píng)估的需求。
本節(jié)將介紹本文所提出的圖神經(jīng)網(wǎng)絡(luò)硬件加速器測(cè)評(píng)標(biāo)準(zhǔn)測(cè)試集的具體內(nèi)容。BenchGNN 分為宏測(cè)試集和微測(cè)試集兩部分。宏測(cè)試集以整個(gè)圖神經(jīng)網(wǎng)絡(luò)算法為測(cè)試單位,包括各主要類型的圖神經(jīng)網(wǎng)絡(luò)算法和多種主要應(yīng)用領(lǐng)域的數(shù)據(jù)集,用來(lái)評(píng)估圖神經(jīng)網(wǎng)絡(luò)加速器的整體性能和功耗表現(xiàn)。微測(cè)試集以微觀操作類型為測(cè)試單位,包括兩種操作類型和4 種不同規(guī)模尺寸的數(shù)據(jù)集。微測(cè)試集用來(lái)分析圖神經(jīng)網(wǎng)絡(luò)加速器在處理不同運(yùn)算模式和規(guī)模尺寸時(shí)的優(yōu)劣之處,進(jìn)而為設(shè)計(jì)改進(jìn)提供啟發(fā)。
宏測(cè)試集是用來(lái)評(píng)估圖神經(jīng)網(wǎng)絡(luò)加速器的宏觀性能和功耗表現(xiàn)的測(cè)試樣例集合,以整個(gè)圖神經(jīng)網(wǎng)絡(luò)算法為測(cè)試單位。宏測(cè)試集中測(cè)試程序的選取考慮了算法類型和應(yīng)用領(lǐng)域這兩方面,包括3 種主要算法類型,分別是頂點(diǎn)分類(node classification)任務(wù)、圖分類(graph classification)任務(wù)和連接預(yù)測(cè)(link prediction)任務(wù)。應(yīng)用領(lǐng)域包括社交網(wǎng)絡(luò)領(lǐng)域、文獻(xiàn)檢索領(lǐng)域、生物學(xué)領(lǐng)域、知識(shí)圖譜和語(yǔ)言學(xué)領(lǐng)域。宏測(cè)試集的具體內(nèi)容如表1 所示,包括模型的參數(shù)量、所需的計(jì)算量和需要達(dá)到的精度。
表1 宏測(cè)試集列表
宏測(cè)試集中選取的算法介紹如下。
圖卷積網(wǎng)絡(luò)(graph convolutional network,GCN)[4]是最具有代表性的圖神經(jīng)網(wǎng)絡(luò)算法。該算法是為了解決圖數(shù)據(jù)的半監(jiān)督頂點(diǎn)分類問(wèn)題而提出的。GCN中的圖卷積層可以把圖中每個(gè)頂點(diǎn)的特征向量轉(zhuǎn)換為新的特征向量,其結(jié)果可以通過(guò)Softmax 運(yùn)算得到頂點(diǎn)類別預(yù)測(cè)結(jié)果。式(1)和式(2)是圖卷積層運(yùn)算的2 個(gè)步驟。首先,將圖中每個(gè)頂點(diǎn)的所有鄰居頂點(diǎn)的特征向量聚合為一個(gè)向量;然后,該聚合向量再乘以權(quán)值矩陣,得到每個(gè)頂點(diǎn)的新的特征向量作為圖卷積層的輸出。GCN 算法的上述2 個(gè)步驟在各種圖神經(jīng)網(wǎng)絡(luò)算法中具有普適性和代表性。
圖注意力網(wǎng)絡(luò)(graph attention network,GAT)[23]將注意力機(jī)制引入到圖神經(jīng)網(wǎng)絡(luò)算法中,提出了圖注意力層。在圖注意力層中,首先根據(jù)每個(gè)頂點(diǎn)的特征向量計(jì)算出該頂點(diǎn)的兩個(gè)自注意力分?jǐn)?shù)值,分別代表本頂點(diǎn)作為一條邊的源頂點(diǎn)和目的頂點(diǎn)時(shí)的注意力值;然后根據(jù)每條邊的兩端頂點(diǎn)的注意力值計(jì)算出該邊的注意力值;最后在之后的聚合過(guò)程中使用上述計(jì)算得到的每條邊的注意力值作為權(quán)重執(zhí)行鄰居頂點(diǎn)聚合運(yùn)算。
可微池化算法(differentiable pooling,DiffPool)[2]是圖分類算法的典型代表。該算法引入了圖池化層操作,可以對(duì)圖拓?fù)浣Y(jié)構(gòu)數(shù)據(jù)進(jìn)行下采樣,減少圖中頂點(diǎn)的數(shù)量,增大頂點(diǎn)的感受野,提煉圖的高層次信息。圖池化層可以對(duì)圖拓?fù)鋽?shù)據(jù)進(jìn)行粗化,經(jīng)過(guò)粗化后的圖中的頂點(diǎn)數(shù)量減少,相應(yīng)的頂點(diǎn)特征向量包含更多的全局信息,最終可以將這些頂點(diǎn)特征向量進(jìn)行全局聚合,得到一個(gè)向量來(lái)表示整個(gè)圖的特征信息。DiffPool 是圖池化神經(jīng)網(wǎng)絡(luò)的典型代表,該算法使用矩陣乘法的方式更新頂點(diǎn)的聚類分組信息,實(shí)現(xiàn)了可微分的池化操作。
多關(guān)系組合圖卷積網(wǎng)絡(luò)(composition-based multirelational graph convolutional networks,CompGCN)[6]是連接預(yù)測(cè)算法的典型代表,在知識(shí)圖譜的實(shí)體關(guān)系補(bǔ)全任務(wù)中取得優(yōu)異表現(xiàn)。該算法解決了知識(shí)圖譜中連接關(guān)系類型多樣性導(dǎo)致的參數(shù)數(shù)量爆炸問(wèn)題,提出了組合連接關(guān)系編碼的圖神經(jīng)網(wǎng)絡(luò)聚合方式。同時(shí),CompGCN 還通過(guò)數(shù)據(jù)增廣的方式將連接關(guān)系劃分為正向、反向和自旋3 種類型,分別學(xué)習(xí)3種權(quán)值矩陣,并對(duì)它們的運(yùn)算結(jié)果進(jìn)行加權(quán)求和。
最后,為了明確具體測(cè)試標(biāo)準(zhǔn),以下羅列了宏測(cè)試集中的4 種圖神經(jīng)網(wǎng)絡(luò)算法的具體超參數(shù)。GCN算法包括2 個(gè)GCN 層,其中間層的特征向量長(zhǎng)度為256。GAT 算法同樣包括2 個(gè)GAT 層,其中間特征向量長(zhǎng)度為8,2 個(gè)GAT 層的注意力通道分別為8和1。DiffPool 算法包括1 個(gè)輸出特征向量長(zhǎng)度為64 的GCN 層,1 個(gè)聚合類型數(shù)量為12 的DiffPool層,該層對(duì)應(yīng)的特征向量長(zhǎng)度為64,以及1 個(gè)全局池化層和最終的圖分類層。CompGCN 算法采用TransE 作為連接預(yù)測(cè)的計(jì)分函數(shù),網(wǎng)絡(luò)結(jié)構(gòu)包含2個(gè)GCN 層,其中間層的特征向量長(zhǎng)度為200。
宏測(cè)試集所選取的數(shù)據(jù)集都是圖神經(jīng)網(wǎng)絡(luò)算法研究領(lǐng)域的常用測(cè)試數(shù)據(jù)集。其中,頂點(diǎn)分類任務(wù)的常用數(shù)據(jù)集Cora[4]是表示科學(xué)文獻(xiàn)之間的互相引用關(guān)系的圖數(shù)據(jù)。以2708 篇文獻(xiàn)為頂點(diǎn),10 556條引用關(guān)系為邊,任務(wù)目標(biāo)是對(duì)每篇文獻(xiàn)進(jìn)行7 選1 分類。Reddit[4]也是頂點(diǎn)分類任務(wù)的常用數(shù)據(jù)集,包含232 965 個(gè)表示社交發(fā)貼的頂點(diǎn)和114 615 892條邊,每條邊表示2 個(gè)發(fā)貼被同一網(wǎng)絡(luò)用戶留言的相關(guān)關(guān)系,任務(wù)目標(biāo)是對(duì)每個(gè)網(wǎng)絡(luò)發(fā)帖進(jìn)行分類。圖分類任務(wù)的常用數(shù)據(jù)集Enzymes[2]是一個(gè)包含600 個(gè)蛋白質(zhì)三級(jí)結(jié)構(gòu)的數(shù)據(jù)集,用于根據(jù)每個(gè)蛋白質(zhì)的氨基酸組成結(jié)構(gòu)預(yù)測(cè)蛋白質(zhì)屬性。連接預(yù)測(cè)任務(wù)的常用數(shù)據(jù)集FB15k-237[6]和WN18RR[6]分別來(lái)自知識(shí)圖譜領(lǐng)域和語(yǔ)言學(xué)領(lǐng)域,頂點(diǎn)表示實(shí)體概念,邊表示這些實(shí)體之間的相互關(guān)系。這些圖數(shù)據(jù)都是由多個(gè)“實(shí)體-關(guān)系-實(shí)體”三元組組成,連接預(yù)測(cè)任務(wù)需要預(yù)測(cè)兩個(gè)實(shí)體頂點(diǎn)之間的邊是否存在以及預(yù)測(cè)邊的類型。
本文除了提出上述宏測(cè)試集對(duì)圖神經(jīng)網(wǎng)絡(luò)加速器的性能功耗進(jìn)行總體評(píng)估之外,還提出一系列微測(cè)試集對(duì)加速器的微觀性能功耗表現(xiàn)進(jìn)行測(cè)試。具體來(lái)說(shuō),微測(cè)試包含圖神經(jīng)網(wǎng)絡(luò)運(yùn)算中需要的2 種操作類型和4 種不同規(guī)模尺寸的圖數(shù)據(jù)集。通過(guò)對(duì)這些不同細(xì)分類型的微觀運(yùn)算場(chǎng)景進(jìn)行分類測(cè)試,微測(cè)試集的測(cè)試結(jié)果可以用來(lái)分析圖神經(jīng)網(wǎng)絡(luò)加速器的性能功耗優(yōu)化的不足之處,進(jìn)而啟發(fā)設(shè)計(jì)人員進(jìn)行針對(duì)性的改進(jìn)。
微測(cè)試集的2 種操作類型分別是隨機(jī)向量規(guī)約操作和矩陣乘法操作。這2 種操作類型是通過(guò)對(duì)宏測(cè)試算法的運(yùn)算過(guò)程進(jìn)行拆解所得到的。表2 列舉了宏測(cè)試集中4 種算法所包含的主要運(yùn)算模式及其操作類型。
表2 圖神經(jīng)網(wǎng)絡(luò)算法操作類型分析
頂點(diǎn)聚合運(yùn)算是圖神經(jīng)網(wǎng)絡(luò)算法的基礎(chǔ)運(yùn)算類型之一。圖聚合運(yùn)算是指在圖上的頂點(diǎn)特征信息按照頂點(diǎn)之間的邊的連接關(guān)系進(jìn)行信息傳遞的過(guò)程。圖聚合運(yùn)算最常見(jiàn)的做法是每個(gè)頂點(diǎn)將鄰居頂點(diǎn)的信息聚合到本頂點(diǎn),具體的聚合方法包括求和、求均值或求最大值等,如式(1)所示。該過(guò)程的核心操作類型就是隨機(jī)向量規(guī)約操作,即取隨機(jī)位置的向量組合執(zhí)行規(guī)約運(yùn)算。因此,本文選擇隨機(jī)向量規(guī)約操作作為微測(cè)試集中的一種操作類型。
圖特征轉(zhuǎn)換運(yùn)算是指對(duì)圖中的特征向量進(jìn)行轉(zhuǎn)換的過(guò)程,其操作對(duì)象可能包括每個(gè)頂點(diǎn)、每條邊或者整個(gè)圖的特征向量。圖特征轉(zhuǎn)換運(yùn)算的具體操作類型為矩陣乘法操作,即每個(gè)特征向量與圖神經(jīng)網(wǎng)絡(luò)中的一個(gè)權(quán)值矩陣相乘,得到對(duì)應(yīng)對(duì)象的輸出特征向量。該運(yùn)算不僅可以用于將輸入特征信號(hào)轉(zhuǎn)換為隱空間的特征信號(hào),也可以用于在不同層的隱空間之間進(jìn)行轉(zhuǎn)換或者從隱空間轉(zhuǎn)換為具有語(yǔ)義信息的輸出空間的特征信號(hào),例如轉(zhuǎn)換為代表輸出的類別預(yù)測(cè)信息的特征向量。除此之外,表2 中的注意力運(yùn)算和可微池化運(yùn)算的核心操作類型也都是矩陣乘法操作。矩陣乘法操作具有運(yùn)算量大、訪存連續(xù)性強(qiáng)、數(shù)據(jù)復(fù)用規(guī)則清晰的特點(diǎn),這與前述隨機(jī)向量規(guī)約操作有明顯區(qū)別。因此本文選擇矩陣乘法操作為微測(cè)試集中的第二種操作類型。
除了操作類型之外,數(shù)據(jù)集的選擇對(duì)圖神經(jīng)網(wǎng)絡(luò)加速器性能優(yōu)化設(shè)計(jì)的影響也很大。例如,圖數(shù)據(jù)中每個(gè)圖的頂點(diǎn)數(shù)量和每個(gè)頂點(diǎn)的特征向量長(zhǎng)度共同決定了該圖的數(shù)據(jù)體積。在頂點(diǎn)聚合運(yùn)算過(guò)程中,由于每個(gè)頂點(diǎn)可能被多個(gè)其他頂點(diǎn)連接,所以每個(gè)頂點(diǎn)可能需要多次被訪問(wèn)。在這種情況下,對(duì)于每個(gè)圖的頂點(diǎn)數(shù)據(jù)體積較小的數(shù)據(jù)集,可以將頂點(diǎn)特征向量全部緩存在片上存儲(chǔ)中,從而避免重復(fù)進(jìn)行片外訪存帶來(lái)的性能損失。但是,對(duì)于頂點(diǎn)數(shù)據(jù)體積遠(yuǎn)超芯片片上存儲(chǔ)空間的圖數(shù)據(jù)集,如何做好片上存儲(chǔ)層次和訪存復(fù)用就成為加速器優(yōu)化設(shè)計(jì)的關(guān)鍵所在。綜上所述,數(shù)據(jù)集對(duì)加速器優(yōu)化設(shè)計(jì)的影響很大,所以必須專門挑選微測(cè)試集所用的圖數(shù)據(jù)集的規(guī)模尺寸特性以保證微測(cè)試集評(píng)估的多樣性。
圖數(shù)據(jù)集的規(guī)模尺寸特性主要體現(xiàn)在3 個(gè)方面,分別是頂點(diǎn)數(shù)量、邊數(shù)量和頂點(diǎn)特征向量長(zhǎng)度。但是由于圖神經(jīng)網(wǎng)絡(luò)運(yùn)算過(guò)程中只有第一層的頂點(diǎn)特征向量長(zhǎng)度與原數(shù)據(jù)集一致,其后的所有圖神經(jīng)網(wǎng)絡(luò)層中頂點(diǎn)特征向量長(zhǎng)度均為模型所指定的長(zhǎng)度,因此本文沒(méi)有選取頂點(diǎn)特征向量長(zhǎng)度作為數(shù)據(jù)集的篩選指標(biāo)。同時(shí),本文使用連接稠密度來(lái)替代邊數(shù)量作為數(shù)據(jù)集的篩選指標(biāo)。
本文統(tǒng)計(jì)了326 個(gè)真實(shí)的圖數(shù)據(jù)集的頂點(diǎn)數(shù)量和圖的連接稠密度。然后,根據(jù)這兩個(gè)量化特性對(duì)數(shù)據(jù)集使用K-Means 算法進(jìn)行聚類,類別數(shù)設(shè)置為4。最后,選取距離每個(gè)聚類中心最近的數(shù)據(jù)集作為微測(cè)試集中使用的數(shù)據(jù)集。聚類中心和最后選取的數(shù)據(jù)集如圖4 所示。這4 個(gè)圖數(shù)據(jù)集分別是Enzymes(ENZ)、computer science(CS)、AM 和FRI。Enzymes 是蛋白質(zhì)結(jié)構(gòu)數(shù)據(jù)庫(kù),其中包含600 個(gè)蛋白質(zhì)三級(jí)結(jié)構(gòu)的數(shù)據(jù)集。CS 是論文共同作者關(guān)系圖數(shù)據(jù),來(lái)自計(jì)算機(jī)領(lǐng)域頂級(jí)會(huì)議的接收論文的共同作者數(shù)據(jù)。FRI 是社交網(wǎng)絡(luò)中的好友關(guān)系圖數(shù)據(jù),來(lái)自社交網(wǎng)站Friendster。
圖4 數(shù)據(jù)集特性的聚類分析圖
這4 個(gè)數(shù)據(jù)集的規(guī)模尺寸如表3 所列,包括圖數(shù)量、頂點(diǎn)數(shù)量、邊數(shù)量和連接稠密度。除此之外,本文根據(jù)統(tǒng)計(jì)經(jīng)驗(yàn)設(shè)置了16、64 和256 這3 種常用的特征向量長(zhǎng)度,見(jiàn)表4??梢?jiàn),在不同的頂點(diǎn)特征向量長(zhǎng)度設(shè)置下,圖數(shù)據(jù)集的頂點(diǎn)特征向量的總體積從2.04 kB 到112 GB 均有分布。微測(cè)試集包含圖數(shù)據(jù)集的各種規(guī)模尺寸,以分析不同微觀運(yùn)算場(chǎng)景下的硬件加速器設(shè)計(jì)表現(xiàn)。
表3 微測(cè)試集數(shù)據(jù)集的規(guī)模特性
表4 微測(cè)試集數(shù)據(jù)集的頂點(diǎn)特征向量總體積
為了展示BenchGNN 的實(shí)際效果,本文在典型硬件設(shè)備上對(duì)BenchGNN 進(jìn)行了實(shí)驗(yàn)測(cè)試,包括中央處理器(central processing unit,CPU)、圖形處理器(graphics processing unit,GPU)和圖神經(jīng)網(wǎng)絡(luò)加速器。本文實(shí)驗(yàn)所用的CPU 為Intel(R) Xeon(R)CPU E5-2690 v4,GPU 為NVIDIA Tesla P100-16 GB,選用的圖神經(jīng)網(wǎng)絡(luò)專用加速器為Cambricon-G[19]。這3 種硬件設(shè)備的關(guān)鍵特性列舉在表5 中。其中,Cambricon-G 的功耗為其論文中所列數(shù)據(jù),該數(shù)據(jù)為芯片靜態(tài)功耗,且不包含片外存儲(chǔ)的功耗。
表5 實(shí)驗(yàn)設(shè)備的關(guān)鍵特性
為了保證測(cè)試實(shí)驗(yàn)?zāi)軌驕?zhǔn)確地反映設(shè)備的最佳性能功耗表現(xiàn),針對(duì)CPU 和GPU 的實(shí)驗(yàn)過(guò)程使用的是當(dāng)前最先進(jìn)的圖神經(jīng)網(wǎng)絡(luò)軟件框架DGL(deep graph library)。其中,宏測(cè)試集算法CompGCN 不支持在DGL 框架中實(shí)現(xiàn),因此使用的是論文對(duì)應(yīng)的開(kāi)源代碼。對(duì)于專用加速器Cambricon-G,本文首先根據(jù)公開(kāi)論文編寫軟件模擬器,然后針對(duì)每個(gè)算法的運(yùn)算過(guò)程使用腳本生成指令,最后在模擬器上運(yùn)行指令對(duì)其性能和功耗進(jìn)行評(píng)估測(cè)試。
本文使用上述3 種硬件設(shè)備分別運(yùn)行了宏測(cè)試集的5 個(gè)測(cè)試程序,對(duì)其性能和功耗結(jié)果進(jìn)行了評(píng)估和分析。圖5 是宏測(cè)試集性能測(cè)試結(jié)果,圖中展示了3 種運(yùn)算設(shè)備分別運(yùn)行宏測(cè)試集的推理時(shí)間,單位是毫秒(ms)。為了顯示清晰,本文在圖中使用縮寫Cam-G 代表圖神經(jīng)網(wǎng)絡(luò)專用加速器Cambricon-G??梢?jiàn),CPU 的性能表現(xiàn)遠(yuǎn)差于具有較高并行運(yùn)算能力的GPU 和Cambricon-G,主要原因是圖神經(jīng)網(wǎng)絡(luò)算法運(yùn)算過(guò)程中的主要數(shù)據(jù)類型為頂點(diǎn)特征向量,其相關(guān)操作均為向量運(yùn)算,較弱的并行運(yùn)算性能使得CPU 在處理圖神經(jīng)網(wǎng)絡(luò)算法時(shí)性能很差。
圖5 宏測(cè)試集性能測(cè)試結(jié)果
從圖5 來(lái)看,GPU 和Cambricon-G 的性能表現(xiàn)較為接近。為了能更直觀地對(duì)比GPU 和Cambricon-G 在處理圖神經(jīng)網(wǎng)絡(luò)算法時(shí)的相對(duì)性能表現(xiàn),本文以CPU 的性能表現(xiàn)為基準(zhǔn),進(jìn)一步計(jì)算和分析了其他兩種設(shè)備相對(duì)于CPU 的加速比,如圖6 所示。平均來(lái)看,GPU 相對(duì)于CPU 實(shí)現(xiàn)了181.1 倍的加速比,而Cambricon-G 相對(duì)于CPU 實(shí)現(xiàn)了996.5倍的加速比。其中,在DiffPool-Enzymes 測(cè)試程序上,Cambricon-G 的性能達(dá)到GPU 的42.6 倍。而在宏測(cè)試集的其他4 種測(cè)試程序上,2 種硬件設(shè)備的性能差距穩(wěn)定在2.6~5.2 倍。為了探究造成這一特殊情況的原因,本文進(jìn)一步測(cè)試了GPU 在運(yùn)行宏測(cè)試集程序時(shí)的利用率。如圖7 所示,本文使用NVIDIA 官方提供的GPU 狀態(tài)實(shí)時(shí)監(jiān)測(cè)工具nvidiasmi 抓取了實(shí)驗(yàn)過(guò)程中GPU 能達(dá)到的利用率的最大值??梢?jiàn),在執(zhí)行DiffPool-Enzymes 測(cè)試程序時(shí),GPU 的最大利用率僅為11%,遠(yuǎn)低于GPU 在運(yùn)行其他測(cè)試程序時(shí)的利用率。造成這一現(xiàn)象的原因是該測(cè)試程序是圖分類任務(wù),Enzymes 數(shù)據(jù)集是由600個(gè)規(guī)模很小的圖結(jié)構(gòu)組成,平均每個(gè)圖僅包含33 個(gè)頂點(diǎn),并且每個(gè)圖數(shù)據(jù)的頂點(diǎn)數(shù)和拓?fù)浣Y(jié)構(gòu)各不相同,因此GPU 無(wú)法高效地進(jìn)行批處理,頻繁地啟動(dòng)核函數(shù)處理每個(gè)小圖數(shù)據(jù)造成GPU 利用率低,最終導(dǎo)致性能表現(xiàn)較差。而在其他測(cè)試程序中,GATCora 測(cè)試程序的GPU 利用率為42%,低于其他3種測(cè)試程序 GCN-Reddit、CompGCN-FB15k237 和CompGCN-WN18RR,原因在于其Cora 數(shù)據(jù)集的規(guī)模較小,僅2708 個(gè)頂點(diǎn),同時(shí)GAT 算法隱藏層通道數(shù)也較少,中間特征向量長(zhǎng)度僅為8。兩者共同導(dǎo)致GAT-Cora 測(cè)試程序并行度不高,GPU 的運(yùn)算單元無(wú)法被充分利用。
圖6 宏測(cè)試集加速比測(cè)試結(jié)果
圖7 宏測(cè)試集GPU 利用率
圖8 展示了CPU、GPU 和Cambricon-G 的性能功耗比,單位是GFlops/W。總體來(lái)看,CPU 和GPU 的性能功耗比平均僅為0.014 GFlops/W 和8.62 GFlops/W,而Cambricon-G 的平均性能功耗比達(dá)到56.6 GFlops/W,原因在于Cambricon-G 設(shè)計(jì)了專門針對(duì)圖神經(jīng)網(wǎng)絡(luò)算法的片上存儲(chǔ)層次和訪存優(yōu)化方案。通過(guò)對(duì)圖拓?fù)溥M(jìn)行預(yù)處理,Cambricon-G 的片上緩存結(jié)構(gòu)可以高效地進(jìn)行頂點(diǎn)特征向量在緩存中的替換,使其緩存命中率大幅提高。因此,Cambricon-G 運(yùn)行圖神經(jīng)網(wǎng)絡(luò)算法時(shí)大幅降低了片外訪存總量,提高了總體性能,同時(shí)也降低了訪存功耗,因此具有較高的性能功耗比表現(xiàn)。
圖8 宏測(cè)試集性能功耗比測(cè)試結(jié)果
同時(shí),本文使用上述3 種運(yùn)算設(shè)備對(duì)BenchGNN 的微測(cè)試集進(jìn)行了實(shí)驗(yàn)測(cè)試。在微測(cè)試集中,由于FRI 數(shù)據(jù)集頂點(diǎn)特征向量的體積達(dá)到112 GB,遠(yuǎn)遠(yuǎn)超過(guò)當(dāng)代GPU 和各類圖神經(jīng)網(wǎng)絡(luò)加速器的存儲(chǔ)容量,現(xiàn)有GPU 和加速器都無(wú)法支持與FRI 數(shù)據(jù)集相關(guān)的測(cè)試,因此本文的后續(xù)實(shí)驗(yàn)和分析都不包含F(xiàn)RI 數(shù)據(jù)集。事實(shí)上,由于數(shù)據(jù)集規(guī)模太大,包括學(xué)術(shù)界所提出的圖神經(jīng)網(wǎng)絡(luò)加速器在內(nèi)的大部分的現(xiàn)有運(yùn)算設(shè)備都無(wú)法端到端地支持與FRI 規(guī)模尺寸相近的數(shù)據(jù)集。然而,從大量圖數(shù)據(jù)集規(guī)模特性的聚類結(jié)果(如圖4)來(lái)看,有相當(dāng)數(shù)量的數(shù)據(jù)集具有比FRI 更大的規(guī)模特性。這種超大規(guī)模圖數(shù)據(jù)的部署和加速優(yōu)化問(wèn)題是當(dāng)前圖神經(jīng)網(wǎng)絡(luò)加速運(yùn)算的空白領(lǐng)域,有待研究人員針對(duì)這類超大規(guī)模圖處理任務(wù)設(shè)計(jì)專門的硬件加速器,或者設(shè)計(jì)專門處理超大規(guī)模圖神經(jīng)網(wǎng)絡(luò)任務(wù)的分布式運(yùn)算系統(tǒng)。
圖9 為微測(cè)試集矩陣乘法操作的性能測(cè)試結(jié)果。在處理較大規(guī)模的圖數(shù)據(jù)集CS 和AM 時(shí),Cambricon-G 的性能表現(xiàn)弱于GPU,其原因是矩陣乘法操作具有運(yùn)算量大、訪存連續(xù)性強(qiáng)和數(shù)據(jù)復(fù)用規(guī)則清晰等特點(diǎn),適合GPU 這種規(guī)整的并行處理器。因此GPU 的性能表現(xiàn)優(yōu)于Cambricon-G。而在處理Enzymes 數(shù)據(jù)集時(shí),由于每個(gè)圖數(shù)據(jù)規(guī)模較小且頂點(diǎn)數(shù)量不同,導(dǎo)致GPU 無(wú)法高效地進(jìn)行批處理,因此性能弱于Cambricon-G。本文使用nvprof 工具對(duì)微測(cè)試集運(yùn)算過(guò)程中的關(guān)鍵硬件指標(biāo)進(jìn)行監(jiān)測(cè)。圖10 和圖11 分別展示了GPU 在運(yùn)行微測(cè)試集的矩陣乘法操作時(shí)的運(yùn)算單元利用率和實(shí)際片外訪存帶寬??梢园l(fā)現(xiàn),對(duì)于CS 和AM 這2 個(gè)數(shù)據(jù)集,GPU 可以保持不低于25%的運(yùn)算單元利用率和49 GB/s 以上的實(shí)際訪存帶寬。對(duì)比之下,以Enzymes 為代表的小圖數(shù)據(jù)集則只能實(shí)現(xiàn)不到4%的運(yùn)算單元利用率和不到4 GB/s 的實(shí)際訪存帶寬。
圖9 微測(cè)試集矩陣乘法操作的性能測(cè)試結(jié)果
圖10 矩陣乘法操作的GPU 運(yùn)算單元率
圖11 矩陣乘法操作的GPU 實(shí)際片外訪存帶寬
圖12 為微測(cè)試集隨機(jī)向量規(guī)約操作的性能測(cè)試結(jié)果。隨機(jī)向量規(guī)約操作需要根據(jù)圖拓?fù)溥B接關(guān)系進(jìn)行大量的隨機(jī)訪存操作,因此訪存連續(xù)度較低。而GPU 使用高帶寬的HBM2 片外存儲(chǔ)適合對(duì)向量或矩陣進(jìn)行連續(xù)訪存。而Cambricon-G 針對(duì)圖神經(jīng)網(wǎng)絡(luò)的這種隨機(jī)訪存模式進(jìn)行了優(yōu)化設(shè)計(jì),因而其性能表現(xiàn)優(yōu)于GPU。根據(jù)如圖13 和圖14 所示的運(yùn)算單元利用率和實(shí)際訪存帶寬監(jiān)測(cè)結(jié)果,GPU 在執(zhí)行隨機(jī)向量規(guī)約操作時(shí)在全部數(shù)據(jù)集上只能實(shí)現(xiàn)最多1.02%的運(yùn)算單元利用率和不超過(guò)40 GB/s 的實(shí)際訪存帶寬,遠(yuǎn)低于GPU 在執(zhí)行矩陣乘法操作時(shí)的相應(yīng)指標(biāo)。進(jìn)一步分析可以發(fā)現(xiàn),GPU在小圖數(shù)據(jù)集Enzymes 上的性能表現(xiàn)也遠(yuǎn)不如Cambricon-G。原因是在Enzymes 數(shù)據(jù)集上執(zhí)行隨機(jī)向量規(guī)約時(shí),GPU 只能實(shí)現(xiàn)不超過(guò)0.05%的運(yùn)算單元利用率和不到2 GB/s 的實(shí)際訪存帶寬。
圖12 微測(cè)試集隨機(jī)向量規(guī)約操作的性能測(cè)試結(jié)果
圖13 隨機(jī)向量規(guī)約操作的GPU 運(yùn)算單元率
圖14 隨機(jī)向量規(guī)約操作的GPU 實(shí)際片外訪存帶寬
根據(jù)上述實(shí)驗(yàn)結(jié)果可以得出以下結(jié)論,高效處理圖神經(jīng)網(wǎng)絡(luò)算法需要硬件設(shè)備具有較高的并行度,而以GPU 為代表的通用并行處理器由于無(wú)法高效處理圖神經(jīng)網(wǎng)絡(luò)算法的隨機(jī)訪存問(wèn)題,減弱了其性能功耗表現(xiàn)。因此,針對(duì)圖神經(jīng)網(wǎng)絡(luò)算法設(shè)計(jì)專用的硬件加速器成為必不可缺的技術(shù)路線和重要研究方向。本文所提出的BenchGNN 在多種任務(wù)類型、應(yīng)用領(lǐng)域、微觀操作類型和數(shù)據(jù)集規(guī)模特性等多種場(chǎng)景對(duì)圖神經(jīng)網(wǎng)絡(luò)運(yùn)算設(shè)備進(jìn)行評(píng)估,可以作為學(xué)術(shù)界針對(duì)圖神經(jīng)網(wǎng)絡(luò)專用硬件加速器研究的設(shè)計(jì)目標(biāo)和評(píng)價(jià)標(biāo)準(zhǔn)。
針對(duì)現(xiàn)有圖神經(jīng)網(wǎng)絡(luò)硬件加速器研究缺乏統(tǒng)一的標(biāo)準(zhǔn)測(cè)試集的問(wèn)題,本文提出一種針對(duì)圖神經(jīng)網(wǎng)絡(luò)硬件加速器性能評(píng)估的標(biāo)準(zhǔn)測(cè)試集BenchGNN。BenchGNN 包括用于整體性能評(píng)估的宏測(cè)試集和用于性能表現(xiàn)優(yōu)劣勢(shì)分析的微測(cè)試集。BenchGNN 的宏測(cè)試集包含圖神經(jīng)網(wǎng)絡(luò)算法的3 種任務(wù)類型和5種應(yīng)用領(lǐng)域,微測(cè)試集包含2 種主要操作類型和不同量化特性的圖數(shù)據(jù)集。本文還在現(xiàn)有設(shè)備CPU、GPU 和圖神經(jīng)網(wǎng)絡(luò)專用加速器上對(duì)BenchGNN 進(jìn)行了實(shí)驗(yàn)測(cè)試,實(shí)驗(yàn)結(jié)果表明BenchGNN 可以展示出不同設(shè)備在處理圖神經(jīng)網(wǎng)絡(luò)運(yùn)算時(shí)的性能和功耗表現(xiàn)。同時(shí),結(jié)合微測(cè)試集的實(shí)驗(yàn)結(jié)果,BenchGNN 可以對(duì)后續(xù)設(shè)計(jì)新的圖神經(jīng)網(wǎng)絡(luò)加速器提出有價(jià)值的優(yōu)化建議。