本發(fā)明涉及大模型推理,尤其涉及一種用于長序列的模型推理方法和裝置。
背景技術(shù):
1、隨著人工智能技術(shù)的快速發(fā)展,大模型在處理各種復(fù)雜任務(wù)時表現(xiàn)出色,尤其是在自然語言處理和計算機視覺領(lǐng)域。然而,這些大模型在處理長序列輸入時面臨一系列挑戰(zhàn)。長序列輸入,如長篇文檔、長視頻或長對話記錄,需要模型能夠捕捉和記憶大量的上下文信息,這對傳統(tǒng)的模型架構(gòu)提出了嚴(yán)峻的考驗。
2、目前,主流的模型推理架構(gòu)主要依賴于自注意力機制來處理輸入序列。傳統(tǒng)的模型結(jié)構(gòu)能夠并行處理序列中的每個詞單元,但隨著序列長度的增加,其計算和存儲需求呈指數(shù)級增長。此外,為了維持長序列的上下文信息,模型需要保存大量的歷史狀態(tài),導(dǎo)致降低了模型推理架構(gòu)的計算與存儲效率。如何在保證長效記憶的同時提升大模型推理系統(tǒng)的計算與存儲效率,是目前需要解決的技術(shù)缺陷。
技術(shù)實現(xiàn)思路
1、本發(fā)明提供一種用于長序列的模型推理方法和裝置,用以解決現(xiàn)有技術(shù)中的模型推理架構(gòu)在處理長序列時,需要保存大量的歷史狀態(tài),降低了模型推理架構(gòu)的計算與存儲效率,以實現(xiàn)在保證長效記憶的同時提升大模型推理系統(tǒng)的計算與存儲效率。
2、本發(fā)明提供一種用于長序列的模型推理方法,用于推理模型,所述推理模型包括多個推理模塊,所述推理模塊包括狀態(tài)空間網(wǎng)絡(luò)層和子層;
3、對于每個推理模塊,所述方法包括:
4、接收輸入的長序列,所述長序列為原始輸入序列或上一個推理模塊的輸出序列;
5、將所述長序列分段為多個短序列,將多個所述短序列輸入至所述狀態(tài)空間網(wǎng)絡(luò)層中,根據(jù)所述狀態(tài)空間網(wǎng)絡(luò)層的上一個狀態(tài)向量序列,對輸入的多個所述短序列進行并行推理,得到每個所述短序列對應(yīng)的輸出向量序列以及狀態(tài)向量序列;
6、將每個所述短序列對應(yīng)的輸出向量序列以及狀態(tài)向量序列按順序依次輸入至所述子層中進行處理,得到所述推理模塊輸出的預(yù)測輸出向量序列。
7、根據(jù)本發(fā)明提供的用于長序列的模型推理方法,根據(jù)所述狀態(tài)空間網(wǎng)絡(luò)層的上一個狀態(tài)向量序列,對輸入的多個所述短序列進行并行推理,得到每個所述短序列對應(yīng)的輸出向量序列以及狀態(tài)向量序列,具體包括:
8、根據(jù)所述狀態(tài)空間網(wǎng)絡(luò)層的上一個狀態(tài)向量序列,對輸入的多個所述短序列進行并行推理,得到每個所述短序列對應(yīng)的狀態(tài)向量序列;
9、根據(jù)每個所述短序列及其對應(yīng)的狀態(tài)向量序列,得到每個所述短序列對應(yīng)的輸出向量序列。
10、根據(jù)本發(fā)明提供的用于長序列的模型推理方法,所述子層包括自注意力網(wǎng)絡(luò)層和前饋網(wǎng)絡(luò)層;
11、將每個所述短序列對應(yīng)的輸出向量序列以及狀態(tài)向量序列按順序依次輸入至子層中進行處理,得到所述推理模塊輸出的預(yù)測輸出向量序列,具體包括:
12、將每個所述短序列對應(yīng)的輸出向量序列以及狀態(tài)向量序列按順序依次輸入至所述自注意力網(wǎng)絡(luò)層進行處理,輸出自注意力向量序列;
13、將所述自注意力向量序列輸入至所述前饋網(wǎng)絡(luò)層進行處理,輸出所述預(yù)測輸出向量序列。
14、根據(jù)本發(fā)明提供的用于長序列的模型推理方法,在將每個所述短序列對應(yīng)的輸出向量序列以及狀態(tài)向量序列按順序依次輸入至子層中進行處理,得到所述推理模塊輸出的預(yù)測輸出向量序列之后,所述方法還包括:
15、在接收到新輸入的詞元的情況下,將新輸入的詞元添加至預(yù)定義的新增序列片段中;
16、將所述新輸入的詞元輸入至狀態(tài)空間網(wǎng)絡(luò)層中,根據(jù)所述新增序列片段對應(yīng)的當(dāng)前狀態(tài)向量序列以及所述新輸入的詞元進行推理,生成所述新增序列片段對應(yīng)的更新后狀態(tài)向量序列;
17、根據(jù)所述詞元及所述新增序列片段對應(yīng)的更新后狀態(tài)向量序列進行推理,得到所述詞元對應(yīng)的輸出向量。
18、根據(jù)本發(fā)明提供的用于長序列的模型推理方法,在得到所述詞元對應(yīng)的輸出向量之后,所述方法還包括:
19、將所述詞元對應(yīng)的輸出向量以及所述新增序列片段對應(yīng)的更新后狀態(tài)向量序列輸入至子層中進行處理,得到所述詞元對應(yīng)的預(yù)測輸出向量;
20、在所述新增序列片段的詞元數(shù)量達到閾值的情況下,停止對所述新增序列片段的推理,保存所述新增序列片段對應(yīng)的狀態(tài)向量序列,并新增下一個序列片段。
21、根據(jù)本發(fā)明提供的用于長序列的模型推理方法,所述子層包括自注意力網(wǎng)絡(luò)層和前饋網(wǎng)絡(luò)層;將所述詞元對應(yīng)的輸出向量以及所述新增序列片段對應(yīng)的更新后狀態(tài)向量序列輸入至子層中進行處理,得到所述詞元對應(yīng)的預(yù)測輸出向量,具體包括:
22、將所述詞元對應(yīng)的輸出向量以及所述新增序列片段對應(yīng)的更新后狀態(tài)向量序列輸入至所述自注意力網(wǎng)絡(luò)層進行處理,輸出所述詞元對應(yīng)的自注意力向量序列;
23、將所述詞元對應(yīng)的自注意力向量序列輸入至所述前饋網(wǎng)絡(luò)層進行處理,輸出所述詞元對應(yīng)的預(yù)測輸出向量序列。
24、本發(fā)明還提供一種用于長序列的模型推理裝置,用于推理模型,所述推理模型包括多個推理模塊,每個推理模塊包括狀態(tài)空間網(wǎng)絡(luò)層和子層;
25、對于每個推理模塊,所述裝置包括:
26、接收模塊,用于接收輸入的長序列,所述長序列為原始輸入序列或上一個推理模塊的輸出序列;
27、推理模塊,用于將所述長序列分段為多個短序列,將多個所述短序列輸入至狀態(tài)空間網(wǎng)絡(luò)層中,根據(jù)所述狀態(tài)空間網(wǎng)絡(luò)層的上一個狀態(tài)向量序列,對輸入的多個所述短序列進行并行推理,得到每個所述短序列對應(yīng)的輸出向量序列以及狀態(tài)向量序列;
28、輸出模塊,用于將每個所述短序列對應(yīng)的輸出向量序列以及狀態(tài)向量序列按順序依次輸入至子層中進行處理,得到所述推理模塊輸出的預(yù)測輸出向量序列。
29、本發(fā)明還提供一種電子設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執(zhí)行所述程序時實現(xiàn)如上述任一種所述用于長序列的模型推理方法。
30、本發(fā)明還提供一種非暫態(tài)計算機可讀存儲介質(zhì),其上存儲有計算機程序,該計算機程序被處理器執(zhí)行時實現(xiàn)如上述任一種所述用于長序列的模型推理方法。
31、本發(fā)明還提供一種計算機程序產(chǎn)品,包括計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)如上述任一種所述用于長序列的模型推理方法。
32、本發(fā)明提供的用于長序列的模型推理方法和裝置,通過為推理模型的每個推理模塊增加狀態(tài)空間網(wǎng)絡(luò)層,將接收到的長序列分段為多個短序列,將多個短序列輸入至狀態(tài)空間網(wǎng)絡(luò)層中,根據(jù)狀態(tài)空間網(wǎng)絡(luò)層的上一個狀態(tài)向量序列,對輸入的多個短序列進行并行推理,得到每個短序列對應(yīng)的輸出向量序列以及狀態(tài)向量序列,并行處理機制能夠高效地處理長序列數(shù)據(jù),顯著提高了計算效率;然后將每個短序列對應(yīng)的輸出向量序列以及狀態(tài)向量序列按順序依次輸入至子層中進行處理,得到推理模塊輸出的預(yù)測輸出向量序列,本實施例的方法通過狀態(tài)空間網(wǎng)絡(luò)層來生成每個短序列對應(yīng)的輸出向量序列以及狀態(tài)向量序列,只需要依據(jù)新輸入的多個短序列以及上一個狀態(tài)向量序列,與傳統(tǒng)的長序列處理方法需要保存每個詞單元的歷史狀態(tài)信息相比,在保證長效記憶的同時提升大模型推理系統(tǒng)的計算與存儲效率。