何源宏,姜晶菲*,許金偉
(1. 國(guó)防科技大學(xué) 計(jì)算機(jī)學(xué)院, 湖南 長(zhǎng)沙 410073; 2. 國(guó)防科技大學(xué) 并行與分布計(jì)算全國(guó)重點(diǎn)實(shí)驗(yàn)室, 湖南 長(zhǎng)沙 410073)
近年來(lái),基于Transformer的模型(如BERT[1]、GPT-2[2])在機(jī)器翻譯、句子分類、問題回答等自然語(yǔ)言處理(natural language processing, NLP)任務(wù)中實(shí)現(xiàn)了最先進(jìn)的(state-of-the-art, SOTA)成果。在一些具有挑戰(zhàn)性的任務(wù)上,典型的BERT模型處理效果甚至超過(guò)人類[3]。相比傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)[4](recurrent neural network, RNN)模型和長(zhǎng)短期記憶[5](long short-term memory, LSTM)模型,基于Transformer的模型采用注意力機(jī)制[6],能更有效地捕獲輸入序列中的上下文信息,使得模型精度顯著提高。
在注意力機(jī)制的原始計(jì)算流程中,注意力機(jī)制的輸入由查詢(Q)、鍵(K)和值(V)三個(gè)激活值矩陣組成。注意力機(jī)制首先通過(guò)Q和K的相乘計(jì)算得到分?jǐn)?shù)矩陣(S),然后采用歸一化指數(shù)函數(shù)(softmax)對(duì)分?jǐn)?shù)矩陣進(jìn)行逐行操作得出概率矩陣(P)。最后將P與V相乘得到輸出。相較于RNN和LSTM模型只計(jì)算了輸入的局部信息,注意力機(jī)制計(jì)算了每一對(duì)查詢向量和鍵向量的注意力結(jié)果,從而實(shí)現(xiàn)了對(duì)全局關(guān)系的提取。但由于注意力機(jī)制的計(jì)算開銷和輸入序列的長(zhǎng)度的平方成正比,全局信息提取帶來(lái)模型精度提升的同時(shí)也使得計(jì)算復(fù)雜度大幅增加。例如,對(duì)于涉及圖像或長(zhǎng)文本的任務(wù),輸入的序列長(zhǎng)度可能高達(dá)16×103,而對(duì)于具有16×103個(gè)Token的單個(gè)輸入序列,BERT-Base中一個(gè)自注意力模塊的浮點(diǎn)運(yùn)算次數(shù)[7]高達(dá)861.9×109?;谧⒁饬C(jī)制模型的計(jì)算復(fù)雜性給實(shí)時(shí)響應(yīng)系統(tǒng)和移動(dòng)設(shè)備上的開發(fā)部署帶來(lái)了巨大挑戰(zhàn),模型的輕量化方法是解決計(jì)算難題的關(guān)鍵手段。
現(xiàn)有的大部分工作[7-19]著重于對(duì)基于注意力機(jī)制模型的權(quán)重進(jìn)行量化和剪枝,取得了較好的效果。但是在計(jì)算復(fù)雜度較高的注意力機(jī)制中,大多數(shù)模型仍采用單精度浮點(diǎn)表示的稠密激活值矩陣進(jìn)行運(yùn)算,激活值不屬于權(quán)重量化剪枝的范疇,因此計(jì)算開銷依然很高。本文對(duì)基于注意力機(jī)制模型的優(yōu)化訓(xùn)練方法展開研究,通過(guò)有效的量化和剪枝方法對(duì)激活值矩陣進(jìn)行量化和剪枝,從而達(dá)到大幅降低基于注意力機(jī)制模型的計(jì)算量和訪存量的目的,使得模型推理更適應(yīng)輕量化智能應(yīng)用的需求。
深度神經(jīng)網(wǎng)絡(luò)往往被認(rèn)為是過(guò)度參數(shù)化的,目前學(xué)術(shù)界提出了許多方法去除冗余的參數(shù)來(lái)實(shí)現(xiàn)存儲(chǔ)或者計(jì)算的優(yōu)化。使用的方法包括量化、剪枝、知識(shí)蒸餾、參數(shù)共享、專用的FPGA和ASIC加速器等[20-23]。
量化指用低精度數(shù)(如定點(diǎn)8位)表示高精度數(shù)(如浮點(diǎn)32位)。除了可以減少神經(jīng)網(wǎng)絡(luò)模型占用的空間大小,量化還能在支持低精度運(yùn)算的硬件中提升模型運(yùn)算速度。文獻(xiàn)[8]利用量化感知訓(xùn)練(quantization-aware training, QAT)和對(duì)稱線性量化將BERT量化到8位定點(diǎn)整數(shù),同時(shí)在下游任務(wù)中幾乎沒有精度損失,從而節(jié)省75%的存儲(chǔ)空間占用。文獻(xiàn)[9]利用權(quán)重矩陣的二階海森信息對(duì)BERT進(jìn)行混合精度和分組量化。文獻(xiàn)[10]利用聚類的思想將BERT中99.9%的權(quán)重量化到3 bit,剩余權(quán)重按照原樣存儲(chǔ),但是需要在專用硬件上實(shí)現(xiàn)推理過(guò)程。為了得到更高的模型壓縮比,文獻(xiàn)[11]使用三值化的權(quán)重分割來(lái)獲得二值化的權(quán)重,文獻(xiàn)[12]通過(guò)引入二值注意力機(jī)制和知識(shí)蒸餾[24]得到二值化的權(quán)重,雖然二值化后的模型理論上相較于原始模型可以獲得32倍的壓縮比,但是上述兩種方法均會(huì)導(dǎo)致模型精度相對(duì)于原始模型精度有顯著的下降,難以在實(shí)際應(yīng)用中起到較好的效果。
剪枝分為結(jié)構(gòu)化剪枝和非結(jié)構(gòu)化剪枝。非結(jié)構(gòu)化剪枝去除不重要的神經(jīng)元,可以顯著減少模型的參數(shù)量和理論計(jì)算量,但通用平臺(tái)擅長(zhǎng)的規(guī)則計(jì)算難以利用其稀疏性,需要專用的硬件或者計(jì)算庫(kù)來(lái)支持稀疏矩陣運(yùn)算。magnitude剪枝[13-15]是應(yīng)用最廣泛也是效果較好的非結(jié)構(gòu)化剪枝方法之一,該方法認(rèn)為如果一個(gè)權(quán)重或激活值的絕對(duì)值越小,那么對(duì)后續(xù)結(jié)果的影響也越小,則可以將其置為0。文獻(xiàn)[14]發(fā)現(xiàn)在BERT的預(yù)訓(xùn)練過(guò)程中,對(duì)權(quán)重使用magnitude剪枝在低稀疏度(0.3~0.4)情況下不會(huì)影響模型在下游任務(wù)中的精度,而在高稀疏度(高于0.7)情況下模型難以在下游任務(wù)中取得較好的效果。文獻(xiàn)[16-17]提出了一種基于訓(xùn)練中權(quán)重移動(dòng)方向的剪枝方法,該方法認(rèn)為在訓(xùn)練過(guò)程中,權(quán)重的更新如果越靠近0,則表明該權(quán)重越不重要;權(quán)重的更新如果越遠(yuǎn)離0,則表明該權(quán)重越重要。
結(jié)構(gòu)化剪枝通常以神經(jīng)網(wǎng)絡(luò)中的一個(gè)注意力頭[18-19]或整層[18]為剪枝的基本單位。結(jié)構(gòu)化剪枝的相關(guān)工作輸出的模型在計(jì)算模式上更匹配CPU、GPU規(guī)則計(jì)算構(gòu)架,因此仍然可以通過(guò)CPU和GPU完成推理加速,但是存在稀疏度遠(yuǎn)低于非結(jié)構(gòu)化剪枝的稀疏度等劣勢(shì)。本文面向?qū)崟r(shí)響應(yīng)系統(tǒng)和低算力移動(dòng)設(shè)備的計(jì)算優(yōu)化需求,主要研究非結(jié)構(gòu)化剪枝及量化在基于注意力機(jī)制模型上的計(jì)算優(yōu)化技術(shù),能夠在較好平衡任務(wù)準(zhǔn)確率的條件下達(dá)到良好的計(jì)算壓縮效果。這種量化剪枝技術(shù)能輸出更為精簡(jiǎn)、采用低位寬數(shù)據(jù)表示的稀疏化模型。面向該類模型,很多工作研究了低位寬智能加速器,通過(guò)專用結(jié)構(gòu)高效處理低位寬數(shù)據(jù),為低位寬計(jì)算和非結(jié)構(gòu)化稀疏計(jì)算定制更適合的運(yùn)算結(jié)構(gòu),如4位定點(diǎn)運(yùn)算器、專用稀疏格式的數(shù)據(jù)運(yùn)算通路等。相較于CPU、GPU等面向規(guī)則計(jì)算的體系結(jié)構(gòu),這些結(jié)構(gòu)能進(jìn)一步獲得大幅能效提升,更加適用于面向?qū)崟r(shí)響應(yīng)系統(tǒng)和低算力移動(dòng)設(shè)備應(yīng)用的需求。
注意力機(jī)制的原始計(jì)算流程和優(yōu)化后的計(jì)算流程如圖1所示,在本文提出的注意力機(jī)制模型量化剪枝優(yōu)化總體流程中,輸入激活值矩陣Q、K、V是輸入信息在不同空間的表達(dá),在BERT模型中具有相同的維度:①對(duì)于給定的輸入激活值矩陣Q、K、V,首先量化Q和K到4位或8位定點(diǎn)整數(shù),計(jì)算分?jǐn)?shù)矩陣的結(jié)果;②將分?jǐn)?shù)矩陣進(jìn)行反量化并送入softmax得到P;③將P中絕對(duì)值低于閾值的數(shù)剪枝為0;④將稀疏的P量化到4位或者8位定點(diǎn)整數(shù)并將其與量化后的V相乘,得到注意力機(jī)制的輸出結(jié)果。第②步和第③步進(jìn)行反量化和量化操作的原因是直接將線性量化的數(shù)據(jù)送入softmax,這一類非線性運(yùn)算會(huì)顯著影響模型在數(shù)據(jù)集上的精度[25],同時(shí)為了后續(xù)量化計(jì)算,需要將剪枝后的結(jié)果進(jìn)行量化??紤]到對(duì)計(jì)算過(guò)程進(jìn)行簡(jiǎn)化,該方法根據(jù)是否為同一矩陣乘的輸入采取了分組量化,即Q和K為一組,P和V一組。同一組的兩個(gè)矩陣量化到相同的比特?cái)?shù),而不同組之間可以量化到不同比特?cái)?shù)。
對(duì)稱線性量化、非對(duì)稱線性量化、非線性量化、K-means量化等是典型的模型量化方法[21]。對(duì)稱線性量化相較于其他方法所需的硬件計(jì)算更加簡(jiǎn)單,更易于高效的專用加速器實(shí)現(xiàn)。本文采取的激活值矩陣的kbit對(duì)稱線性量化公式定義如下:
(1)
其中:Q是量化函數(shù);r是輸入的原始數(shù)據(jù);S是量化縮放因子;α是量化到kbit時(shí)的最大值,例如,當(dāng)量化到4位時(shí),α=7。由于注意力機(jī)制的輸入是動(dòng)態(tài)變化的,故使用指數(shù)滑動(dòng)平均(exponential moving average, EMA)來(lái)收集其信息,并在訓(xùn)練的過(guò)程中確定S。clip是截?cái)嗪瘮?shù),確保量化后的值不超出kbit所能表示的范圍。round函數(shù)起到四舍五入的作用。對(duì)稱線性量化本質(zhì)上是將輸入r映射到對(duì)稱區(qū)間[-α,α]之中。對(duì)于反量化公式定義如下:
DQ(S,q)=S×q
(2)
式中,DQ是反量化函數(shù),q表示輸入的量化值。量化過(guò)程和反量化過(guò)程均采用相同的S。訓(xùn)練過(guò)程中為了傳遞量化誤差,本文采用量化感知訓(xùn)練實(shí)現(xiàn)偽量化;同時(shí)考慮到round函數(shù)的不可導(dǎo)性,采用直通估計(jì)器(straight-through estimator, STE)進(jìn)行梯度反向傳播。
漸進(jìn)剪枝策略[26]能有效避免剪枝帶來(lái)的模型精度顯著下降,參考其原理,本文采用magnitude剪枝方法實(shí)現(xiàn),在每次剪枝迭代時(shí),將待剪枝的激活值矩陣中絕對(duì)值低于預(yù)設(shè)閾值的數(shù)剪枝為0。訓(xùn)練過(guò)程采用三段式漸進(jìn)剪枝方法,在總迭代次數(shù)為T的訓(xùn)練過(guò)程中,前ti次迭代只進(jìn)行模型的微調(diào);在ti到tf次迭代的過(guò)程中稀疏度s從0提升到預(yù)設(shè)的目標(biāo)稀疏度st,在這期間s以三次函數(shù)的趨勢(shì)呈先快后慢的非線性增長(zhǎng);最后維持目標(biāo)稀疏度st進(jìn)行微調(diào)實(shí)現(xiàn)精度的回調(diào)。其中稀疏度s表示一個(gè)矩陣中數(shù)值為0的權(quán)重所占的比值,具體取值如分段函數(shù)(3)所示:
(3)
本文在BERT-Base[1]模型上針對(duì)通用語(yǔ)言理解評(píng)估[27](general language understanding evaluation, GLUE)基準(zhǔn)進(jìn)行了一系列的實(shí)驗(yàn)分析。GLUE包含了9個(gè)數(shù)據(jù)集來(lái)對(duì)自然語(yǔ)言模型進(jìn)行訓(xùn)練、評(píng)估和分析,分別為CoLA、RTE、MRPC、STS-B、SST-2、QNLI、QQP、MNLI、WNLI,但是本文沒有在WNLI數(shù)據(jù)集上進(jìn)行評(píng)估,因?yàn)樗ǔ1徽J(rèn)為存在一定的問題[1]。此外,本文也在問答任務(wù)SQuAD v1.1[28]上進(jìn)行了評(píng)估。對(duì)于MRPC、QQP、SQuAD v1.1數(shù)據(jù)集采用F1值評(píng)估;對(duì)于STS-B數(shù)據(jù)集用皮爾遜相關(guān)系數(shù)評(píng)估;對(duì)于CoLA數(shù)據(jù)集用馬修斯相關(guān)系數(shù)評(píng)估;對(duì)于GLUE中剩余的數(shù)據(jù)集均采用準(zhǔn)確率評(píng)估。所有數(shù)據(jù)集的評(píng)估指標(biāo)都與模型的精度成正相關(guān)。
實(shí)驗(yàn)中BERT實(shí)現(xiàn)代碼是基于HuggingFace 的Transformer庫(kù)[29],并在PyTorch深度學(xué)習(xí)框架完成了量化剪枝實(shí)驗(yàn)和模型精度的評(píng)估。所有的實(shí)驗(yàn)均運(yùn)行在單GPU(NVIDIA Tesla V100 PCIe 32 GB)上。因?yàn)楸疚奶岢龅姆椒ú簧婕邦A(yù)訓(xùn)練,故直接將預(yù)訓(xùn)練好的BERT-Base模型在數(shù)據(jù)集上進(jìn)行量化剪枝訓(xùn)練。CoLA、RTE、MRPC、STS-B數(shù)據(jù)集訓(xùn)練時(shí)的批大小為8,學(xué)習(xí)率為2×10-5;SST-2、QNLI、QQP、MNLI、SQuAD v1.1數(shù)據(jù)集訓(xùn)練時(shí)的批大小為32,學(xué)習(xí)率為3×10-5。每次訓(xùn)練為10個(gè)epoch:①前3個(gè)epoch對(duì)應(yīng)漸進(jìn)稀疏的第一階段,模型的稀疏度為0;②接下來(lái)4個(gè)epoch對(duì)應(yīng)漸進(jìn)剪枝的第二個(gè)階段,此時(shí)稀疏度s隨時(shí)間從0增長(zhǎng)到目標(biāo)稀疏度st;③最后3個(gè)epoch對(duì)應(yīng)漸進(jìn)剪枝的第三個(gè)階段,此時(shí)維持目標(biāo)稀疏度st對(duì)模型進(jìn)行微調(diào)完成最后的訓(xùn)練,該階段可以在一定程度上緩解剪枝帶來(lái)的模型精度損失。在整個(gè)訓(xùn)練過(guò)程中,都實(shí)施本文提出的對(duì)稱線性量化流程。
圖2表明了各數(shù)據(jù)集在不同的目標(biāo)稀疏度st(大于0.9)下對(duì)Q、K、V、P單獨(dú)剪枝的結(jié)果,基線表示沒有進(jìn)行剪枝和量化的結(jié)果, 0.95*基線表示基線的95%的精度。首先,結(jié)果顯示Q和K在剪枝效果上具有一致性:即Q和K的結(jié)果曲線具有相似的變化趨勢(shì)。而P和V也有類似的性質(zhì)。這表明同一個(gè)矩陣乘的兩個(gè)輸入具有相似的剪枝效果。其次,隨著稀疏度的提升,除CoLA數(shù)據(jù)集外,P和V的剪枝效果逐漸優(yōu)于Q和K。本文認(rèn)為這是因?yàn)镻之前的softmax運(yùn)算隱式的將重要的信息進(jìn)行了提取,并賦予其較大的值,這也表明P更適合進(jìn)行剪枝。最后,在較高的稀疏度(大于0.95)下,所有矩陣剪枝后的模型精度均出現(xiàn)了明顯的下降,尤其是Q和K。
(b) RTE數(shù)據(jù)集(b) RTE dataset
(c) MRPC數(shù)據(jù)集(c) MRPC dataset
(d) STS-B數(shù)據(jù)集(d) STS-B dataset
在單獨(dú)剪枝的基礎(chǔ)上,本文還比較了Q、K、V分別和P進(jìn)行聯(lián)合剪枝后模型精度的差異,如圖3所示。從圖2和圖3的對(duì)比可以看出,在大多數(shù)情況下,Q、K、V在單獨(dú)剪枝中具有最好效果的那一個(gè)矩陣,在和P進(jìn)行聯(lián)合剪枝時(shí)也會(huì)具有最好的效果。但是Q、K、V分別和P的聯(lián)合剪枝比單獨(dú)剪枝時(shí)的精度下降得更快。同時(shí)考慮到P的大小與輸入序列長(zhǎng)度的大小的二次方成正比,故本文在接下來(lái)的量化實(shí)驗(yàn)中只針對(duì)P進(jìn)行剪枝。
(a) CoLA數(shù)據(jù)集(a) CoLA dataset
(b) RTE數(shù)據(jù)集(b) RTE dataset
(c) MRPC數(shù)據(jù)集(c) MRPC dataset
(d) STS-B數(shù)據(jù)集(d) STS-B dataset
實(shí)驗(yàn)結(jié)合了量化和剪枝來(lái)探究量化帶來(lái)的影響。實(shí)驗(yàn)設(shè)置了兩種量化位寬,分別是4位和8位。結(jié)合兩種量化位寬的設(shè)定和分組量化,圖4展示了四種量化方案和剪枝共同優(yōu)化的結(jié)果。圖例中的8+4表明對(duì)于Q和K量化到8位,P和V量化到4位。從圖4中可以清楚地看到,在大多數(shù)情況下,量化對(duì)P的剪枝效果的影響較小。在STS-B數(shù)據(jù)集中,即使量化比特方案為4+4,在相同稀疏度水平下,量化剪枝比非量化剪枝還能獲得更好的結(jié)果,這表明量化和剪枝在實(shí)際的應(yīng)用中具有正交性,同時(shí)量化能提升模型的魯棒性。
在STS-B和CoLA數(shù)據(jù)集中,不同量化比特方案產(chǎn)生的模型精度差異較小。但是在RTE和MRPC數(shù)據(jù)集中,不同的量化比特設(shè)定帶來(lái)了明顯的精度差異,表明不同的數(shù)據(jù)集對(duì)于量化的敏感程度不一樣。同時(shí)較低的量化比特設(shè)定并不意味著較低的模型精度。例如,4+4的量化方案在CoLA、MRPC、STS-B數(shù)據(jù)集中并不是精度最低的,甚至在STS-B數(shù)據(jù)集中,4+4的量化方案能獲得最好的整體效果,而8+8的量化方案在整體效果表現(xiàn)上最差。
(a) CoLA數(shù)據(jù)集(a) CoLA dataset
(b) RTE數(shù)據(jù)集(b) RTE dataset
(c) MRPC數(shù)據(jù)集(c) MRPC dataset
(d) STS-B數(shù)據(jù)集(d) STS-B dataset
在圖2到圖4的三組實(shí)驗(yàn)中,RTE數(shù)據(jù)集均為結(jié)果波動(dòng)較大的數(shù)據(jù)集之一,本文認(rèn)為是RTE數(shù)據(jù)集對(duì)于量化和剪枝較敏感,特別是在量化和剪枝協(xié)同優(yōu)化時(shí),波動(dòng)更為明顯??傮w來(lái)說(shuō),即使在較高的稀疏度下,本文的量化方案也不會(huì)使模型的精度產(chǎn)生顯著的下降。
一些相關(guān)研究表明[8-10],針對(duì)深度神經(jīng)網(wǎng)絡(luò)一定程度的壓縮(量化、剪枝、知識(shí)蒸餾等)能夠提升模型的魯棒性,因此使得壓縮后模型的精度略微超過(guò)基線模型,而當(dāng)壓縮率繼續(xù)提升時(shí)模型的精度可能會(huì)逐漸下降。但目前尚無(wú)相關(guān)研究能夠定量說(shuō)明什么程度的壓縮能起到泛化的作用。從定性的角度,本文分析深度學(xué)習(xí)模型一般具有較大的信息冗余和噪聲,一定的壓縮使得這些冗余噪聲被更高比例去除,因此使得模型精度得以保持甚至略有上升。
模型稀疏量化可以從計(jì)算次數(shù)和數(shù)據(jù)表示兩方面降低模型推理的計(jì)算量,提升計(jì)算速度。以BERT模型的一個(gè)自注意力頭模塊為例,推理任務(wù)的絕大多數(shù)計(jì)算是Q、K、P、V涉及的矩陣運(yùn)算,對(duì)于兩個(gè)n階方陣的矩陣乘法,其他配套操作(包括量化、反量化、softmax、剪枝)的計(jì)算量約為其1/n,當(dāng)n較大時(shí),這部分運(yùn)算量可忽略。模型計(jì)算復(fù)雜度一般由矩陣乘加量代表。當(dāng)把模型稀疏度提升至x%時(shí),稀疏模型計(jì)算復(fù)雜性約可降為原模型稠密矩陣計(jì)算的1-x%。稀疏矩陣一般以CSR稀疏格式存儲(chǔ),大小約為稠密矩陣的2(1-x%)。同時(shí),當(dāng)模型將原有數(shù)據(jù)位寬W量化為W/y時(shí),壓縮后數(shù)據(jù)的存儲(chǔ)量將降低為原來(lái)的1/y。
根據(jù)上述分析以及表1所獲得的BERT模型稀疏量化結(jié)果,在P×V計(jì)算稀疏度為95%、所有矩陣4+4量化協(xié)同優(yōu)化下,得到式(4):
表1 不同數(shù)據(jù)集上的量化剪枝結(jié)果
(4)
整個(gè)模塊的理論推理速度可提升約16倍。其中:a為P×V計(jì)算量占比,(1-a)為Q×K計(jì)算量占比,在該模塊中a約為50%;sP為P的稀疏度;NPV和NQK分別為P、V和Q、K量化到N比特后N位定點(diǎn)運(yùn)算相較于32位浮點(diǎn)運(yùn)算的加速比,根據(jù)硬件運(yùn)算單元速度的一般結(jié)論,4位定點(diǎn)乘加單元的運(yùn)算速度為32位浮點(diǎn)乘加單元運(yùn)算速度的8倍以上。就存儲(chǔ)量而言,4+4量化后Q、K、V占用存儲(chǔ)空間的大小可降為原始的1/8,同時(shí)在95%稀疏度下P的大小約為原始的1/80。
上述分析面向可有效處理稀疏運(yùn)算和低位寬量化運(yùn)算的定制加速器,有較多前沿相關(guān)工作[3,7]基于此思路開展,相較于通用平臺(tái),加速器不僅能高效處理上述運(yùn)算,還可消除CPU、GPU等由于指令和調(diào)度執(zhí)行帶來(lái)的額外控制開銷,大幅提升最終性能。
針對(duì)基于注意力機(jī)制模型計(jì)算復(fù)雜度和訪存開銷過(guò)高等問題,本文提出了一種量化剪枝協(xié)同優(yōu)化方法,該方法通過(guò)采用對(duì)稱線性量化和漸進(jìn)剪枝來(lái)降低注意力機(jī)制的計(jì)算復(fù)雜量。本文提出的方法在較低或者沒有精度損失的情況下,在BERT模型上有著較好的實(shí)驗(yàn)效果,對(duì)于GLUE基準(zhǔn)和SQuAD v1.1數(shù)據(jù)集,該方法將注意力機(jī)制運(yùn)算涉及的Q、K、V、P采用分組量化,其中Q和K為一組,V和P為一組,分別量化到4位或者8位,并且剪枝P,最終可以得到0.93~0.98的稀疏度,大幅度降低模型計(jì)算量。在SST-2、CoLA、RTE數(shù)據(jù)集上,該優(yōu)化方法得到的模型在精度上甚至超過(guò)了基線。
本文提出的方法在各方面也優(yōu)于Sanger稀疏模式,包括稀疏度和最終的模型精度。但本文所提出優(yōu)化方法是非結(jié)構(gòu)化稀疏模式,該稀疏模式具有稀疏度高和難以在通用平臺(tái)加速等特點(diǎn),故下一步的工作展望為在專用的硬件平臺(tái)上充分利用其量化和稀疏特性,將量化剪枝的理論計(jì)算性能提升轉(zhuǎn)換為實(shí)際推理能耗和延遲的降低。