本發(fā)明屬于模型壓縮,具體涉及一種可變內(nèi)存環(huán)境下細料度尺寸控制的大型語言模型壓縮方法。
背景技術(shù):
1、大型語言模型(llms)在各類基準測試中表現(xiàn)出卓越性能,并逐漸在日常生活中得到應(yīng)用,如通用語言助手、搜索引擎和代碼助手。隨著規(guī)模的擴大,大型語言模型的部署從性能的提升逐漸轉(zhuǎn)向可用性的提升,例如內(nèi)存占用問題成為瓶頸。加載大型模型需要顯著的內(nèi)存資源,這對低資源設(shè)備的部署構(gòu)成挑戰(zhàn)。
2、大型語言模型的壓縮方法主要包含量化、剪枝、知識蒸餾、權(quán)重分解四種。其中,量化、剪枝、知識蒸餾等傳統(tǒng)壓縮方法需要預(yù)設(shè)壓縮比,適配性有限,且壓縮步驟復(fù)雜,而先前的權(quán)重分解方法雖然能減小存儲空間需求,但高壓縮比下會顯著損害性能,難以適應(yīng)動態(tài)內(nèi)存變化。
3、為了讓大型語言模型能夠惠及更多人,將模型部署在本地設(shè)備中逐漸成為一種強烈需求。而在本地設(shè)備上部署大型語言模型需要兼顧內(nèi)存和性能,而現(xiàn)有方法在可變內(nèi)存環(huán)境中難以實現(xiàn)動態(tài)優(yōu)化。現(xiàn)有的方法由于受到需要預(yù)設(shè)壓縮比的限制,難以適配本地設(shè)備中有限且快速變化的可用內(nèi)存容量,而切換不同壓縮比的壓縮模型會帶來很大的內(nèi)存加載時延及存儲負擔。因此,當前需要提出一種能夠適應(yīng)可變內(nèi)存環(huán)境的模型壓縮方法,讓高效的模型本地部署成為可能。
技術(shù)實現(xiàn)思路
1、本發(fā)明是為解決上述問題而進行的,目的在于提供一種能夠在可變內(nèi)存環(huán)境中實現(xiàn)動態(tài)優(yōu)化的大型語言模型壓縮方法,本發(fā)明采用了如下技術(shù)方案:
2、本發(fā)明提供了一種可變內(nèi)存環(huán)境下細料度尺寸控制的大型語言模型壓縮方法,該方法具有這樣的技術(shù)特征在于,其包括以下步驟:步驟s1,通過預(yù)定的校準數(shù)據(jù)集計算待壓縮的大型語言模型各個權(quán)重矩陣對應(yīng)的激活值,并基于所述激活值得到激活值感知的權(quán)重矩陣;步驟s2,將各個所述激活值感知的權(quán)重矩陣分解為其符號矩陣和絕對值矩陣,并對所述絕對值矩陣進行迭代分解,基于符號矩陣和迭代分解結(jié)果得到多個殘差數(shù)據(jù)塊;步驟s3,對多個所述殘差數(shù)據(jù)塊進行重要性評估和排序;步驟s4,根據(jù)當前可用內(nèi)存容量的變化以及所述殘差數(shù)據(jù)塊的重要性,動態(tài)加載或卸載所述殘差數(shù)據(jù)塊,得到與所述當前可用內(nèi)存容量相適應(yīng)的壓縮模型。
3、本發(fā)明提供的可變內(nèi)存環(huán)境下細料度尺寸控制的大型語言模型壓縮方法,還可以具有這樣的技術(shù)特征,其中,在步驟s1中,基于所述激活值計算縮放因子,并用所述縮放因子對各個所述權(quán)重矩陣中對應(yīng)行進行縮放,得到所述激活值感知的權(quán)重矩陣。
4、本發(fā)明提供的可變內(nèi)存環(huán)境下細料度尺寸控制的大型語言模型壓縮方法,還可以具有這樣的技術(shù)特征,其中,在步驟s1中,基于所述激活值得到激活值矩陣,統(tǒng)計所述激活值矩陣的l2范數(shù)作為所述縮放因子:
5、s=[||x1||2,||x2||2,…,|xn||2]
6、用所述縮放因子對各個所述權(quán)重矩陣中對應(yīng)行進行縮放,得到所述激活值感知的權(quán)重矩陣:
7、xw=xdiag(1/s)diag(s)w=xdiag(1/s)wscaled
8、式中,xn為激活值矩陣各列的值,x為激活值矩陣,w為權(quán)重矩陣,wscaled為激活值感知的權(quán)重矩陣。
9、本發(fā)明提供的可變內(nèi)存環(huán)境下細料度尺寸控制的大型語言模型壓縮方法,還可以具有這樣的技術(shù)特征,其中,步驟s2包括以下子步驟:步驟s2-1,將所述激活值感知的權(quán)重矩陣分解為所述符號矩陣和所述絕對值矩陣的乘積;步驟s2-2,對待分解的所述絕對值矩陣進行奇異值分解,并保留所述符號矩陣和通過奇異值分解得到的前k個奇異向量和奇異值,得到由所述符號矩陣和前k個所述奇異向量構(gòu)成的所述殘差數(shù)據(jù)塊;步驟s2-3,判斷是否到達預(yù)定的迭代次數(shù),在判斷為是時得到分解出的多個所述殘差數(shù)據(jù)塊;步驟s2-4,在步驟s2-3中判斷為否時,基于待分解的所述絕對值矩陣和所述殘差數(shù)據(jù)塊計算近似殘差,得到的殘差絕對值矩陣;步驟s2-5,將所述殘差絕對值矩陣作為新的待分解的絕對值矩陣,并返回步驟s2-2,以繼續(xù)對所述殘差絕對值矩陣進行分解。
10、本發(fā)明提供的可變內(nèi)存環(huán)境下細料度尺寸控制的大型語言模型壓縮方法,還可以具有這樣的技術(shù)特征,其中,在步驟s2-1中,對所述激活值感知的權(quán)重矩陣的分解表示為:
11、wscaled=wsign☉|w|
12、在步驟s2-2中,所述奇異值分解表示為:
13、
14、經(jīng)過n次迭代分解后得到的所述殘差數(shù)據(jù)塊表示為:
15、
16、式中,wsign為符號矩陣,|w|為絕對值矩陣,a’為左奇異矩陣,b’為右奇異矩陣,為殘差數(shù)據(jù)塊,為殘差數(shù)據(jù)塊的符號矩陣。
17、本發(fā)明提供的可變內(nèi)存環(huán)境下細料度尺寸控制的大型語言模型壓縮方法,還可以具有這樣的技術(shù)特征,其中,所述符號矩陣僅包含1和-1,將其打包為cpu支持的數(shù)據(jù)類型進行存儲,其每個參數(shù)占用1bit內(nèi)存容量。
18、本發(fā)明提供的可變內(nèi)存環(huán)境下細料度尺寸控制的大型語言模型壓縮方法,還可以具有這樣的技術(shù)特征,其中,在步驟s3中,使用預(yù)定的校準數(shù)據(jù)集計算加載不同的所述殘差數(shù)據(jù)塊情況下構(gòu)成的不同的所述壓縮模型的困惑度,從而評估不同的所述殘差數(shù)據(jù)塊的重要性,根據(jù)所述重要性對多個所述殘差數(shù)據(jù)塊進行全局排序。
19、本發(fā)明提供的可變內(nèi)存環(huán)境下細料度尺寸控制的大型語言模型壓縮方法,還可以具有這樣的技術(shù)特征,其中,在步驟s4中,根據(jù)所述當前可用內(nèi)存容量以及所述殘差數(shù)據(jù)塊的重要性,選擇重要性排序前m個所述殘差數(shù)據(jù)塊構(gòu)成所述壓縮模型。
20、本發(fā)明提供的可變內(nèi)存環(huán)境下細料度尺寸控制的大型語言模型壓縮方法,還可以具有這樣的技術(shù)特征,其中,在步驟s4中,在所述當前可用內(nèi)存容量增加時,根據(jù)增加量相應(yīng)地再向所述壓縮模型加載重要性排序第m+1個開始的若干個所述殘差數(shù)據(jù)塊,構(gòu)成新的壓縮模型;在所述當前可用內(nèi)存容量減少時,根據(jù)減少量相應(yīng)地從所述壓縮模型中卸載重要性排序最靠后的若干個所述殘差數(shù)據(jù)塊,構(gòu)成新的壓縮模型。
21、發(fā)明的作用與效果
22、根據(jù)本發(fā)明提供的可變內(nèi)存環(huán)境下細料度尺寸控制的大型語言模型壓縮方法,包括計算激活值感知的權(quán)重矩陣的步驟、對其激活值感知的權(quán)重矩陣的絕對值矩陣進行迭代分解的步驟、對迭代分解出的多個殘差數(shù)據(jù)塊進行重要性評估和排序的步驟、以及根據(jù)可用內(nèi)容容量的變化以及重要性排序動態(tài)加載殘差數(shù)據(jù)塊以構(gòu)成不同壓縮模型的步驟。通過這樣的方法,能夠使得壓縮模型很好地適應(yīng)可變內(nèi)存環(huán)境,從而能夠在本地設(shè)備中部署模型,并且由于優(yōu)先加載重要性更高的殘差數(shù)據(jù)塊,因此壓縮模型仍具有與原大型語言模型接近的優(yōu)秀性能,即使是在極端壓縮比的情況下也是如此,因此壓縮模型也無需再經(jīng)過訓練,使得模型在本地設(shè)備中的部署更為方便和高效。
1.一種可變內(nèi)存環(huán)境下細料度尺寸控制的大型語言模型壓縮方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的可變內(nèi)存環(huán)境下細料度尺寸控制的大型語言模型壓縮方法,其特征在于:
3.根據(jù)權(quán)利要求2所述的可變內(nèi)存環(huán)境下細料度尺寸控制的大型語言模型壓縮方法,其特征在于:
4.根據(jù)權(quán)利要求2所述的可變內(nèi)存環(huán)境下細料度尺寸控制的大型語言模型壓縮方法,其特征在于:
5.根據(jù)權(quán)利要求4所述的可變內(nèi)存環(huán)境下細料度尺寸控制的大型語言模型壓縮方法,其特征在于:
6.根據(jù)權(quán)利要求5所述的可變內(nèi)存環(huán)境下細料度尺寸控制的大型語言模型壓縮方法,其特征在于:
7.根據(jù)權(quán)利要求1所述的可變內(nèi)存環(huán)境下細料度尺寸控制的大型語言模型壓縮方法,其特征在于:
8.根據(jù)權(quán)利要求7所述的可變內(nèi)存環(huán)境下細料度尺寸控制的大型語言模型壓縮方法,其特征在于:
9.根據(jù)權(quán)利要求8所述的可變內(nèi)存環(huán)境下細料度尺寸控制的大型語言模型壓縮方法,其特征在于: