目錄
電驅SparseGPT演算法
SparseGPT :高稀疏化水平,低精度損失
較大的模型更容易稀疏化
首頁 科技週邊 人工智慧 首個千億模型壓縮演算法 SparseGPT 來了,降低算力成本的同時保持高精度

首個千億模型壓縮演算法 SparseGPT 來了,降低算力成本的同時保持高精度

Apr 12, 2023 pm 01:01 PM
sparsegpt 降低算力 成本

自 2020 年 GPT-3 橫空出世以來,ChatGPT 的爆火再一次將 GPT 家族的生成式大型語言模型帶到聚光燈下,它們在各種任務中都已顯示出了強大的性能。

但模型的龐大規模也帶來了計算成本的上升和部署難度的增加。

例如,GPT‑175B 車型總計至少佔 320GB 半精確度  (FP16)  格式的儲存空間,在推理時,起碼需要五個 80 GB 儲存空間的 A100 GPU。

模型壓縮(model compression)是目前使用較多的一種降低大模型計算成本的方法,但迄今為止,幾乎所有現有的GPT 壓縮方法都專注於量化(quantization),即降低單一權重的數值表示的精確度。

另一種模型壓縮方法是剪枝(pruning),即刪除網路元素,包括從單一權重(非結構化剪枝)到更高粒度的元件如權重矩陣的整行/列(結構化剪枝)。這種方法在視覺和較小規模的語言模型中很有效,但會導致精度損失,從而需要對模型進行大量再訓練來恢復精度,所以遇到像GPT 這樣大規模的模型時,成本就又變得過於昂貴了。雖然也有一些單次剪枝方法,無需重新訓練即可壓縮模型,但它們計算量太大,難以應用於具有數十億參數的模型。

那麼針對 GPT-3 這種規模的大模型,有沒有一種方法能夠對其作精確的剪枝、同時保持最小的精度損失且降低計算成本?

近日,來自奧地利科學技術研究所(ISTA) 的兩名研究人員Elias Frantar 和Dan Alistarh 合作了一項研究,首次針對100 至1000 億參數的模型規模,提出了精確的單次剪枝方法SparseGPT。

首個千億模型壓縮演算法 SparseGPT 來了,降低算力成本的同時保持高精度

論文網址:https://arxiv.org/pdf/2301.00774.pdf

#SparseGPT 可以將GPT 系列模型單次剪枝到50% 的稀疏性,而無需任何重新訓練。目前最大的公開可用的 GPT-175B 模型,只需要使用單一 GPU 在幾個小時內就能實現這種剪枝。

而且,SparseGPT 還很準確,能將精度損失降到最小。例如在目前最大的開源模式 OPT‑175B 和 BLOOM‑176B 上執行SparseGPT 時,可以達到 60% 的稀疏度,同時將精確度損失降到最小。

電驅SparseGPT演算法

#超大模型的研究近年來非常活躍,但到目前為止,還沒有一個百億參數以上的模型能夠實現非常準確的高度稀疏化。

現有方法對計算成本的要求都過高,以目前最準確的訓練後方法OBC 為例,對於十億參數模型,它需要1 小時以上的時間來進行壓縮。已知最快的訓練後方法 AdaPrune 也需要幾分鐘來對十億參數模型進行剪枝,以此速度,GPT-3 規模的模型估計需要數百小時(幾週)的計算。

大多數現有的剪枝方法如漸進幅度剪枝(gradual magnitude pruning),需要在剪枝步驟後進行大量的再訓練以恢復準確性,而GPT 規模的模型通常需要大量的用於訓練或微調的計算量和參數調整量,這使得基於再訓練的方法難以應用。因此,在 GPT 規模上應用這種漸進的剪枝方法是行不通的。

ISTA 團隊的這項工作提出了SparseGPT 方法,可以實現幾個小時內在單一GPU 上運行千億以上參數的模型,並且足夠準確,可將模型修剪到50 %-60% 的稀疏度水平,而不會大幅降低效能。

SparseGPT 的核心是一種新的大規模近似稀疏回歸演算法,它可以推廣到半結構化(2:4 和4:8)模式,並且與現有的權重量化方法相容。

首個千億模型壓縮演算法 SparseGPT 來了,降低算力成本的同時保持高精度

大多數現有的剪枝方法如漸進幅度剪枝(gradual magnitude pruning),需要在剪枝步驟後進行大量的再訓練以恢復準確性,而GPT 規模的模型通常需要大量的用於訓練或微調的計算量和參數調整量,這使得基於再訓練的方法難以應用。因此,在 GPT 規模上應用這種漸進的剪枝方法是行不通的。

SparseGPT 是針對 GPT 規模模型的後訓練(post-training)方法,因為它不執行任何微調。

#

目前有許多量化 GPT 規模模型的後訓練的方法,如 ZeroQuant、LLM.int8()  和 nuQmm 等,但由於異常特徵的存在,激活量化可能會很困難。 GPTQ 利用近似二階資訊將權重精確量化到 2‑4 位元,適用於最大的模型,當它與高效的 GPU 核心結合時,可以帶來2‑5 倍的推理加速。

但由於 GPTQ 專注於稀疏化而不是量化,因此 SparseGPT是量化方法的補充,二者可以結合應用。

另外,除了非結構化修剪,SparseGPT 也適用於半結構化的模式,例如流行的n:m 稀疏格式,在Ampere NVIDIA GPU 上可以2:4 的比例實現加速。

SparseGPT :高稀疏化水平,低精度損失

對SparseGPT 壓縮模型的效果進行評估後,研究人員發現,大型語言模型進行稀疏化的難度與模型大小成比例,與現有的幅度剪枝(Magnitude Pruning)方法相比,使用SparseGPT 能夠實現更高的模型稀疏化程度,同時保持最低限度的精度損失。

研究人員在 PyTorch 上實現了 SparseGPT,並使用 HuggingFace 的 Transformers 庫來處理模型和資料集,並且都在具有 80GB 記憶體的單一 NVIDIA  A100 GPU 上進行。在這樣的實驗條件下,SparseGPT 可以在大約 4 小時內對 1750 億參數的模型實現完全稀疏化。

研究人員依序稀疏 Transformer  層,這顯著降低了記憶體需求,並且還大大提高了並行處理所有層的準確性。所有的壓縮實驗都是一次性進行,沒有任何微調。

評估物件主要是 OPT 系列模型,包含從 1.25 億到 1750 億參數的一套模型,方便觀察剪枝相對於模型大小的縮放表現。另外也分析了 BLOOM 的 1760 億參數變體。

在資料集和評估指標方面,實驗採用了原始WikiText2 測試集的困惑度來評估SparseGPT 壓縮方法的準確性,同時為了增加可解釋性,也使用了一些ZeroShot 精準度指標。另外,評估的重點在於稀疏模型相對於密集模型基準的準確性,而非絕對數字。

研究人員對OPT 整個模型系列的所有線性層進行剪枝(不包括標準的嵌入和頭部),分別達到50% 的非結構化稀疏度、全4 :8 或全2:4 的半結構化稀疏度,結果如下圖。

首個千億模型壓縮演算法 SparseGPT 來了,降低算力成本的同時保持高精度

可見,使用幅度剪枝來壓縮的模型準確度在所有尺寸上都很糟糕,而且模型越大,準確度下降得越厲害。

而使用 SparseGPT 來壓縮的模型趨勢不同,在 27 億參數下,困惑度損失

較大的模型更容易稀疏化

一個總的趨勢是,較大的模型更容易稀疏化,在固定的在稀疏度水準下,稀疏模型相對於密集模型的相對精度下降會隨著模型大小的增加而縮小。作者推測這可能是由於它們的參數化程度較高,整體上抗噪能力也較強。

相比於密集模型基線,在最大規模下,使用SparseGPT 將模型壓縮至4:8 和2:4 稀疏度時,困惑度增長分別僅為0.11 和0.39 。這樣的結果意味著,我們可以在實踐中實現 2 倍的加速,商用的 NVIDIA Ampere GPU 對 2:4 的稀疏度已經有了支援。

作者研究了 OPT-175B 和 BLOOM-176B 兩個千億模型的表現與使用 SparseGPT 帶來的稀疏程度之間的關係,結果下圖所示。

首個千億模型壓縮演算法 SparseGPT 來了,降低算力成本的同時保持高精度

可以看到,對於OPT-175B 模型,幅度剪枝最多可以實現10% 的稀疏度,緊接著就會有較大的精度損失。而 SparseGPT 在困惑度增加的下還能達到 60% 的稀疏度。

首個千億模型壓縮演算法 SparseGPT 來了,降低算力成本的同時保持高精度

#

对于 BLOOM-176B 模型,尽管幅度剪枝可以达到 30% 的稀疏度而没有显著的精度损失,但相比之下,SparseGPT 可以实现 50% 的稀疏度,即 1.66 倍的提升。而且,在 80% 的稀疏度下,使用 SparseGPT 压缩的模型的困惑度仍然保持在合理水平,但幅度剪枝在达到 OPT 的 40% 稀疏度和 BLOOM 的 60% 稀疏度时,困惑度就已经 > 100。

另外,SparseGPT 能够从这些模型中移除大约 1000 亿个权重,对模型准确性的影响有限。

最后总结一下,该研究首次表明,基于 Transformer 的大规模预训练模型可以通过一次性权重修剪压缩到高稀疏性,无需任何再训练,精度损失也很低。

值得注意的是,SparseGPT 的方法是局部的:在每个修剪步骤之后,它都会执行权重更新,旨在保留每一层的输入输出关系,这些更新是在没有任何全局梯度信息的情况下计算的。因此,大规模 GPT 模型的高度参数化似乎使这种方法能够直接识别密集预训练模型“近邻”中的稀疏精确模型。

另外,由于实验所采用的的准确度指标(困惑度)非常敏感,因此生成的稀疏模型输出似乎与密集模型的输出密切相关。

这项研究在缓解大模型的算力限制方面具有很大的积极意义,将来的一个工作方向是研究大模型的微调机制来进一步恢复精度,同时,扩大 SparseGPT 的方法在模型训练期间的适用性,将会减少训练大模型的计算成本。​

以上是首個千億模型壓縮演算法 SparseGPT 來了,降低算力成本的同時保持高精度的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

路徑圖展示了AI '替代” 人類職業的趨勢 路徑圖展示了AI '替代” 人類職業的趨勢 Jan 04, 2024 pm 04:32 PM

我昨天看到了一張有趣的圖片,上面是一個「AI取代人類路徑的級別圖」。圖片根據圖中的顯示,遊戲分為六個不同的等級,從E1到E8+。從圖中我們可以觀察到,人工智慧(AI)正在取代人類在不同領域的應用。而人工智慧的應用領域路徑則是由其容錯率來決定的。簡言之,這裡的容錯率就是指試錯所帶來的成本。 AI將逐漸取代從容錯率較高到較低的行業,並逐漸「取代」人類職業。以往,我們常認為創意型的工作需要依賴人類的思維,是不容易被取代的。然而,隨著人工智慧的發展,這種看法似乎並不完全正確。像創意類的工作往往沒有固定答案

首個千億模型壓縮演算法 SparseGPT 來了,降低算力成本的同時保持高精度 首個千億模型壓縮演算法 SparseGPT 來了,降低算力成本的同時保持高精度 Apr 12, 2023 pm 01:01 PM

自 2020 年 GPT-3 橫空出世以來,ChatGPT 的爆火再一次將 GPT 家族的生成式大型語言模型帶到聚光燈下,它們在各種任務中都已顯示出了強大的性能。但模型的龐大規模也帶來了計算成本的上升和部署難度的增加。例如,GPT‑175B 模型總計至少佔 320GB 半精度 (FP16) 格式的儲存空間,在推理時,起碼需要五個 80 GB 儲存空間的 A100 GPU。模型壓縮(model compression)是目前使用較多的一種降低大模型計算成本的方法,但迄今為止,幾乎所有現有的

雲端生成式AI:自建還是購買? 雲端生成式AI:自建還是購買? Dec 19, 2023 pm 08:15 PM

大衛林思高編譯|言徵51CTO技術棧(微訊號:blog51cto)的出品在技術領域有一個不成文的規則:大家都喜歡採用別人的技術。但對許多企業來說,生成式人工智慧似乎不符合這項模式生成式AI正迅速推動一些關鍵決策。每個組織都面臨一個重要的選擇:是內部建立客製化的生成式AI平台,還是從AI供應商購買預先包裝的解決方案(通常是作為雲端服務提供)DIY有利於數量和機會。這很奇怪,但原因可能會讓你感到驚訝。它們甚至可能會引導您重新思考您的企業genAI策略1、完整的客製化和控制重寫內容如下:建立一個

將1轉換為N的最小成本,可以透過乘以X或數字的右旋轉來實現 將1轉換為N的最小成本,可以透過乘以X或數字的右旋轉來實現 Sep 12, 2023 pm 08:09 PM

我們可以使用以下技術來找到乘以X或將其數字從1右旋轉到N的最便宜方法。若要監控初始最低成本,請建立一個成本變數。當從N到1時,檢查每個階段N是否被X整除。如果是,則將N除以X來更新它並繼續該過程。如果N不能被X整除,則將N的數字向右循環以增加其值。在這種情況下增加成本變數。最終的成本變數值將是將1變成N所需的最少數量。該演算法有效地確定使用數位旋轉或乘法進行所需轉換所需的最少操作。使用的方法NaiveApproach:數字的右旋轉高效方法:乘以X簡單的方法:數字右旋天真的方法是從數字1開始,反覆將其

C++程式用於計算機器人在網格中完成一次行程所需的總成本 C++程式用於計算機器人在網格中完成一次行程所需的總成本 Aug 25, 2023 pm 04:53 PM

假設我們有一個尺寸為hxw的網格。網格中的每個單元格包含一個正整數。現在有一個路徑查找機器人放置在特定的單元格(p,q)上(其中p是行號,q是列號),它可以移動到單元格(i,j)。移動操作有一個特定的成本,等於|p-i|+|q-j|。現在有q個旅行,具有以下屬性。每個旅行有兩個值(x,y),並且有一個共同的值d。機器人放置在一個值為x的單元格上,然後移動到另一個值為x+d的單元格。然後它移動到另一個值為x+d+d的儲存格。這個過程將繼續,直到機器人到達一個值大於或等於y的單元格。 y-x是d的倍數

使用 Java 函數的成本和定價因素是什麼? 使用 Java 函數的成本和定價因素是什麼? Apr 24, 2024 pm 12:54 PM

成本與定價因素:實例定價:依使用時間和函數配置計費。記憶體和CPU使用:使用量越大,成本越高。網路流量:與其他服務的通訊產生費用。儲存:持久性儲存需要單獨計費。實戰案例:調用10,000次、持續100毫秒的函數,成本約為0.000067美元(實例定價0.000055美元,網路流量0.000012美元)。

探究電動車輪胎價格之謎:環保動力背後的成本揭秘 探究電動車輪胎價格之謎:環保動力背後的成本揭秘 Aug 25, 2023 am 10:21 AM

随着全球范围内对环保意识的不断增强,各国纷纷倡导新能源汽车的发展,使得电动汽车成为汽车市场的一大亮点。然而,尽管电动汽车在减少碳排放和降低用车成本方面有着显著优势,却面临一个问题,即电动汽车的轮胎不仅价格更高,还更容易磨损。这个问题引发了广泛关注,专家对其原因进行了解释电动汽车的轮胎与传统轮胎不同,需要满足更高的性能标准。由于电动汽车较重,轮胎需要具备更高的承载能力和结构强度,这增加了设计和制造的成本。此外,电动汽车通常具有更强的加速和制动性能,因此轮胎需要更好的抓地力和耐热性能,这也增加了制造

曝 Meta 已放棄開發蘋果 Vision Pro 競賽 主要是成本太高 曝 Meta 已放棄開發蘋果 Vision Pro 競賽 主要是成本太高 Aug 27, 2024 pm 03:33 PM

根據外媒報道,Meta的技術長幾乎確認了該公司放棄開發能夠與蘋果VisionPro相媲美的設備。 MetaLaJolla在VisionPro發布之前,Meta宣布了其虛擬實境和混合實境耳機的四年發展規劃。其中一個重要部分是開發內部代號為LaJolla的產品,它本來有可能成為VisionPro的主要競爭對手。據了解,Meta於2023年11月開始了LaJolla的開發工作,但在2024年8月中旬左右叫停了該項目,原因可能是成本問題。據說這項決定是MetaCEO祖克柏和CTO安德魯·博斯沃思等人做

See all articles