本技術(shù)涉及人工智能,尤其涉及一種提示壓縮方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、提示是利用語言模型(lm)進(jìn)行多任務(wù)能力的主要方式,但提示占用了輸入上下文窗口中的寶貴空間,并且重復(fù)編碼相同的提示是計(jì)算效率低下的。微調(diào)和蒸餾方法可以在不需要提示的情況下訓(xùn)練專門的lm,但需要為每個(gè)任務(wù)重新訓(xùn)練模型。
2、現(xiàn)有的提示壓縮技術(shù),如前綴調(diào)優(yōu)或參考編碼器,需要為每個(gè)任務(wù)通過梯度下降學(xué)習(xí)前綴或參考向量,或者通過合成數(shù)據(jù)進(jìn)行蒸餾。
3、然而,傳統(tǒng)的提示壓縮方法都增加了訓(xùn)練成本和復(fù)雜度。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)實(shí)施例的目的在于提出一種提示壓縮方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì),以解決傳統(tǒng)的提示壓縮方法都增加了訓(xùn)練成本和復(fù)雜度的問題。
2、為了解決上述技術(shù)問題,本技術(shù)實(shí)施例提供一種提示壓縮方法,采用了如下所述的技術(shù)方案:
3、獲取蒸餾語言模型以及與所述蒸餾語言模型相對(duì)應(yīng)的詞匯表以及嵌入矩陣,其中,所述蒸餾語言模型的注意力掩碼為presting掩碼;
4、分別在所述詞匯表以及所述嵌入矩陣中添加要點(diǎn)標(biāo)記,得到標(biāo)記詞匯表以及標(biāo)記嵌入矩陣;
5、獲取第一任務(wù)序列,在所述第一任務(wù)序列的任務(wù)文本以及輸入文本中間插入k個(gè)連續(xù)的要點(diǎn)標(biāo)記,得到第一預(yù)測(cè)序列;
6、將所述第一預(yù)測(cè)序列輸入至所述蒸餾語言模型進(jìn)行預(yù)測(cè)操作,得到輸出數(shù)據(jù),其中,所述輸出數(shù)據(jù)由要點(diǎn)標(biāo)記組以及所述輸入文本組成;
7、在所述詞匯表中獲取與所述輸出數(shù)據(jù)相對(duì)應(yīng)的詞匯,得到目標(biāo)預(yù)測(cè)文本。
8、進(jìn)一步的,所述將所述第一預(yù)測(cè)序列輸入至所述蒸餾語言模型進(jìn)行預(yù)測(cè)操作,得到輸出數(shù)據(jù)的步驟,具體包括下述步驟:
9、將所述第一預(yù)測(cè)序列的任務(wù)文本輸入至所述蒸餾語言模型,得到第一輸出矩陣;
10、在所述第一輸出矩陣中按照先后順序提取前k個(gè)輸出向量作為所述要點(diǎn)標(biāo)記組的嵌入向量;
11、對(duì)所述要點(diǎn)標(biāo)記組的嵌入向量以及所述輸入文本進(jìn)行拼接操作,得到拼接矩陣;
12、將所述拼接矩陣輸入至所述蒸餾語言模型,得到第二輸出矩陣;
13、在所述第二輸出矩陣中按照先后順序提取第k+1個(gè)以及之后的輸出向量作為所述輸出數(shù)據(jù)。
14、進(jìn)一步的,在所述將所述第一預(yù)測(cè)序列輸入至所述蒸餾語言模型進(jìn)行預(yù)測(cè)操作,得到輸出數(shù)據(jù)的步驟之后,還包括下述步驟:
15、獲取與所述要點(diǎn)標(biāo)記組的嵌入向量所對(duì)應(yīng)的transformer激活值;
16、以所述第一預(yù)測(cè)序列的任務(wù)文本作為鍵、以所述transformer激活值作為值存儲(chǔ)在哈希表中;
17、當(dāng)下次獲取到任務(wù)相同的第二任務(wù)序列時(shí),在所述哈希表中檢索與所述第二任務(wù)序列相對(duì)應(yīng)的第二任務(wù)文本;
18、將所述第二任務(wù)文本所對(duì)應(yīng)的第二transformer激活值與所述第二任務(wù)序列中的第二輸入文本進(jìn)行拼接,得到第二鍵矩陣以及第二值矩陣;
19、基于自注意力機(jī)制計(jì)算所述第二鍵矩陣以及所述第二值矩陣,得到第二輸出數(shù)據(jù);
20、在所述詞匯表中獲取與所述第二輸出數(shù)據(jù)相對(duì)應(yīng)的詞匯,得到第二預(yù)測(cè)文本。
21、進(jìn)一步的,所述自注意力機(jī)制的計(jì)算公式表示為:
22、
23、其中,m是一個(gè)q×k維的掩碼矩陣,q、k分別表示查詢、鍵;d表示每個(gè)頭的維度。
24、進(jìn)一步的,在所述獲取蒸餾語言模型以及與所述蒸餾語言模型相對(duì)應(yīng)的詞匯表以及嵌入矩陣的步驟之前,還包括下述步驟:
25、調(diào)用訓(xùn)練好的原始語言模型;
26、根據(jù)上下文蒸餾目標(biāo)函數(shù)對(duì)所述原始語言模型進(jìn)行蒸餾操作,得到所述蒸餾語言模型。
27、進(jìn)一步的,所述上下文蒸餾目標(biāo)函數(shù)lg(pg,t)表示為:
28、lg(pg,t)=et~t,x[dkl(plm(y|t,x)||pg(y|g(t),x))]
29、其中,plm(y|t,x)表示所述訓(xùn)練好的原始語言模型,pg(y|g(t),x)表示經(jīng)過上下文蒸餾的蒸餾語言模型,dkl表示用于衡量兩個(gè)概率分布之間差異的指標(biāo),et~t,x表示期望值運(yùn)算符,表示對(duì)x和t進(jìn)行平均。
30、為了解決上述技術(shù)問題,本技術(shù)實(shí)施例還提供一種提示壓縮裝置,采用了如下所述的技術(shù)方案:
31、蒸餾模型獲取模塊,用于獲取蒸餾語言模型以及與所述蒸餾語言模型相對(duì)應(yīng)的詞匯表以及嵌入矩陣,其中,所述蒸餾語言模型的注意力掩碼為presting掩碼;
32、要點(diǎn)標(biāo)記添加模塊,用于分別在所述詞匯表以及所述嵌入矩陣中添加要點(diǎn)標(biāo)記,得到標(biāo)記詞匯表以及標(biāo)記嵌入矩陣;
33、第一預(yù)測(cè)序列獲取模塊,用于獲取第一任務(wù)序列,在所述第一任務(wù)序列的任務(wù)文本以及輸入文本中間插入k個(gè)連續(xù)的要點(diǎn)標(biāo)記,得到第一預(yù)測(cè)序列;
34、預(yù)測(cè)模塊,用于將所述第一預(yù)測(cè)序列輸入至所述蒸餾語言模型進(jìn)行預(yù)測(cè)操作,得到輸出數(shù)據(jù),其中,所述輸出數(shù)據(jù)由要點(diǎn)標(biāo)記組以及所述輸入文本組成;
35、目標(biāo)預(yù)測(cè)文本獲取模塊,用于在所述詞匯表中獲取與所述輸出數(shù)據(jù)相對(duì)應(yīng)的詞匯,得到目標(biāo)預(yù)測(cè)文本。
36、進(jìn)一步的,所述預(yù)測(cè)模塊包括:
37、任務(wù)文本輸入子模塊,用于將所述第一預(yù)測(cè)序列的任務(wù)文本輸入至所述蒸餾語言模型,得到第一輸出矩陣;
38、嵌入向量提取子模塊,用于在所述第一輸出矩陣中按照先后順序提取前k個(gè)輸出向量作為所述要點(diǎn)標(biāo)記組的嵌入向量;
39、拼接子模塊,用于對(duì)所述要點(diǎn)標(biāo)記組的嵌入向量以及所述輸入文本進(jìn)行拼接操作,得到拼接矩陣;
40、拼接矩陣輸入子模塊,用于將所述拼接矩陣輸入至所述蒸餾語言模型,得到第二輸出矩陣;
41、輸出數(shù)據(jù)獲取子模塊,用于在所述第二輸出矩陣中按照先后順序提取第k+1個(gè)以及之后的輸出向量作為所述輸出數(shù)據(jù)。
42、為了解決上述技術(shù)問題,本技術(shù)實(shí)施例還提供一種計(jì)算機(jī)設(shè)備,采用了如下所述的技術(shù)方案:
43、包括存儲(chǔ)器和處理器,所述存儲(chǔ)器中存儲(chǔ)有計(jì)算機(jī)可讀指令,所述處理器執(zhí)行所述計(jì)算機(jī)可讀指令時(shí)實(shí)現(xiàn)如上所述的提示壓縮方法的步驟。
44、為了解決上述技術(shù)問題,本技術(shù)實(shí)施例還提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),采用了如下所述的技術(shù)方案:
45、所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)可讀指令,所述計(jì)算機(jī)可讀指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上所述的提示壓縮方法的步驟。
46、本技術(shù)提供了一種提示壓縮方法,包括:獲取蒸餾語言模型以及與所述蒸餾語言模型相對(duì)應(yīng)的詞匯表以及嵌入矩陣,其中,所述蒸餾語言模型的注意力掩碼為presting掩碼;分別在所述詞匯表以及所述嵌入矩陣中添加要點(diǎn)標(biāo)記,得到標(biāo)記詞匯表以及標(biāo)記嵌入矩陣;獲取第一任務(wù)序列,在所述第一任務(wù)序列的任務(wù)文本以及輸入文本中間插入k個(gè)連續(xù)的要點(diǎn)標(biāo)記,得到第一預(yù)測(cè)序列;將所述第一預(yù)測(cè)序列輸入至所述蒸餾語言模型進(jìn)行預(yù)測(cè)操作,得到輸出數(shù)據(jù),其中,所述輸出數(shù)據(jù)由要點(diǎn)標(biāo)記組以及所述輸入文本組成;在所述詞匯表中獲取與所述輸出數(shù)據(jù)相對(duì)應(yīng)的詞匯,得到目標(biāo)預(yù)測(cè)文本。與現(xiàn)有技術(shù)相比,本技術(shù)將提示壓縮成更小的要點(diǎn)標(biāo)記,并且可以重復(fù)使用緩存的激活值,從而減少了計(jì)算和存儲(chǔ)成本,另外,提示占用了更少的空間,從而提高了輸入上下文窗口中可用空間,要點(diǎn)標(biāo)記可以保留提示中最重要和最相關(guān)的信息,從而提高了輸出質(zhì)量。