本申請(qǐng)涉及人工智能領(lǐng)域,具體涉及一種神經(jīng)處理單元、計(jì)算任務(wù)執(zhí)行方法、處理器及計(jì)算機(jī)設(shè)備。
背景技術(shù):
1、在人工智能大規(guī)模模型的推理過程中,通常通過鍵值(kv)緩存方法來執(zhí)行解碼器(decoder)端的計(jì)算。隨著模型處理的令牌(token)數(shù)量增加,所需的kv緩存所占用的ram(隨機(jī)存取存儲(chǔ)器)的大小也相應(yīng)增大。由于芯片上集成的ram容量有限,當(dāng)令牌數(shù)量超出單個(gè)注意力(attention)層的kv緩存可以容納的范圍時(shí),計(jì)算效率會(huì)顯著下降。
2、為應(yīng)對(duì)這一挑戰(zhàn),有研究者提出了“flash?attention(閃存注意力)”方案,該方案通過對(duì)kv進(jìn)行分塊(tiling)計(jì)算來適應(yīng)芯片內(nèi)部ram的容量限制,從而解決了內(nèi)存不足的問題。然而,這種方案需要分布式地計(jì)算softmax函數(shù),并且芯片內(nèi)部仍需維護(hù)較大容量的ram以緩存kv數(shù)據(jù)。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,本申請(qǐng)實(shí)施例提供了一種神經(jīng)處理單元、計(jì)算任務(wù)執(zhí)行方法、處理器及計(jì)算機(jī)設(shè)備,能夠消除神經(jīng)處理單元的部分開銷,降低功耗。
2、本申請(qǐng)實(shí)施例的技術(shù)方案是這樣實(shí)現(xiàn)的:
3、本申請(qǐng)實(shí)施例提供一種神經(jīng)處理單元,用于執(zhí)行人工智能模型的計(jì)算任務(wù),包括:隨機(jī)存儲(chǔ)器;第一運(yùn)算模塊,被配置為對(duì)接收到的目標(biāo)待處理數(shù)據(jù)執(zhí)行第一類型的計(jì)算任務(wù),得到第一運(yùn)算結(jié)果,并將所述第一運(yùn)算結(jié)果存儲(chǔ)至所述隨機(jī)存儲(chǔ)器;其中,所述第一運(yùn)算模塊,設(shè)置于所述隨機(jī)存儲(chǔ)器和所述神經(jīng)處理單元的數(shù)據(jù)傳輸接口之間的數(shù)據(jù)傳輸路徑上。
4、在本申請(qǐng)的一些實(shí)施例中,所述目標(biāo)待處理數(shù)據(jù),僅參與所述第一類型的計(jì)算任務(wù);和/或,所述第一類型的計(jì)算任務(wù)至少包括矩陣向量乘法運(yùn)算。
5、在本申請(qǐng)的一些實(shí)施例中,所述第一運(yùn)算模塊包括:矩陣處理單元和n個(gè)向量處理單元;n大于或等于1;每個(gè)所述向量處理單元,被配置為對(duì)所述目標(biāo)待處理數(shù)據(jù)中的至少部分子數(shù)據(jù)進(jìn)行所述第一類型的計(jì)算任務(wù),得到子運(yùn)算結(jié)果,并將所述子運(yùn)算結(jié)果匯總至所述矩陣處理單元;所述矩陣處理單元,被配置為將每個(gè)所述向量處理單元的所述子運(yùn)算結(jié)果進(jìn)行合并,得到所述第一運(yùn)算結(jié)果。
6、在本申請(qǐng)的一些實(shí)施例中,所述存儲(chǔ)器和所述存儲(chǔ)器訪問模塊之間,設(shè)置有n條所述傳輸路徑;每個(gè)所述向量處理單元,設(shè)置于對(duì)應(yīng)的一條所述傳輸路徑上。
7、在本申請(qǐng)的一些實(shí)施例中,所述矩陣處理單元,還被配置為向所述n個(gè)向量處理單元下發(fā)向量、配置信息和啟動(dòng)命令;其中,所述啟動(dòng)命令,用于控制所述向量處理單元開始乘加運(yùn)算;所述向量和所述配置信息,為所述向量處理單元進(jìn)行所述第一類型的計(jì)算任務(wù)所需;所述配置信息包括:運(yùn)算類型和運(yùn)算數(shù)量。
8、在本申請(qǐng)的一些實(shí)施例中,每個(gè)所述向量處理單元,還被配置為根據(jù)每個(gè)所述子數(shù)據(jù)在所述存儲(chǔ)器中的地址,確定每個(gè)所述子數(shù)據(jù)在所述目標(biāo)待處理數(shù)據(jù)的矩陣中的位置;基于每個(gè)所述子數(shù)據(jù)在所述矩陣中的位置,對(duì)每個(gè)所述子數(shù)據(jù)進(jìn)行向量乘法運(yùn)算,得到所述子運(yùn)算結(jié)果;所述矩陣處理單元,還被配置為基于每個(gè)所述子數(shù)據(jù)在所述矩陣中的位置,將每個(gè)所述向量處理單元的所述子運(yùn)算結(jié)果進(jìn)行合并,得到所述第一運(yùn)算結(jié)果。
9、在本申請(qǐng)的一些實(shí)施例中,每個(gè)所述向量處理單元,還被配置為統(tǒng)計(jì)所述子運(yùn)算結(jié)果的數(shù)量;在所述子運(yùn)算結(jié)果的數(shù)量達(dá)到閾值的情況下,將所有的所述子運(yùn)算結(jié)果返回至所述矩陣處理單元。
10、在本申請(qǐng)的一些實(shí)施例中,所述神經(jīng)處理單元還包括:第二運(yùn)算單元,連接至所述隨機(jī)存儲(chǔ)器,被配置為根據(jù)所述隨機(jī)存儲(chǔ)器內(nèi)的所述第一運(yùn)算結(jié)果,執(zhí)行第二類型的計(jì)算任務(wù)。
11、本申請(qǐng)實(shí)施例還提供一種人工智能模型的計(jì)算任務(wù)執(zhí)行方法,包括:獲取目標(biāo)待處理數(shù)據(jù);對(duì)所述目標(biāo)待處理數(shù)據(jù)執(zhí)行第一類型的計(jì)算任務(wù),得到第一運(yùn)算結(jié)果;將所述第一運(yùn)算結(jié)果進(jìn)行緩存,以參與其他計(jì)算任務(wù);其中,所述目標(biāo)待處理數(shù)據(jù),僅參與所述第一類型的計(jì)算任務(wù)。
12、在本申請(qǐng)的一些實(shí)施例中,對(duì)所述目標(biāo)待處理數(shù)據(jù)執(zhí)行第一類型的計(jì)算任務(wù),得到第一運(yùn)算結(jié)果,包括:對(duì)所述人工智能模型的n條傳輸路徑輸入的目標(biāo)待處理數(shù)據(jù)分別執(zhí)行所述第一類型的計(jì)算任務(wù),得到子運(yùn)算結(jié)果;其中,每條傳輸路徑輸入的目標(biāo)待處理數(shù)據(jù)被分為多個(gè)子數(shù)據(jù),進(jìn)行多次所述第一類型的計(jì)算任務(wù);將所述子運(yùn)算結(jié)果進(jìn)行合并,得到所述第一運(yùn)算結(jié)果。
13、在本申請(qǐng)的一些實(shí)施例中,將所述第一運(yùn)算結(jié)果進(jìn)行緩存之后,所述方法還包括:根據(jù)緩存的所述第一運(yùn)算結(jié)果,執(zhí)行第二類型的計(jì)算任務(wù)。
14、本申請(qǐng)實(shí)施例還提供一種處理器,包括:上述方案中所述的神經(jīng)處理單元。
15、本申請(qǐng)實(shí)施例還提供一種計(jì)算機(jī)設(shè)備,包括:存儲(chǔ)器,以及上述方案中所述的處理器。
16、可以理解的是,在數(shù)據(jù)傳輸路徑上設(shè)置第一運(yùn)算模塊,可以便捷地對(duì)目標(biāo)待處理數(shù)據(jù)進(jìn)行運(yùn)算,而無需將目標(biāo)待處理數(shù)據(jù)傳輸?shù)狡渌倪\(yùn)算模塊,從而,消除了數(shù)據(jù)傳輸?shù)牟糠珠_銷,降低了功耗。
1.一種神經(jīng)處理單元,用于執(zhí)行人工智能模型的計(jì)算任務(wù),包括:
2.根據(jù)權(quán)利要求1所述的神經(jīng)處理單元,
3.根據(jù)權(quán)利要求1或2所述的神經(jīng)處理單元,所述第一運(yùn)算模塊包括:矩陣處理單元和n個(gè)向量處理單元;n大于或等于1;
4.根據(jù)權(quán)利要求3所述的神經(jīng)處理單元,
5.根據(jù)權(quán)利要求3所述的神經(jīng)處理單元,
6.根據(jù)權(quán)利要求3所述的神經(jīng)處理單元,
7.根據(jù)權(quán)利要求3所述的神經(jīng)處理單元,
8.根據(jù)權(quán)利要求1或2所述的神經(jīng)處理單元,還包括:
9.一種人工智能模型的計(jì)算任務(wù)執(zhí)行方法,包括:
10.根據(jù)權(quán)利要求9所述的計(jì)算任務(wù)執(zhí)行方法,對(duì)所述目標(biāo)待處理數(shù)據(jù)執(zhí)行第一類型的計(jì)算任務(wù),得到第一運(yùn)算結(jié)果,包括:
11.根據(jù)權(quán)利要求9所述的計(jì)算任務(wù)執(zhí)行方法,將所述第一運(yùn)算結(jié)果進(jìn)行緩存之后,所述方法還包括:
12.一種處理器,包括:權(quán)利要求1至8任一項(xiàng)所述的神經(jīng)處理單元。
13.一種計(jì)算機(jī)設(shè)備,包括:存儲(chǔ)器,以及權(quán)利要求12所述的處理器。