大模型承重墻,去掉了就開(kāi)始擺爛!蘋(píng)果給出了「超級(jí)權(quán)重」
大模型的參數(shù)量越來(lái)越大,越來(lái)越聰明,但它們也越來(lái)越奇怪了。
兩年前,有研究者發(fā)現(xiàn)了一些古怪之處:在大模型中,有一小部分特別重要的特征(稱(chēng)之為「超權(quán)重」),它們雖然數(shù)量不多,但對(duì)模型的表現(xiàn)非常重要。
如果去掉這些「超權(quán)重」,模型就完全擺爛了,開(kāi)始胡言亂語(yǔ),文本都不會(huì)生成了。但是如果去掉其他一些不那么重要的特征,模型的表現(xiàn)只會(huì)受到一點(diǎn)點(diǎn)影響。
有趣的是,不同的大模型的「超權(quán)重」卻出奇地相似,比如:
它們總是出現(xiàn)在層中。
它們會(huì)放大輸入 token 激活的離群值,這種現(xiàn)象研究者們稱(chēng)之為「超激活」(super activation)。無(wú)論輸入什么提示詞,「超激活」在整個(gè)模型中都以完全相同的幅度和位置持續(xù)存在。而這源于神經(jīng)網(wǎng)絡(luò)中的「跨層連接」。
它們還能減少模型對(duì)常用但不重要的詞匯,比如「的」、「這」、「了」的注意力。
得到了這些發(fā)現(xiàn),圣母大學(xué)和蘋(píng)果的研究團(tuán)隊(duì)進(jìn)一步對(duì)「超權(quán)重」進(jìn)行了探索。
他們改進(jìn)了 round-to-nearest quantization(RNQ)技術(shù),提出了一種對(duì)算力特別友好的方法。
- 論文鏈接:https://arxiv.org/pdf/2411.07191
- 論文標(biāo)題:The Super Weight in Large Language Models
這種新方法與 SmoothQuant 效果相當(dāng),在處理模型的權(quán)重時(shí),可以用這種技術(shù)處理更大的數(shù)據(jù)塊,讓模型在變小的同時(shí),還能保持很好的效果。
看來(lái),蘋(píng)果是真的把寶押在小模型身上了!
什么是「超權(quán)重」?
為了量化「超權(quán)重」對(duì)模型的影響有多大,研究團(tuán)隊(duì)修剪了所有的離群值權(quán)重,結(jié)果發(fā)現(xiàn),去掉一個(gè)「超權(quán)重」的影響,比去掉其他 7000 個(gè)離群值權(quán)重加起來(lái)還要嚴(yán)重。
如何識(shí)別「超權(quán)重」?
雖然之前的研究者發(fā)現(xiàn)了「超權(quán)重」可以激活異常大的神經(jīng)網(wǎng)絡(luò)。該團(tuán)隊(duì)又把「超權(quán)重」和「超激活」之間的聯(lián)系向前推進(jìn)了一步。他們發(fā)現(xiàn)在降維投影之前,門(mén)控和上投影的 Hadamard 乘積產(chǎn)生了一個(gè)相對(duì)較大的激活,而「超權(quán)重」進(jìn)一步放大了這個(gè)激活并創(chuàng)造了「超激活」。
而通過(guò)激活的峰值可以進(jìn)一步定位「超權(quán)重」。基于此,研究團(tuán)隊(duì)提出了一種高效的方法:通過(guò)檢測(cè)層間降維投影輸入和輸出分布中的峰值來(lái)定位「超權(quán)重」。
這種方法只需要輸入一個(gè)提示詞,非常簡(jiǎn)單方便,不再需要一組驗(yàn)證數(shù)據(jù)或具體示例了。
具體來(lái)說(shuō),假設(shè)存在降維投影權(quán)重矩陣,其中 D 表示激活特征的維度,H 是中間隱藏層的維度。設(shè)
為輸入矩陣,其中 L 表示序列長(zhǎng)度。定義輸出矩陣為
;「超激活」為
。如果 X_ik 和 W_jk 都是遠(yuǎn)大于其他值的異常值,那么 Y_ij 的值將主要由這兩個(gè)異常值的乘積決定。
在這種情況下,j 和 k 是由 X_ik 和 Y_ij 的值決定的。因此,可以首先繪制出 mlp.down proj 層的輸入和輸出激活中的極端異常值。接著,如圖 3 所示,確定超權(quán)重所在的層和坐標(biāo)。
一旦檢測(cè)到一個(gè)超權(quán)重,將其從模型中移除并重復(fù)上述過(guò)程,直到抑制住較大的最大激活值。
「超權(quán)重」的機(jī)制
- 「超權(quán)重」的影響
研究團(tuán)隊(duì)發(fā)現(xiàn)超級(jí)權(quán)重有兩種主要影響:
- 引發(fā)「超激活」;
- 抑制了停用詞(stopword)的生成概率。
為了探究「超權(quán)重」是完全通過(guò)「超激活」,還是也通過(guò)其他 token 來(lái)影響模型質(zhì)量,研究團(tuán)隊(duì)設(shè)計(jì)了一個(gè)控制變量實(shí)驗(yàn):
- 原始模型;
- 移除「超權(quán)重」,將其權(quán)重設(shè)置為 0;
- 移除「超權(quán)重」,但恢復(fù)神經(jīng)網(wǎng)絡(luò)層中的「超激活」。
實(shí)驗(yàn)結(jié)果如表 1 所示?;謴?fù)「超激活」后,模型的平均準(zhǔn)確率從 35.14 恢復(fù)到 49.94,恢復(fù)「超激活」挽回了約 42% 的質(zhì)量損失。
這表明,「超權(quán)重」對(duì)模型整體質(zhì)量的影響并不完全由「超激活」所導(dǎo)致。
- 「超權(quán)重」對(duì)輸出 token 概率分布的影響
「超權(quán)重」會(huì)影響輸出 token 的概率分布。為此,該團(tuán)隊(duì)研究了「超權(quán)重」對(duì) Lambaba 測(cè)試集的 500 個(gè) prompt 的輸出 token 概率分布有何影響。
實(shí)驗(yàn)表明,移除「超權(quán)重」后,停用詞的生成概率顯著放大。例如,對(duì)于 Llama-7B 模型,「the」的生成概率增加約 2 倍,「.」 增加約 5 倍,「,」 增加約 10 倍
為了更加深入地剖析,研究團(tuán)隊(duì)進(jìn)行了案例研究:
- 輸入 prompt 為:「Summer is hot. Winter is 」
- 下一個(gè) token 應(yīng)為「cold」,這是一個(gè)具有強(qiáng)語(yǔ)義的詞。
含有「超權(quán)重」的原始模型能夠以 81.4% 的高概率正確預(yù)測(cè)。然而,移除「超權(quán)重」后,模型預(yù)測(cè)的最多的詞變成了停用詞「the」,并且「the」的概率僅為 9.0%,大多數(shù)情況是在胡言亂語(yǔ)。
這表明,「超權(quán)重」對(duì)于模型正確且有信心地預(yù)測(cè)具有語(yǔ)義的詞匯至關(guān)重要。
- 「超權(quán)重」的重要性
研究團(tuán)隊(duì)還分析了超級(jí)權(quán)重幅值變化對(duì)模型質(zhì)量的影響,通過(guò)將超級(jí)權(quán)重按 0.0 到 3.0 的縮放因子放大。結(jié)果表明,適度放大幅值可以提升模型準(zhǔn)確率,詳見(jiàn)下圖。
超離群值感知量化
量化是一種壓縮模型和減少內(nèi)存需求的強(qiáng)大技術(shù)。然而,無(wú)論是權(quán)重量化還是激活量化,異常值的存在都會(huì)大大降低量化質(zhì)量。如前所述,研究者將這些有問(wèn)題的異常值(包括超權(quán)值和超激活值)稱(chēng)為超異常值。
如上所示,這些超離群值對(duì)模型質(zhì)量的重要性是不成比例的,因此在量化過(guò)程中保留它們至關(guān)重要。
量化一般是將連續(xù)值映射到一個(gè)有限的值集;這里考慮的是其中一種最簡(jiǎn)單的形式,即非對(duì)稱(chēng)輪至最近量化:
其中是量化步長(zhǎng),N 是比特?cái)?shù)。請(qǐng)注意,計(jì)算 ? 時(shí)使用的是最大值,因此 X 中的超離群值會(huì)大大增加步長(zhǎng)。步長(zhǎng)越大,離群值平均會(huì)被舍入到更遠(yuǎn)的值,從而增加量化誤差。隨著超離群值的增加,離群值被舍入到更少的離散值中,更多的量化 bin 未被使用。這樣,超離群值就會(huì)導(dǎo)致量化保真度降低。
研究者特別考慮了硬件以半精度執(zhí)行運(yùn)算的情況,這意味著張量 X 在使用前會(huì)進(jìn)行量化和去量化;在這種情況下,我們可以通過(guò)兩種方法利用超離群值的先驗(yàn)知識(shí)。
首先,保留超離群值,防止對(duì)離群值量化產(chǎn)生不利影響。其次,在去量化后恢復(fù)超離群值,以確保超離群值的效果得以保留。
接下來(lái)將以?xún)煞N形式對(duì)權(quán)重和激活采用這一觀點(diǎn)。
激活量化
研究者使用值舍入量化技術(shù)進(jìn)行實(shí)驗(yàn),并做了一個(gè)小修改:用中值替換超激活(REPLACE),量化(Q)和去量化(Q-1)激活,然后在 FP16 中恢復(fù)超激活(RESTORE)。具體操作如下:
由于超激活是單個(gè)標(biāo)量,因此對(duì)比特率和內(nèi)核復(fù)雜度的影響不大。
權(quán)重量化
小規(guī)模分組會(huì)帶來(lái)計(jì)算和比特率開(kāi)銷(xiāo),需要其他技術(shù)來(lái)處理大量的半精度刻度和偏差。為了應(yīng)對(duì)這一挑戰(zhàn),本文提出了一種簡(jiǎn)單的方法來(lái)改進(jìn) INT4 的大塊量化。首先,識(shí)別超權(quán)重;其次,為了改善離群值擬合,對(duì)離群值權(quán)重進(jìn)行剪切(CLIP),在這一步超權(quán)重也會(huì)被剪切,對(duì)剪切后的權(quán)重進(jìn)行量化(Q)和去量化(Q-1);然后,為了確保保留超權(quán)重的效果,在去量化后恢復(fù)半精度超權(quán)重(RESTORE)。
如上公式,使用 z-score 對(duì)剪切進(jìn)行參數(shù)化。假定所有權(quán)重都符合高斯分布,研究者認(rèn)為所有 z 值超過(guò)某一閾值 z 的值都是離群值。為了調(diào)整超參數(shù) z,研究者使用 Wikitext-2 訓(xùn)練集中的 500 個(gè)示例找到了最小重構(gòu)誤差 z-score。
實(shí)驗(yàn)
為了全面展示超權(quán)重的效果,研究者在 LLaMA 7B-30B、Mistral 7B 和 OLMo 上進(jìn)行了實(shí)驗(yàn)。為了評(píng)估 LLM 的實(shí)際應(yīng)用能力,他們?cè)u(píng)估了這些模型在 PIQA、ARC、HellaSwag、Lambada 和 Winogrande 等零樣本基準(zhǔn)上的精度。細(xì)節(jié)如下所示。
激活量化
表 3 比較了本文方法和 SmoothQuant。對(duì)于兩個(gè)數(shù)據(jù)集上的三個(gè) Llama 模型,本文方法比 SmoothQuant 的 naive 量化方法提高了 70%。在使用 Llama7B 的 C4 數(shù)據(jù)集和使用 Llama-30B 的 Wikitext 數(shù)據(jù)集上,本文改進(jìn)幅度超過(guò) SmoothQuant 的 80%。這意味著,與更復(fù)雜的方法相比,經(jīng)過(guò)大幅簡(jiǎn)化的量化方法可以獲得具有競(jìng)爭(zhēng)力的結(jié)果。
隨后,研究者擴(kuò)大了評(píng)估范圍,納入了更多的 LLM:OLMo(1B 和 7B)、Mistral-7B 和 Llama-2-7B,結(jié)果如表 4 和附錄表 7 所示。這些模型代表了不同的架構(gòu)和訓(xùn)練范式,能夠評(píng)估量化方法的通用性。由于 SmoothQuant 沒(méi)有報(bào)告這組模型,因此研究者將他們的結(jié)果與 naive W8A8 量化進(jìn)行了比較。在所有模型和數(shù)據(jù)集上,本文方法始終優(yōu)于 naive W8A8 量化,且在 OLMo 模型上表現(xiàn)特別突出。
值得注意的是,OLMo 模型使用非參數(shù)化 LayerNorm,因此與 SmoothQuant 方法不兼容,后者依靠 LayerNorm 權(quán)重來(lái)應(yīng)用每個(gè)通道的比例。在 Mistral-7B 上,改進(jìn)幅度較小。研究者假設(shè)這是因?yàn)檫@些模型的 LayerNorm 所學(xué)習(xí)的權(quán)重可能會(huì)積極抑制超激活,從而使激活幅度的分布更加均勻。
這些結(jié)果凸顯了超激活在量化過(guò)程中保持模型性能的重要性。通過(guò)以最小的計(jì)算開(kāi)銷(xiāo)解決這一單一激活,本文方法捕捉到了更復(fù)雜的量化方案所實(shí)現(xiàn)的大部分優(yōu)勢(shì)。這一發(fā)現(xiàn)表明,在量化過(guò)程中,超激活在保持模型質(zhì)量方面發(fā)揮著不成比例的巨大作用。
權(quán)重量化
為了評(píng)估所提出的超權(quán)重感知量化方法的有效性,研究者將其與傳統(tǒng)的 round-to-near 量化方法進(jìn)行了比較,在一套零樣本下游任務(wù)中對(duì)模型進(jìn)行了評(píng)估,結(jié)果如圖 7 所示。
在傳統(tǒng)的 round-to-near 量化方法中,可以觀察到一個(gè)明顯的趨勢(shì):隨著塊大小的增加,模型質(zhì)量明顯下降。這種下降可能是由于當(dāng)較大的權(quán)重塊一起量化時(shí),量化誤差會(huì)增加,從而使異常值影響到更多的權(quán)重。相比之下,本文的「超權(quán)重」感知量化方法對(duì)更大的塊大小具有更強(qiáng)的魯棒性。隨著塊大小的增大,模型質(zhì)量的下降明顯小于 round-to-near 方法。
這種魯棒性源于本文方法能夠保留最關(guān)鍵的權(quán)重(超權(quán)重),同時(shí)將離群值權(quán)重對(duì)整個(gè)量化過(guò)程的影響降至最低。通過(guò)剪除離群值并關(guān)注離群值權(quán)重,本文的方法在表示模型參數(shù)時(shí)保持了更高的保真度。
還有一個(gè)關(guān)鍵優(yōu)勢(shì)是,它能夠支持更大的數(shù)據(jù)塊尺寸,同時(shí)減少模型質(zhì)量的損失。這種能力使平均比特率更低,文件尺寸更小,這對(duì)于在資源有限的環(huán)境(如移動(dòng)設(shè)備或邊緣計(jì)算場(chǎng)景)中部署模型至關(guān)重要。
更多研究細(xì)節(jié),可參考原論文。