本技術(shù)涉及大語言模型推理優(yōu)化領(lǐng)域,具體涉及一種大模型推理加速方法、設(shè)備及介質(zhì)。
背景技術(shù):
1、大型語言模型(large?language?models,llms)已經(jīng)成為人工智能領(lǐng)域的一項(xiàng)重要突破,其通過深度學(xué)習(xí)技術(shù)在海量的文本數(shù)據(jù)中學(xué)習(xí)語言的語法、語義和規(guī)律,能夠生成自然流暢的文本。隨著大型語言模型的不斷發(fā)展,本地大模型因其具有顯著優(yōu)勢受到廣泛關(guān)注,比如,數(shù)據(jù)隱私保護(hù):在本地部署大模型可以有效保護(hù)用戶的敏感數(shù)據(jù)和隱私。通過在用戶設(shè)備或本地服務(wù)器上運(yùn)行模型,數(shù)據(jù)不需要發(fā)送到云端進(jìn)行處理,從而減少了數(shù)據(jù)泄露的風(fēng)險(xiǎn)。這對于涉及個(gè)人信息、商業(yè)機(jī)密或其他敏感數(shù)據(jù)的應(yīng)用尤為重要;低延遲和高可用性:本地推理不需要依賴網(wǎng)絡(luò)連接,可以顯著減少數(shù)據(jù)傳輸?shù)难舆t,從而提供即時(shí)的響應(yīng)速度。此外,本地模型的高可用性保證了在沒有網(wǎng)絡(luò)連接或云服務(wù)不可用的情況下,系統(tǒng)仍能正常運(yùn)行;模型微調(diào)和權(quán)重?fù)碛袡?quán):在本地環(huán)境中,用戶可以直接微調(diào)模型以滿足特定的需求,并且可以完全控制模型的權(quán)重。這對于需要定制化解決方案的企業(yè)或研究機(jī)構(gòu)尤為關(guān)鍵。同時(shí),擁有權(quán)重的控制權(quán)也避免了依賴第三方云服務(wù)提供商可能帶來的不確定性和潛在風(fēng)險(xiǎn)。
2、盡管本地大模型有諸多優(yōu)勢,但其推理過程往往對計(jì)算資源需求較高。在缺乏充足計(jì)算資源的本地環(huán)境中,推理速度可能成為瓶頸,影響用戶體驗(yàn)。
技術(shù)實(shí)現(xiàn)思路
1、為了解決上述問題,本技術(shù)提出了一種大模型推理加速方法,包括:
2、基于大模型的模型優(yōu)化方式,采集所述大模型對應(yīng)的場景數(shù)據(jù),并根據(jù)所述場景數(shù)據(jù),構(gòu)建用于訓(xùn)練所述大模型的訓(xùn)練集和測試集;
3、對所述大模型中的預(yù)測頭進(jìn)行擴(kuò)展,得到擴(kuò)展后的目標(biāo)大模型,并對所述大模型中的原始預(yù)測頭參數(shù)進(jìn)行凍結(jié),以在所述目標(biāo)大模型的訓(xùn)練過程中,對擴(kuò)展的預(yù)測頭對應(yīng)的預(yù)測頭參數(shù)進(jìn)行更新;其中,多個(gè)預(yù)測頭可實(shí)現(xiàn)詞符之間的并行解碼,所述預(yù)測頭表示為線性層;
4、分別通過所述訓(xùn)練集和所述測試集對所述目標(biāo)大模型進(jìn)行訓(xùn)練和評估,以得到訓(xùn)練完成的目標(biāo)大模型;
5、構(gòu)建由部分場景數(shù)據(jù)構(gòu)成的校準(zhǔn)數(shù)據(jù)集,將所述校準(zhǔn)數(shù)據(jù)集輸入到所述目標(biāo)大模型中進(jìn)行前向推理,得到各線性層對應(yīng)的校準(zhǔn)矩陣;其中,所述校準(zhǔn)矩陣由所述線性層對應(yīng)的激活值組成;
6、根據(jù)所述校準(zhǔn)矩陣,確定所述線性層對應(yīng)的輸入矩陣和輸出矩陣,并基于所述輸入矩陣對所述線性層對應(yīng)的權(quán)重進(jìn)行量化,得到量化后的模型權(quán)重。
7、在本技術(shù)的一種實(shí)現(xiàn)方式中,基于所述輸入矩陣對所述線性層對應(yīng)的權(quán)重進(jìn)行量化,得到量化后的模型權(quán)重,具體包括:
8、確定所述輸入矩陣中每行輸入數(shù)據(jù)之間的平均值,將所述平均值作為所述線性層對應(yīng)權(quán)重矩陣中每列權(quán)重的重要性;
9、針對每個(gè)線性層,根據(jù)所述重要性,確定所述權(quán)重矩陣對應(yīng)的縮放系數(shù)集合,以根據(jù)所述縮放系數(shù)集合對所述線性層的權(quán)重進(jìn)行縮放,以及對所述線性層的前一線性層進(jìn)行逆操作;
10、通過預(yù)設(shè)的minmax算法,對所述線性層進(jìn)行量化,得到量化后的模型權(quán)重。
11、在本技術(shù)的一種實(shí)現(xiàn)方式中,根據(jù)所述重要性,確定所述權(quán)重矩陣對應(yīng)的縮放系數(shù)集合,具體包括:
12、基于貪婪搜索算法,根據(jù)所述重要性確定每列權(quán)重對應(yīng)的縮放系數(shù),以根據(jù)所述縮放系數(shù)對所述權(quán)重和所述輸入矩陣中的輸入數(shù)據(jù)進(jìn)行縮放,使得縮放后得到的權(quán)重和輸入數(shù)據(jù)與所述輸入矩陣之間的均方誤差最??;其中,所述縮放系數(shù)是根據(jù)所述重要性和預(yù)設(shè)數(shù)值范圍內(nèi)的指定數(shù)值進(jìn)行乘積運(yùn)算得到的;
13、根據(jù)每列權(quán)重對應(yīng)的縮放系數(shù),構(gòu)建所述權(quán)重矩陣對應(yīng)的縮放系數(shù)集合。
14、在本技術(shù)的一種實(shí)現(xiàn)方式中,通過預(yù)設(shè)的minmax算法,對所述線性層進(jìn)行量化,得到量化后的模型權(quán)重,具體包括:
15、基于不同的量化方式,分別確定所述線性層對應(yīng)的縮放因子;
16、通過預(yù)設(shè)的minmax算法,根據(jù)所述縮放因子,對所述線性層進(jìn)行量化,得到量化后的模型權(quán)重,具體計(jì)算方式為:
17、
18、其中,和分別表示每列權(quán)重在量化前的向量和量化后的向量,s為縮放因子,z是零點(diǎn)值。
19、在本技術(shù)的一種實(shí)現(xiàn)方式中,基于不同的量化方式,分別確定所述線性層對應(yīng)的縮放因子,具體包括:
20、所述量化方式包括對稱量化和非對稱量化;
21、在所述量化方式為所述對稱量化的情況下,通過以下公式,確定所述線性層對應(yīng)的縮放因子:
22、
23、在所述量化方式為所述非對稱量化的情況下,通過以下公式,確定所述線性層對應(yīng)的縮放因子:
24、
25、其中,n表示量化位數(shù)。
26、在本技術(shù)的一種實(shí)現(xiàn)方式中,分別通過所述訓(xùn)練集和所述測試集對所述目標(biāo)大模型進(jìn)行訓(xùn)練和評估,具體包括:
27、通過所述訓(xùn)練集對所述目標(biāo)大模型進(jìn)行訓(xùn)練,在訓(xùn)練過程中計(jì)算所述目標(biāo)大模型對應(yīng)的損失值,并通過預(yù)設(shè)的優(yōu)化算法對擴(kuò)展的預(yù)測頭對應(yīng)的預(yù)測頭參數(shù)進(jìn)行更新,以實(shí)現(xiàn)所述損失值的最小化;
28、重復(fù)上述過程,直至所述目標(biāo)大模型達(dá)到收斂;其中,用于計(jì)算所述損失值的損失函數(shù)表示為:
29、
30、其中,k是擴(kuò)展的預(yù)測頭的數(shù)量,表示第k個(gè)預(yù)測頭對應(yīng)位置詞符的預(yù)測概率,為用于平衡各個(gè)預(yù)測頭損失的常數(shù)。
31、在本技術(shù)的一種實(shí)現(xiàn)方式中,對所述大模型中的預(yù)測頭進(jìn)行擴(kuò)展,得到擴(kuò)展后的目標(biāo)大模型,具體包括:
32、在所述大模型的末尾隱藏層后,添加若干新增預(yù)測頭;其中,所述新增預(yù)測頭包括第一線性層、由激活層構(gòu)成的殘差架構(gòu)和第二線性層;
33、將所述第一線性層初始化為全0矩陣,并對所述第二線性層進(jìn)行初始化,以使所述第二線性層的權(quán)重與原始預(yù)測頭一致;
34、根據(jù)初始化的新增預(yù)測頭,得到擴(kuò)展后的大模型。
35、在本技術(shù)的一種實(shí)現(xiàn)方式中,基于大模型的模型優(yōu)化方式,采集所述大模型對應(yīng)的場景數(shù)據(jù),具體包括:
36、在所述模型優(yōu)化方式為監(jiān)督微調(diào)的情況下,采集監(jiān)督微調(diào)階段使用的數(shù)據(jù)集,作為所述大模型對應(yīng)的場景數(shù)據(jù);
37、在所述模型優(yōu)化方式為強(qiáng)化學(xué)習(xí)的情況下,將所述大模型通過蒸餾技術(shù)產(chǎn)生的特征數(shù)據(jù),作為所述大模型對應(yīng)的場景數(shù)據(jù)。
38、本技術(shù)實(shí)施例提供了一種大模型推理加速設(shè)備,所述設(shè)備包括:
39、至少一個(gè)處理器;
40、以及,與所述至少一個(gè)處理器通信連接的存儲(chǔ)器;
41、其中,所述存儲(chǔ)器存儲(chǔ)有可被所述至少一個(gè)處理器執(zhí)行的指令,所述指令被所述至少一個(gè)處理器執(zhí)行,以使所述至少一個(gè)處理器能夠執(zhí)行如任一項(xiàng)所述的上一種大模型推理加速方法。
42、本技術(shù)實(shí)施例提供了一種非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì),存儲(chǔ)有計(jì)算機(jī)可執(zhí)行指令,所述計(jì)算機(jī)可執(zhí)行指令設(shè)置為:
43、如上任一項(xiàng)所述的一種大模型推理加速方法。
44、通過本技術(shù)提出的一種大模型推理加速方法能夠帶來如下有益效果:
45、通過擴(kuò)展大模型的預(yù)測頭并實(shí)現(xiàn)詞符之間的并行解碼,顯著提高了模型在處理文本或序列數(shù)據(jù)時(shí)的并行處理能力,有效減少了推理過程中的等待時(shí)間,使得模型能夠在更短的時(shí)間內(nèi)完成大量數(shù)據(jù)的處理,從而提高了整體的推理速度。
46、在訓(xùn)練過程中,通過凍結(jié)大模型中的原始預(yù)測頭參數(shù),僅對擴(kuò)展的預(yù)測頭參數(shù)進(jìn)行更新,減少了訓(xùn)練過程中需要優(yōu)化的參數(shù)數(shù)量,降低了計(jì)算復(fù)雜度和內(nèi)存占用。同時(shí),針對有限的本地計(jì)算資源,這種優(yōu)化方式使得大模型能夠更有效地利用這些資源,提高了資源利用效率。
47、通過校準(zhǔn)矩陣對線性層權(quán)重進(jìn)行量化,減少了模型參數(shù)的存儲(chǔ)空間,并可能通過硬件加速進(jìn)一步提高推理速度。同時(shí),校準(zhǔn)過程確保了量化后的模型能夠保持較好的性能表現(xiàn),減少了量化引入的精度損失。