本申請(qǐng)涉及大語(yǔ)言模型,特別涉及一種稀疏注意力的異構(gòu)擴(kuò)展規(guī)則自動(dòng)分配方法、裝置及設(shè)備。
背景技術(shù):
1、在大語(yǔ)言模型的自回歸推理中,涉及兩個(gè)階段:prefill(預(yù)填充)和decode(解碼)。在prefill階段,模型處理整個(gè)輸入token(詞塊令牌)序列以生成初始響應(yīng)token。在隨后的decode階段,模型使用新生成的token和先前緩存的k(鍵,key)和v(值,value)矩陣來生成后續(xù)token,直到生成結(jié)束。盡管這種迭代過程有效,但由于kv(鍵值)緩存的擴(kuò)展,增加了內(nèi)存和計(jì)算需求。
2、現(xiàn)有技術(shù)通過人工設(shè)計(jì)的統(tǒng)一稀疏注意力掩膜來加速大模型的注意力計(jì)算。假設(shè)輸入序列的長(zhǎng)度為n,大模型的注意力矩陣是一個(gè)n*n的矩陣,其中每一個(gè)位置(i,j)代表了第i個(gè)詞對(duì)第j個(gè)詞的注意力。為了減少注意力計(jì)算的代價(jià),現(xiàn)有工作采用稀疏注意力來跳過一些注意力計(jì)算。這種設(shè)計(jì)限制了大部分注意力的范圍僅覆蓋局部上下文,從而在處理長(zhǎng)序列時(shí)保持受控的注意力計(jì)算和鍵值緩存開銷。
3、然而通過上述方法,雖然大語(yǔ)言模型可以在處理長(zhǎng)輸入時(shí)保持計(jì)算效率,但在處理長(zhǎng)序列和不同輸入長(zhǎng)度時(shí)存在一定的局限性,缺乏靈活性,難以適應(yīng)不同注意力頭的動(dòng)態(tài)變化。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)?zhí)峁┮环N稀疏注意力的異構(gòu)擴(kuò)展規(guī)則自動(dòng)分配方法、裝置及設(shè)備,以解決相關(guān)技術(shù)中稀疏注意力方法在處理長(zhǎng)序列和不同輸入長(zhǎng)度時(shí)存在一定的局限性,進(jìn)而降低了大語(yǔ)言模型在各種序列長(zhǎng)度下的整體性能和效率等問題。
2、本申請(qǐng)第一方面實(shí)施例提供一種稀疏注意力的異構(gòu)擴(kuò)展規(guī)則自動(dòng)分配方法,包括以下步驟:評(píng)估每個(gè)注意力掩膜對(duì)大語(yǔ)言模型最終預(yù)測(cè)結(jié)果的影響;根據(jù)評(píng)估結(jié)果確定在大語(yǔ)言模型的不同輸入序列長(zhǎng)度上的準(zhǔn)確性損失;基于目標(biāo)函數(shù)搜索在大語(yǔ)言模型的不同輸入序列長(zhǎng)度上的帕累托前沿壓縮方案,其中,大語(yǔ)言模型的輸入序列長(zhǎng)度、準(zhǔn)確性損失和密度約束為目標(biāo)函數(shù)的輸入,目標(biāo)函數(shù)輸出每個(gè)稀疏注意力分配的擴(kuò)展規(guī)則集合,擴(kuò)展規(guī)則集合中的每個(gè)擴(kuò)展規(guī)則包括對(duì)應(yīng)稀疏注意力頭的超參數(shù)。
3、可選地,目標(biāo)函數(shù)為:
4、
5、其中,ni表示第i個(gè)序列長(zhǎng)度,i表示集合中的第i個(gè)元素,和分別表示分析的輸入序列長(zhǎng)度集合和受密度約束的輸入序列長(zhǎng)度集合,nj表示是第j個(gè)序列長(zhǎng)度,j表示中第j個(gè)元素,表示候選規(guī)則集,和分別表示不同長(zhǎng)度的準(zhǔn)確性損失和密度約束,rh表示對(duì)第h個(gè)注意力頭使用的壓縮規(guī)則,表示最小化損失函數(shù),表示輸入序列長(zhǎng)度為ni的數(shù)據(jù)上大語(yǔ)言模型的損失函數(shù)值的變化量,h表示大語(yǔ)言模型的注意力頭的總數(shù),表示平均密度閾值。
6、可選地,損失函數(shù)值的變化量表示為每一個(gè)注意力頭帶來的損失函數(shù)值變化之和,其中,的計(jì)算公式為:
7、
8、其中,是第h個(gè)注意力頭在ni輸入序列長(zhǎng)度下使用壓縮規(guī)則rh對(duì)應(yīng)的注意力掩膜給整個(gè)模型帶來的損失函數(shù)值的變化。
9、可選地,擴(kuò)展規(guī)則的函數(shù)為:
10、sh=fp(n|h);
11、其中,sh=αh+βh×n,h表示第h個(gè)注意力,n表示輸入序列的長(zhǎng)度,αh和βh是控制基線跨度及其隨輸入長(zhǎng)度擴(kuò)展速率的超參數(shù),fp表示擴(kuò)展函數(shù)。
12、可選地,擴(kuò)展函數(shù)為多項(xiàng)式函數(shù)、指數(shù)函數(shù)和對(duì)數(shù)函數(shù)的任意一個(gè)。
13、可選地,還包括:選擇擴(kuò)展規(guī)則集合中在預(yù)定輸入長(zhǎng)度上產(chǎn)生最小損失的擴(kuò)展規(guī)則作為所述異構(gòu)擴(kuò)展規(guī)則,其中,所述預(yù)定輸入長(zhǎng)度大于所述不同輸入序列長(zhǎng)度中的所有長(zhǎng)度。
14、本申請(qǐng)第二方面實(shí)施例提供一種稀疏注意力的異構(gòu)擴(kuò)展規(guī)則自動(dòng)分配裝置,包括:評(píng)估模塊,用于評(píng)估每個(gè)注意力掩膜對(duì)大語(yǔ)言模型最終預(yù)測(cè)結(jié)果的影響;確定模塊,用于根據(jù)評(píng)估結(jié)果確定在大語(yǔ)言模型的不同輸入序列長(zhǎng)度上的準(zhǔn)確性損失;搜索模塊,用于基于目標(biāo)函數(shù)搜索在大語(yǔ)言模型的不同輸入序列長(zhǎng)度上的帕累托前沿壓縮方案,其中,將大語(yǔ)言模型的輸入序列長(zhǎng)度、準(zhǔn)確性損失和密度約束為目標(biāo)函數(shù)的輸入,目標(biāo)函數(shù)輸出每個(gè)稀疏注意力分配的擴(kuò)展規(guī)則集合,擴(kuò)展規(guī)則集合中的每個(gè)擴(kuò)展規(guī)則包括對(duì)應(yīng)稀疏注意力頭的超參數(shù)。
15、可選地,目標(biāo)函數(shù)為:
16、
17、其中,ni表示第i個(gè)序列長(zhǎng)度,i表示集合中的第i個(gè)元素,和分別表示分析的輸入序列長(zhǎng)度集合和受密度約束的輸入序列長(zhǎng)度集合,nj表示是第j個(gè)序列長(zhǎng)度,j表示中第j個(gè)元素,表示候選規(guī)則集,和分別表示不同長(zhǎng)度的準(zhǔn)確性損失和密度約束,rh表示對(duì)第h個(gè)注意力頭使用的壓縮規(guī)則,表示最小化損失函數(shù),表示輸入序列長(zhǎng)度ni的數(shù)據(jù)上大語(yǔ)言模型的損失函數(shù)值的變化量,h表示大語(yǔ)言模型的注意力頭的總數(shù),表示平均密度閾值。
18、可選地,損失函數(shù)值的變化量表示為每一個(gè)注意力頭帶來的損失函數(shù)值變化之和,其中,的計(jì)算公式為:
19、
20、其中,是第h個(gè)注意力頭在ni輸入序列長(zhǎng)度下使用壓縮規(guī)則rh對(duì)應(yīng)的注意力掩膜給整個(gè)模型帶來的損失函數(shù)值的變化。
21、可選地,擴(kuò)展規(guī)則的函數(shù)為:
22、sh=fp(n|h);
23、其中,sh=αh+βh×n,h表示第h個(gè)注意力,n表示輸入序列的長(zhǎng)度,αh和βh是控制基線跨度及其隨輸入長(zhǎng)度擴(kuò)展速率的超參數(shù),fp表示擴(kuò)展函數(shù)。
24、可選地,擴(kuò)展函數(shù)為多項(xiàng)式函數(shù)、指數(shù)函數(shù)和對(duì)數(shù)函數(shù)的任意一個(gè)。
25、可選地,還包括:選擇模塊,用于選擇擴(kuò)展規(guī)則集合中在預(yù)定輸入長(zhǎng)度上產(chǎn)生最小損失的擴(kuò)展規(guī)則作為異構(gòu)擴(kuò)展規(guī)則,其中,預(yù)定輸入長(zhǎng)度大于不同輸入序列長(zhǎng)度中的所有長(zhǎng)度。
26、本申請(qǐng)第三方面實(shí)施例提供一種電子設(shè)備,包括:存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,處理器執(zhí)行程序,以實(shí)現(xiàn)如上述實(shí)施例的稀疏注意力的異構(gòu)擴(kuò)展規(guī)則自動(dòng)分配方法。
27、本申請(qǐng)第四方面實(shí)施例提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序或指令,計(jì)算機(jī)程序或指令被處理器執(zhí)行時(shí),以用于實(shí)現(xiàn)如上述實(shí)施例的稀疏注意力的異構(gòu)擴(kuò)展規(guī)則自動(dòng)分配方法。
28、本申請(qǐng)第五方面實(shí)施例提供一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序或指令,計(jì)算機(jī)程序或指令被執(zhí)行時(shí),以用于實(shí)現(xiàn)如上述實(shí)施例的稀疏注意力的異構(gòu)擴(kuò)展規(guī)則自動(dòng)分配方法。
29、由此,本申請(qǐng)包括如下有益效果:
30、本申請(qǐng)實(shí)施例可以確定大語(yǔ)言模型的不同輸入序列長(zhǎng)度上的準(zhǔn)確性損失,進(jìn)一步基于目標(biāo)函數(shù)搜索在大語(yǔ)言模型的不同輸入序列長(zhǎng)度上的帕累托前沿壓縮方案,在遵循密度約束的同時(shí)利用目標(biāo)函數(shù)為每個(gè)稀疏注意力頭分配不同的擴(kuò)展規(guī)則,每個(gè)擴(kuò)展規(guī)則包括對(duì)應(yīng)稀疏注意力頭的超參數(shù),從而提高了大語(yǔ)言模型在各種輸入序列長(zhǎng)度下的整體性能和效率。由此,解決了相關(guān)技術(shù)中稀疏注意力方法在處理長(zhǎng)序列和不同輸入長(zhǎng)度時(shí)存在一定的局限性,進(jìn)而降低了大語(yǔ)言模型在各種序列長(zhǎng)度下的整體性能和效率等技術(shù)問題。
31、本申請(qǐng)附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本申請(qǐng)的實(shí)踐了解到。
1.一種稀疏注意力的異構(gòu)擴(kuò)展規(guī)則自動(dòng)分配方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的稀疏注意力的異構(gòu)擴(kuò)展規(guī)則自動(dòng)分配方法,其特征在于,所述目標(biāo)函數(shù)為:
3.根據(jù)權(quán)利要求2所述的稀疏注意力的異構(gòu)擴(kuò)展規(guī)則自動(dòng)分配方法,其特征在于,所述損失函數(shù)值的變化量表示為每一個(gè)注意力頭帶來的損失函數(shù)值變化之和,其中,的計(jì)算公式為:
4.根據(jù)權(quán)利要求1所述的稀疏注意力的異構(gòu)擴(kuò)展規(guī)則自動(dòng)分配方法,其特征在于,所述擴(kuò)展規(guī)則的函數(shù)為:
5.根據(jù)權(quán)利要求4所述的稀疏注意力的異構(gòu)擴(kuò)展規(guī)則自動(dòng)分配方法,其特征在于,所述擴(kuò)展函數(shù)為多項(xiàng)式函數(shù)、指數(shù)函數(shù)和對(duì)數(shù)函數(shù)的任意一個(gè)。
6.根據(jù)權(quán)利要求1-5任一項(xiàng)所述的稀疏注意力的異構(gòu)擴(kuò)展規(guī)則自動(dòng)分配方法,其特征在于,還包括:
7.一種稀疏注意力的異構(gòu)擴(kuò)展規(guī)則自動(dòng)分配裝置,其特征在于,包括:
8.一種電子設(shè)備,其特征在于,包括:存儲(chǔ)器、處理器及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述程序,以實(shí)現(xiàn)權(quán)利要求1-6任一項(xiàng)所述的稀疏注意力的異構(gòu)擴(kuò)展規(guī)則自動(dòng)分配方法。
9.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序或指令,其特征在于,所述計(jì)算機(jī)程序或指令被執(zhí)行時(shí),以實(shí)現(xiàn)權(quán)利要求1-6任一項(xiàng)所述的稀疏注意力的異構(gòu)擴(kuò)展規(guī)則自動(dòng)分配方法。
10.一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序或指令,其特征在于,所述計(jì)算機(jī)程序或指令被執(zhí)行時(shí),以實(shí)現(xiàn)權(quán)利要求1-6任一項(xiàng)所述的稀疏注意力的異構(gòu)擴(kuò)展規(guī)則自動(dòng)分配方法。