自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

單GPU就能壓縮模型,性能不變參數(shù)少25%!微軟提出模型稀疏化新方法

人工智能 新聞
今天要介紹的SliceGPT,則可以實(shí)現(xiàn)模型的事后稀疏。也就是說(shuō),在一個(gè)模型訓(xùn)練完了以后再進(jìn)行稀疏化操作。

眾所周知,對(duì)于大語(yǔ)言模型來(lái)說(shuō),規(guī)模越大,所需的算力越大,自然占用的資源也就越多。

研究人員于是乎把目光轉(zhuǎn)到了這片領(lǐng)域,即模型的稀疏化(Sparsification)。

今天要介紹的SliceGPT,則可以實(shí)現(xiàn)模型的事后稀疏。也就是說(shuō),在一個(gè)模型訓(xùn)練完了以后再進(jìn)行稀疏化操作。

該模型由微軟研究院和蘇黎世聯(lián)邦理工學(xué)院聯(lián)合發(fā)表在了arXiv上。

目前主流的稀疏化技術(shù)面臨著挺多挑戰(zhàn)和困難。比方說(shuō),需要額外的數(shù)據(jù)結(jié)構(gòu),而且在當(dāng)下的硬件條件下,速度有限。

SliceGPT就能很好的解決這些問(wèn)題——它能用一個(gè)較小的矩陣來(lái)替換每個(gè)權(quán)重矩陣,從而降低網(wǎng)絡(luò)的嵌入維度。

而實(shí)際結(jié)果也是非常不錯(cuò)的,在LLAMA-2 70B、OPT 66B和Phi-2模型上,SliceGPT去除了多達(dá)25%的模型參數(shù),還保證了模型本身99%、99%以及90%的零樣本任務(wù)的性能。

此外,SliceGPT還可以在更少的GPU上運(yùn)行,無(wú)需額外的代碼優(yōu)化。

在24GB的消費(fèi)級(jí)GPU上,SliceGPT可以將LLAMA-2 70B總的推理計(jì)算量減少到密集模型的64%。

而在40GB的A100 GPU上,這個(gè)數(shù)字達(dá)到了66%。

而在SliceGPT背后的,則是Transformer網(wǎng)絡(luò)中的計(jì)算不變性。

下面,就讓我們走進(jìn)論文來(lái)一探究竟。

優(yōu)勢(shì)所在

大語(yǔ)言模型(LLM)是擁有數(shù)十億個(gè)參數(shù)的神經(jīng)網(wǎng)絡(luò),以數(shù)萬(wàn)億詞庫(kù)為基礎(chǔ)進(jìn)行訓(xùn)練。

這種過(guò)高的成本就導(dǎo)致人們會(huì)轉(zhuǎn)向在多個(gè)任務(wù)中重復(fù)使用預(yù)先訓(xùn)練好的模型,我們稱(chēng)為基礎(chǔ)模型范式。

LLM的規(guī)模越來(lái)越大,這使得部署預(yù)訓(xùn)練模型成為一項(xiàng)昂貴的工作。許多模型需要多個(gè)GPU才能計(jì)算出預(yù)測(cè)結(jié)果,而且由于模型是自回歸的,因此需要神經(jīng)網(wǎng)絡(luò)的多次前向傳遞才能生成文本響應(yīng)。

因此,降低這些模型的計(jì)算要求就大有市場(chǎng)了。

目前,大多數(shù)主流的模型壓縮技術(shù)分為四類(lèi):蒸餾(distillation)、張量分解(tensor decomposition,包括低階因式分解)、剪枝(pruning)和量化(quantization)。

研究人員表示,雖然剪枝方法已經(jīng)存在了一段時(shí)間,但許多方法需要在剪枝后進(jìn)行恢復(fù)微調(diào)(RFT)以保持性能,這使得整個(gè)過(guò)程成本十分高昂,且難以進(jìn)行擴(kuò)展。

有了SliceGPT,開(kāi)發(fā)人員現(xiàn)在只需幾個(gè)小時(shí)就能使用單個(gè)GPU來(lái)壓縮大型模型,即使沒(méi)有RFT的幫助,也能在生成和下游任務(wù)中繼續(xù)保持有競(jìng)爭(zhēng)力的性能。

剪枝方法的工作原理是將LLM中權(quán)重矩陣的某些元素設(shè)置為零,并更新矩陣的周?chē)匾赃M(jìn)行補(bǔ)償。

結(jié)果就是,形成了稀疏模式,意味著在神經(jīng)網(wǎng)絡(luò)前向傳遞所需的矩陣乘法中,可以跳過(guò)一些浮點(diǎn)運(yùn)算。運(yùn)算速度的相對(duì)提升取決于稀疏程度和稀疏模式。

與其他剪枝方法不同,SliceGPT會(huì)徹底剪掉(slice的由來(lái))權(quán)重矩陣的整行或整列。在切分之前,研究人員會(huì)對(duì)網(wǎng)絡(luò)進(jìn)行一次轉(zhuǎn)換,使預(yù)測(cè)結(jié)果保持不變,因此切分只會(huì)產(chǎn)生很小的影響。

結(jié)果就是權(quán)重矩陣變小了,神經(jīng)網(wǎng)絡(luò)塊之間傳遞的信號(hào)也變小了,成功降低神經(jīng)網(wǎng)絡(luò)的嵌入維度。

下圖比較了SliceGPT和現(xiàn)有的稀疏性方法之間的優(yōu)勢(shì),主要體現(xiàn)在以下四個(gè)方面:

1. 引入了計(jì)算不變性的概念:證明了可以對(duì)Transformer中的每個(gè)權(quán)重矩陣進(jìn)行正交矩陣變換,而無(wú)需改變模型。

2. 利用這一點(diǎn)來(lái)編輯Transformer架構(gòu)中的每個(gè)區(qū)塊,從而將區(qū)塊間的信號(hào)矩陣1投影到其自身上,之后移除變換后權(quán)重矩陣的列或行,以減小模型的大小。

3. 研究人員在OPT和LLAMA-2等模型上進(jìn)行了多次實(shí)驗(yàn),最終結(jié)果表明,SliceGPT能夠?qū)⑦@些模型壓縮到高達(dá)30%。此外,在下游任務(wù)中,研究人員還對(duì)Phi-2模型進(jìn)行了實(shí)驗(yàn),結(jié)果表明所有模型的壓縮率最高可達(dá)30%,同時(shí)還能保持 90%以上的密集性能。

計(jì)算不變性

SliceGPT依賴(lài)Transformer架構(gòu)中所固有的計(jì)算不變性(computational invariance)。

意思就是,研究人員可以對(duì)一個(gè)組件的輸出進(jìn)行正交變換,只要在下一個(gè)組件中撤銷(xiāo)即可。

在網(wǎng)絡(luò)區(qū)塊之間執(zhí)行的 RMSNorm操作不會(huì)影響變換,原因在于這些操作是相通的。

首先,研究人員介紹了在RMSNorm連接的Transformer網(wǎng)絡(luò)中,是如何實(shí)現(xiàn)不變性的。然后說(shuō)明如何將使用 LayerNorm連接訓(xùn)練的網(wǎng)絡(luò)轉(zhuǎn)換為RMSNorm。

研究人員引入了主成分分析法(PCA)計(jì)算各層變換的方法,從而將區(qū)塊間的信號(hào)投射到其主成分上。

最后,再講講刪除次要主成分和剪掉修改后網(wǎng)絡(luò)的行或列是如何對(duì)應(yīng)上的。

第一,假設(shè)Q是一個(gè)正交矩陣,那么有:

圖片

而用向量x乘以Q并不會(huì)改變向量的常模,因?yàn)椋?/span>

圖片

這里,Q的尺寸總是與Transformer D的嵌入尺寸相匹配。

現(xiàn)在假設(shè)X?是Transformer一個(gè)區(qū)塊的輸出,經(jīng)過(guò)RMSNorm的處理后,以RMSNorm(X?)的形式輸入到下一個(gè)區(qū)塊。

如果在RMSNorm之前插入具有正交矩陣Q的線性層,并在RMSNorm之后插入Q?,網(wǎng)絡(luò)將保持不變,因?yàn)樾盘?hào)矩陣的每一行都要乘以Q,然后進(jìn)行歸一化處理,再乘以Q?。就有:

現(xiàn)在,由于網(wǎng)絡(luò)中的每個(gè)注意力(attention)或FFN模塊都對(duì)輸入和輸出進(jìn)行了線性運(yùn)算,我們可以將額外的運(yùn)算 Q吸收到模塊的線性層中。

由于網(wǎng)絡(luò)包含殘差連接,此時(shí)還必須將Q應(yīng)用于所有前層(一直到嵌入)和所有后續(xù)層(一直到LM Head)的輸出。

不變函數(shù)是指輸入變換不會(huì)導(dǎo)致輸出改變的函數(shù)。

在舉例中,研究人員可以對(duì)transformer的權(quán)重應(yīng)用任何正交變換Q而不改變其結(jié)果,因此計(jì)算可以在任何變換狀態(tài)下進(jìn)行。

這就是所謂的計(jì)算不變性,如下圖定理所示。

接下來(lái),由于transformer網(wǎng)絡(luò)的計(jì)算不變性?xún)H適用于RMSNorm連接的網(wǎng)絡(luò),因此在處理LayerNorm網(wǎng)絡(luò)之前,研究人員先將LayerNorm的線性塊吸收到相鄰塊中,從而將網(wǎng)絡(luò)轉(zhuǎn)換為RMSNorm。

下圖表示了transformer網(wǎng)絡(luò)的這種轉(zhuǎn)換。

在每個(gè)區(qū)塊中,研究人員將輸出矩陣W(out)與均值減法矩陣M相乘,后者考慮了后續(xù)LayerNorm中的均值減法。

輸入矩陣W(in)被前一個(gè)LayerNorm塊的比例預(yù)乘。嵌入矩陣W(embd)必須進(jìn)行均值減法,而W(head)必須按最后一個(gè)LayerNorm的比例重新縮放。

這里只是操作順序的簡(jiǎn)單改變,不會(huì)影響輸出。

現(xiàn)在transformer中的每個(gè)LayerNorm都轉(zhuǎn)換為了RMSNorm,研究人員就可以選擇任意的Q來(lái)修改模型。

他們需要在每個(gè)區(qū)塊應(yīng)用不同的正交矩陣Q?。

此外,殘差連接和區(qū)塊的輸出必須具有相同的旋轉(zhuǎn)(rotation)。為了解決這個(gè)問(wèn)題,研究人員通過(guò)對(duì)殘差進(jìn)行線性變換Q? ?-1Q?來(lái)修改殘差連接。

下圖顯示了如何通過(guò)對(duì)殘差連接進(jìn)行額外的線性運(yùn)算,對(duì)不同的區(qū)塊進(jìn)行不同的旋轉(zhuǎn)。

與權(quán)重矩陣的修改不同,這些附加運(yùn)算無(wú)法預(yù)先計(jì)算。

盡管如此,研究人員還是需要這些操作來(lái)對(duì)模型進(jìn)行切分,而且可以看到整體速度確實(shí)加快了。

為了計(jì)算矩陣Q?,研究人員使用了PCA。首先從訓(xùn)練集中選擇一個(gè)校準(zhǔn)數(shù)據(jù)集,通過(guò)模型運(yùn)行該數(shù)據(jù)集(在將LayerNorm運(yùn)算轉(zhuǎn)換為RMSNorm 之后),并提取層的正交矩陣。

研究人員使用轉(zhuǎn)換后的網(wǎng)絡(luò)輸出來(lái)計(jì)算下一層的正交矩陣。

舉例來(lái)說(shuō),如果X?,i是校準(zhǔn)數(shù)據(jù)集中第i個(gè)序列的第?個(gè)RMSNorm塊的輸出,那么:

圖片

然后再將Q?設(shè)為C?的特征向量,按特征值遞減排序。

主成分分析的目標(biāo)通常是獲取數(shù)據(jù)矩陣X,并計(jì)算其低維表示Z和X的近似重構(gòu)。

其中第二個(gè)等式的左半部分,即代表X的近似重構(gòu)。

其中Q是X?X的特征向量,D是一個(gè)D×D(small)的刪除矩陣,用于刪除矩陣左邊的一些列。

下圖算式的最小化的線性映射是QD。

圖片

從這個(gè)意義上說(shuō),重構(gòu)L(2)是最佳的。

而當(dāng)對(duì)區(qū)塊間的信號(hào)矩陣X應(yīng)用PCA時(shí),研究人員從未將N×D信號(hào)矩陣具體化,而是將刪除矩陣D,應(yīng)用于構(gòu)建該矩陣之前和之后的運(yùn)算。

這些運(yùn)算在上述運(yùn)算中已乘以Q。

之后研究人員刪除W(in)的行以及W(out)和 W(embd)的列,同時(shí)還刪除了插入到剩余連接中的矩陣的行和列,矩陣如下所示:

圖片

責(zé)任編輯:張燕妮 來(lái)源: 新智元
相關(guān)推薦

2022-07-25 10:27:06

谷歌模型

2021-02-20 16:07:27

神經(jīng)網(wǎng)絡(luò)AI算法

2022-12-08 13:00:10

AI性別偏見(jiàn)

2020-04-28 15:16:14

Facebook AI模型

2024-09-03 14:10:00

模型測(cè)試

2024-12-30 07:11:00

大型視覺(jué)語(yǔ)言模型VLMs人工智能

2024-09-29 10:40:00

數(shù)據(jù)模型

2023-09-25 10:04:37

模型AI

2023-12-13 12:55:39

模型數(shù)據(jù)

2022-07-04 15:09:55

超大數(shù)據(jù)集數(shù)據(jù)分析瘦身

2024-09-02 14:37:50

2023-04-27 13:06:46

AI手機(jī)模型

2023-11-23 15:05:02

玻璃歸檔存儲(chǔ)微軟

2025-02-06 07:26:35

2023-06-07 17:55:01

模型性能

2010-06-18 09:48:22

2021-11-26 18:37:39

技術(shù)人工智能計(jì)算機(jī)

2015-07-20 11:49:56

Wi-Fi

2025-04-10 09:38:37

2020-05-14 14:21:50

谷歌AI數(shù)據(jù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)