本披露一般地涉及計算領(lǐng)域。更具體地,本披露涉及一種計算裝置、芯片、板卡和利用計算裝置執(zhí)行自注意力機制運算的方法。
背景技術(shù):
1、目前,變換器(transformer)網(wǎng)絡(luò)已經(jīng)廣泛應(yīng)用于自然語言處理(nlp)領(lǐng)域,例如機器翻譯、問答系統(tǒng)、文本摘要和語音識別等等。transformer網(wǎng)絡(luò)采用了編碼器-解碼器架構(gòu),并且編碼器和解碼器中都包括自注意力機制。自注意力機制是transformer網(wǎng)絡(luò)的核心,其計算過程涉及查詢(q,query)、鍵(k,key)和值(v,value)三個張量之間的乘法運算。
2、傳統(tǒng)ai芯片實現(xiàn)transformer網(wǎng)絡(luò)解碼器自注意力機制時采用tensor?core的方式加速q、k、v這三個張量之間的乘法運算。tensor?core是英偉達在其volta架構(gòu)中引入的一種特殊功能單元,是ai芯片的特定硬件模塊,用于加速矩陣乘法運算。該方式使得q、k、v三個張量之間的乘法運算得以高效實現(xiàn)。
3、然而,當(dāng)在吞吐量(throughput)模式下,也即輸入數(shù)據(jù)規(guī)模非常大,特別是數(shù)據(jù)批次很大時,由于tensor?core按照批次循環(huán)地方式進行處理,會造成較低的數(shù)據(jù)輸入輸出(io)和算力帶寬利用率,導(dǎo)致性能較差。
4、有鑒于此,期望提供一種改進的方案,以使得即使輸入數(shù)據(jù)規(guī)模非常大,也能高效實現(xiàn)自注意力機制的運算。
技術(shù)實現(xiàn)思路
1、為了至少解決如上所提到的一個或多個技術(shù)問題,本披露在多個方面中提出了自注意力機制的運算方案,其通過將自注意力機制中的矩陣乘法運算進行分解,使得運算可以拆分在兩個運算部件上執(zhí)行,從而便于流水操作,提高數(shù)據(jù)吞吐量。
2、在第一方面中,本披露提供一種計算裝置,配置用于執(zhí)行自注意力機制運算,其特征在于,所述自注意力機制運算中的矩陣乘法運算被分解為對位乘子運算和矩陣乘子運算,所述計算裝置包括:處理電路,配置用于執(zhí)行維度操作,以將相關(guān)張量數(shù)據(jù)轉(zhuǎn)換為運算或輸出所需的維度順序和/或形狀,其中所述維度操作包括:維度轉(zhuǎn)置和/或維度變形;向量運算電路vfu,配置用于執(zhí)行所述對位乘子運算,其中所述張量數(shù)據(jù)的批次維度n參與所述對位乘子運算;以及張量運算電路tfu,配置用于執(zhí)行所述矩陣乘子運算,其中所述矩陣乘子運算對相應(yīng)的輸入數(shù)據(jù)執(zhí)行低維度規(guī)約求和運算。
3、在第二方面中,本披露提供一種芯片,包括本披露第一方面的計算裝置。
4、在第三方面中,本披露提供一種板卡,包括本披露第二方面的芯片。
5、在第四方面中,本披露提供一種由本披露第一方面的計算裝置執(zhí)行自注意力機制運算的方法。
6、通過如上所提供的自注意力機制運算方案,本披露實施例針對吞吐量模式,將自注意力機制運算中的矩陣乘法運算分解為對位乘子運算和矩陣乘子運算,便于在兩種不同運算部件上執(zhí)行,從而可以實現(xiàn)流水操作,提高數(shù)據(jù)吞吐量。進一步地,這種運算分解也有利于將多個批次的自注意力機制運算融合在單次自注意力機制運算中,避免了循環(huán)計算導(dǎo)致的算力和帶寬低效問題,充分利用智能計算硬件的并行計算能力,提升了處理效率。對自注意力機制運算的性能改進可以有效提升產(chǎn)品競爭力。
1.一種計算裝置,配置用于執(zhí)行自注意力機制運算,其特征在于,所述自注意力機制運算中的矩陣乘法運算被分解為對位乘子運算和矩陣乘子運算,所述計算裝置包括:
2.根據(jù)權(quán)利要求1所述的計算裝置,其中所述處理電路進一步配置用于:
3.根據(jù)權(quán)利要求2所述的計算裝置,其中:
4.根據(jù)權(quán)利要求3所述的計算裝置,其中:
5.根據(jù)權(quán)利要求3-4任一所述的計算裝置,還包括:
6.根據(jù)權(quán)利要求5所述的計算裝置,其中所述處理電路進一步配置用于:
7.根據(jù)權(quán)利要求6所述的計算裝置,其中:
8.根據(jù)權(quán)利要求6-7任一所述的計算裝置,其中:
9.根據(jù)權(quán)利要求6-7任一所述的計算裝置,其中所述處理電路進一步配置用于對所述第二tfu結(jié)果執(zhí)行第四維度操作,以生成所述自注意力機制運算的結(jié)果。
10.根據(jù)權(quán)利要求9所述的計算裝置,其中:
11.一種芯片,其特征在于,所述芯片包括如權(quán)利要求1-10任一所述的計算裝置。
12.一種板卡,其特征在于,所述板卡包括權(quán)利要求11所述的芯片。
13.一種利用權(quán)利要求1-10任一所述的計算裝置執(zhí)行自注意力機制運算的方法。