本申請(qǐng)屬于計(jì)算機(jī),尤其涉及一種基于共享指數(shù)的矩陣乘方法、裝置及終端設(shè)備。
背景技術(shù):
1、在當(dāng)前深度學(xué)習(xí)與人工智能應(yīng)用的迅速發(fā)展中,模型尺寸的龐大與計(jì)算復(fù)雜度的高昂成為了制約其廣泛應(yīng)用的關(guān)鍵因素,尤其是在對(duì)延遲敏感的云端服務(wù)和資源受限的邊緣設(shè)備上。摩爾定律的放緩使得計(jì)算硬件的算術(shù)密度成為了大規(guī)模推理性能的關(guān)鍵制約因素。為了克服這些性能和能耗挑戰(zhàn),研究者們不僅致力于神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的精簡(jiǎn),也深入探索了權(quán)重和激活函數(shù)比特寬度的減少作為解決方案路徑。在此背景下,一系列創(chuàng)新的數(shù)據(jù)格式應(yīng)運(yùn)而生,旨在通過(guò)高效的數(shù)據(jù)表示和處理機(jī)制,促進(jìn)低精度推理的實(shí)施。盡管定點(diǎn)數(shù)據(jù)類(lèi)型因其低硬件開(kāi)銷(xiāo)而受到青睞,但其有限的動(dòng)態(tài)范圍和對(duì)手動(dòng)校準(zhǔn)的依賴(lài)限制了其在大規(guī)模應(yīng)用中的實(shí)用性。
2、針對(duì)這一問(wèn)題,業(yè)界開(kāi)始轉(zhuǎn)向定制數(shù)據(jù)類(lèi)型,以期在保持高精度的同時(shí)降低硬件開(kāi)銷(xiāo)。例如,英偉達(dá)推出了適用于其a100?gpu的tf32數(shù)據(jù)類(lèi)型。這些新型數(shù)據(jù)類(lèi)型通過(guò)提供寬廣的動(dòng)態(tài)范圍,顯著減少了在dnn模型執(zhí)行過(guò)程中的準(zhǔn)確性損失。然而,這些定制數(shù)據(jù)類(lèi)型的硬件開(kāi)銷(xiāo)依然較高,限制了其在成本敏感型推理場(chǎng)景中的應(yīng)用。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)實(shí)施例提供了基于共享指數(shù)的矩陣乘的文本生成方法、裝置、終端設(shè)備及存儲(chǔ)介質(zhì),可以解決現(xiàn)有在llm模型中,定制數(shù)據(jù)類(lèi)型的硬件開(kāi)銷(xiāo)依然較高,通用性較差的問(wèn)題。
2、第一方面,本申請(qǐng)實(shí)施例提供了基于共享指數(shù)的矩陣乘的文本生成方法,包括:獲取輸入llm模型的文本數(shù)據(jù)和llm模型的模型參數(shù);將所述文本數(shù)據(jù)和所述模型參數(shù)轉(zhuǎn)換為第一浮點(diǎn)格式數(shù)據(jù)集;根據(jù)預(yù)設(shè)共享指數(shù)算法對(duì)所述第一浮點(diǎn)格式數(shù)據(jù)集中的每個(gè)數(shù)據(jù)進(jìn)行指數(shù)對(duì)齊,生成第二浮點(diǎn)格式數(shù)據(jù)集;對(duì)第一矩陣和第二矩陣進(jìn)行矩陣乘運(yùn)算,生成第三矩陣,所述第一矩陣和所述第二矩陣為所述第二浮點(diǎn)格式數(shù)據(jù)集中任意兩個(gè)進(jìn)行矩陣乘運(yùn)算的矩陣;將所述第三矩陣輸入至自注意力機(jī)制層,輸出注意力加權(quán)表示;將所述注意力加權(quán)表示輸入至前饋神經(jīng)網(wǎng)絡(luò),輸出高級(jí)特征表示;將所述高級(jí)特征表示輸入至解碼器中,輸出所述文本數(shù)據(jù)對(duì)應(yīng)的文本。
3、在第一方面的一種可能的實(shí)現(xiàn)方式中,上述根據(jù)預(yù)設(shè)共享指數(shù)算法對(duì)第一浮點(diǎn)格式數(shù)據(jù)集中的每個(gè)數(shù)據(jù)進(jìn)行指數(shù)對(duì)齊,生成第二浮點(diǎn)格式數(shù)據(jù)集,包括:
4、遍歷第一浮點(diǎn)格式數(shù)據(jù)集,確定最大指數(shù)值emax;
5、計(jì)算尾數(shù)位移系數(shù):
6、shift=emax-ei
7、其中,shift表示尾數(shù)位移系數(shù),ei表示第一浮點(diǎn)格式數(shù)據(jù)集中每個(gè)數(shù)據(jù)的指數(shù)部分;
8、根據(jù)尾數(shù)位移系數(shù)shift,將第一浮點(diǎn)格式數(shù)據(jù)集中每個(gè)數(shù)據(jù)尾數(shù)部分mi進(jìn)行右移,以實(shí)現(xiàn)第一浮點(diǎn)格式數(shù)據(jù)集中的每個(gè)數(shù)據(jù)的指數(shù)對(duì)齊:
9、mi=mi>>shift;
10、將指數(shù)對(duì)齊后的第一浮點(diǎn)格式數(shù)據(jù)集確定為第二浮點(diǎn)格式數(shù)據(jù)集。
11、可選的,在第一方面的另一種可能的實(shí)現(xiàn)方式中,上述對(duì)第一矩陣和第二矩陣進(jìn)行矩陣乘運(yùn)算,生成第三矩陣,包括:
12、將第一矩陣的尾數(shù)部分和第二矩陣的尾數(shù)部分執(zhí)行整型矩陣乘運(yùn)算,生成第三矩陣的尾數(shù)部分:
13、ic=ia*ib
14、其中,ia、ib、ic分別為第一矩陣的尾數(shù)部分、第二矩陣的尾數(shù)部分以及第三矩陣的尾數(shù)部分;
15、將第一矩陣的指數(shù)部分和第二矩陣的指數(shù)部分相加,生成第三矩陣的指數(shù)部分:
16、expc=expa+expb
17、其中,expc表示第三矩陣的指數(shù)部分,expa表示第一矩陣的指數(shù)部分,expb表示第二矩陣的指數(shù)部分;
18、結(jié)合第三矩陣的尾數(shù)部分和第三矩陣的指數(shù)部分,生成第三矩陣:
19、c=ic*2expc
20、其中,c表示第三矩陣。
21、第二方面,本申請(qǐng)實(shí)施例提供了基于共享指數(shù)的矩陣乘的文本生成裝置,包括:獲取模塊,用于獲取輸入llm模型的文本數(shù)據(jù)和llm模型的模型參數(shù);轉(zhuǎn)換模塊,用于將所述文本數(shù)據(jù)和所述模型參數(shù)轉(zhuǎn)換為第一浮點(diǎn)格式數(shù)據(jù)集;第一生成模塊,用于根據(jù)預(yù)設(shè)共享指數(shù)算法對(duì)所述第一浮點(diǎn)格式數(shù)據(jù)集中的每個(gè)數(shù)據(jù)進(jìn)行指數(shù)對(duì)齊,生成第二浮點(diǎn)格式數(shù)據(jù)集;第二生成模塊,用于對(duì)第一矩陣和第二矩陣進(jìn)行矩陣乘運(yùn)算,生成第三矩陣,所述第一矩陣和所述第二矩陣為所述第二浮點(diǎn)格式數(shù)據(jù)集中任意兩個(gè)進(jìn)行矩陣乘運(yùn)算的矩陣;第一輸出模塊,用于將所述第三矩陣輸入至自注意力機(jī)制層,輸出注意力加權(quán)表示;第二輸出模塊,用于將所述注意力加權(quán)表示輸入至前饋神經(jīng)網(wǎng)絡(luò),輸出高級(jí)特征表示;第三輸出模塊,用于將所述高級(jí)特征表示輸入至解碼器中,輸出所述文本數(shù)據(jù)對(duì)應(yīng)的文本。
22、第三方面,本申請(qǐng)實(shí)施例提供了一種終端設(shè)備,包括:存儲(chǔ)器、處理器以及存儲(chǔ)在存儲(chǔ)器中并可在處理器上運(yùn)行的計(jì)算機(jī)程序,其中,處理器執(zhí)行計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如前述的基于共享指數(shù)的矩陣乘的文本生成方法。
23、第四方面,本申請(qǐng)實(shí)施例提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,上述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如前述的基于共享指數(shù)的矩陣乘的文本生成方法。
24、在本申請(qǐng)技術(shù)方案,先獲取輸入llm模型的文本數(shù)據(jù)和llm模型的模型參數(shù),接著將文本數(shù)據(jù)和模型參數(shù)轉(zhuǎn)換為第一浮點(diǎn)格式數(shù)據(jù)集,再根據(jù)預(yù)設(shè)共享指數(shù)算法對(duì)第一浮點(diǎn)格式數(shù)據(jù)集中的每個(gè)數(shù)據(jù)進(jìn)行指數(shù)對(duì)齊,生成第二浮點(diǎn)格式數(shù)據(jù)集,然后對(duì)第一矩陣和第二矩陣進(jìn)行矩陣乘運(yùn)算,生成第三矩陣,第一矩陣和第二矩陣為第二浮點(diǎn)格式數(shù)據(jù)集中任意兩個(gè)進(jìn)行矩陣乘運(yùn)算的矩陣,再將第三矩陣輸入至自注意力機(jī)制層,輸出注意力加權(quán)表示,再將注意力加權(quán)表示輸入至前饋神經(jīng)網(wǎng)絡(luò),輸出高級(jí)特征表示,最后將高級(jí)特征表示輸入至解碼器中,輸出文本數(shù)據(jù)對(duì)應(yīng)的文本。本申請(qǐng)通過(guò)共享一組浮點(diǎn)數(shù)據(jù)為同一指數(shù),進(jìn)而將浮點(diǎn)格式的數(shù)據(jù)轉(zhuǎn)入整型數(shù)處理并設(shè)計(jì)一種基于共享指數(shù)的矩陣乘和卷積算法,該算法在維持高計(jì)算精度的同時(shí),大幅降低了原先浮點(diǎn)運(yùn)算帶來(lái)的計(jì)算功耗,進(jìn)一步降低llm模型的推理延遲,提高文本生成的效率。
1.一種基于共享指數(shù)的矩陣乘的文本生成方法,其特征在于,包括:
2.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)預(yù)設(shè)共享指數(shù)算法對(duì)所述第一浮點(diǎn)格式數(shù)據(jù)集中的每個(gè)數(shù)據(jù)進(jìn)行指數(shù)對(duì)齊,生成第二浮點(diǎn)格式數(shù)據(jù)集,包括:
3.如權(quán)利要求2所述的方法,其特征在于,所述對(duì)第一矩陣和第二矩陣進(jìn)行矩陣乘運(yùn)算,生成第三矩陣,包括:
4.一種基于共享指數(shù)的矩陣乘的文本生成裝置,其特征在于,包括:
5.一種終端設(shè)備,包括存儲(chǔ)器、處理器以及存儲(chǔ)在所述存儲(chǔ)器中并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,其特征在于,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如權(quán)利要求1至3任一項(xiàng)所述的方法。
6.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1至3中任一項(xiàng)所述的方法。