吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

大模型壓縮首篇綜述來啦

深度學習自然語言處理 ? 來源:對白的算法屋 ? 2023-09-26 17:12 ? 次閱讀

近來,LLM以驚人的推理效果驚艷全世界,這得益于它巨大的參數量與計算任務。以GPT-175B模型為例,它擁有1750億參數,至少需要320GB(以1024的倍數計算)的半精度(FP16)格式存儲空間。此外,為了有效管理操作,部署該模型進行推理至少需要五個A100 GPU,每個GPU配備80GB內存。巨大的存儲與計算代價讓有效的模型壓縮成為一個亟待解決的難題。

來自中國科學院和人民大學的研究者們深入探討了基于LLM的模型壓縮研究進展并發表了該領域的首篇綜述《A Survey on Model Compression for Large Language Models》。

075235a8-5c36-11ee-939d-92fbcf53809c.jpg

論文鏈接:https://arxiv.org/pdf/2308.07633.pdf

模型壓縮涉及將大型資源密集型模型轉化為適合在受限移動設備上存儲的緊湊版本。此外,它還可以優化模型以實現更快的執行速度和最小的延遲,或在這些目標之間取得平衡。

該綜述主要圍繞針對LLMs的模型壓縮技術的方法、指標與基準展開,并將相關研究內容組成了一個新的分類,包括:

剪枝(Pruning)

知識蒸餾(Knowledge Distillation)

量化(Quantization)

低秩分解(Low-Rank Factorization)

075e1be8-5c36-11ee-939d-92fbcf53809c.jpg

圖1:針對大型語言模型的模型壓縮方法分類。

一、方法剪枝(pruning)剪枝指移除模型中不必要或多余的組件,比如參數,以使模型更加高效。通過對模型中貢獻有限的冗余參數進行剪枝,在保證性能最低下降的同時,可以減小存儲需求、提高內存和計算效率。論文將剪枝分為兩種主要類型:非結構化剪枝和結構化剪枝。 非結構化剪枝:指移除個別參數,而不考慮整體網絡結構。這種方法通過將低于閾值的參數置零的方式對個別權重或神經元進行處理。它會導致特定的參數被移除,模型出現不規則的稀疏結構。并且這種不規則性需要專門的壓縮技術來存儲和計算被剪枝的模型。此外,非結構化剪枝通常需要對LLM進行大量的再訓練以恢復準確性,這對于LLM來說尤其昂貴。SparseGPT [Frantar and Alistarh, 2023] 引入了一種一次性剪枝策略,無需重新訓練。該方法將剪枝視為一個廣泛的稀疏回歸問題,并使用近似稀疏回歸求解器來解決,實現了顯著的非結構化稀疏性。LoRAPrune [Zhang等, 2023a] 將參數高效調整(PEFT)方法與剪枝相結合,以提高下游任務的性能。它引入了一種獨特的參數重要性標準,使用了來自Low-Rank Adaption(LoRA)的值和梯度。Wanda [Sun等, 2023]提出了一種新的剪枝度量。它根據每個權重的大小以及相應輸入激活的范數的乘積進行評估,這個乘積是通過使用一個小型校準數據集來近似計算的。這個度量用于線性層輸出內的局部比較,使得可以從LLM中移除優先級較低的權重。 結構化剪枝:根據預定義規則移除連接或分層結構,同時保持整體網絡結構。這種方法一次性地針對整組權重,優勢在于降低模型復雜性和內存使用,同時保持整體的LLM結構完整。LLM-Pruner [Ma等, 2023] 采用了一種多功能的方法來壓縮LLMs,同時保護它們的多任務解決和語言生成能力。它引入了一個依賴檢測算法,以定位模型內部的相互依賴結構。它還實施了一種高效的重要性估計方法,考慮了一階信息和近似Hessian信息。

知識蒸餾(Knowledge Distillation,KD)

KD通過從一個復雜的模型(稱為教師模型)向一個簡化的模型(稱為學生模型)轉移知識來實現。在這一部分中,我們概述了使用LLM作為教師的蒸餾方法,并根據這些方法是否強調將LLM的涌現能力(EA)蒸餾到小型語言模型(SLM)中來進行分類,包括:Standard KD和EA-based KD。

0773b962-5c36-11ee-939d-92fbcf53809c.jpg

圖2:對語言模型知識蒸餾的簡要分類。 Standard KD旨在使學生模型學習LLM所擁有的常見知識,如輸出分布和特征信息。這種方法類似于傳統的KD,但區別在于教師模型是LLM。

MINILLM [Gu等,2023] 深入研究了從白盒生成LLMs進行蒸餾的方法,并選擇最小化反向KLD,防止了學生過高估計教師分布中的低概率區域,從而提高了生成樣本的質量。 GKD [Agarwal等,2023] 探索了從自回歸模型進行蒸餾的方法,其中白盒生成LLMs作為其中一個子集。它通過在訓練期間從學生模型中采樣輸出序列來處理分布不匹配問題,并通過優化替代的散度,如反向KL散度,來解決模型不足的問題。 相比之下,EA-based KD不僅僅是將LLM的常見知識轉移到學生模型中,還涵蓋了蒸餾它們獨特的涌現能力。具體來說,EA-based KD又分為了上下文學習(ICL)、思維鏈(CoT)和指令跟隨(IF)。 ICL采用了一個結構化的自然語言提示,其中包含任務描述和可能的一些演示示例。通過這些任務示例,LLM可以在不需要顯式梯度更新的情況下掌握和執行新任務。黃等人的工作引入了ICL蒸餾,將LLMs的上下文少樣本學習和語言建模能力轉移到SLMs中。它將上下文學習目標與傳統的語言建模目標相結合,并在兩種少樣本學習范式下探索了ICL蒸餾,即Meta-ICT 和 Multitask-ICT。 CoT與ICL相比,在提示中加入了中間推理步驟,這些步驟可以導致最終的輸出,而不是使用簡單的輸入-輸出對。MT-COT [Li等, 2022]旨在利用LLMs產生的解釋來增強較小的推理器的訓練。它利用多任務學習框架,使較小的模型具備強大的推理能力以及生成解釋的能力。Fine-tune-CoT [Ho等, 2023]通過隨機采樣從LLMs生成多個推理解決方案。這種訓練數據的增加有助于學生模型的學習過程。傅等人發現了語言模型的多維能力之間的權衡,并提出了微調的指令調整模型。他們從大型教師模型中提取CoT推理路徑以改進分布外泛化。謝等人在多任務框架內使用LLM原理作為額外的指導,訓練較小的模型。SOCRATIC CoT [Shridhar等, 2023]訓練了兩個蒸餾模型:問題分解器和子問題解決器。分解器將原始問題分解為一系列子問題,而子問題解決器則處理解決這些子問題。DISCO [Chen等, 2023]引入了一種基于LLMs的完全自動反事實知識蒸餾方法。它通過工程化的提示生成短語擾動,然后通過任務特定的教師模型將這些擾動數據過濾,以提取高質量的反事實數據。SCOTT [Wang等, 2023a]采用對比解碼,將每個原理與答案聯系起來。它鼓勵從教師那里提取相關的原理。此外,指導學生進行反事實推理并基于導致不同答案的原理進行預測。 IF僅依賴于任務描述而不依賴于少量示例。通過使用一系列以指令形式表達的任務進行微調,語言模型展現出能夠準確執行以前未見過的指令描述的任務的能力。Lion等, 2023]利用LLMs的適應性來提升學生模型的性能。它促使LLM識別和生成“困難”指令,然后利用這些指令來增強學生模型的能力。

07882ece-5c36-11ee-939d-92fbcf53809c.jpg

圖3:EA-based KD概述。a)上下文學習蒸餾,(b)思維鏈式蒸餾,(c)指令跟隨蒸餾。

量化(Quantization)

量化技術將傳統的表示方法中的浮點數轉換為整數或其他離散形式,以減輕深度學習模型的存儲和計算負擔。謹慎的量化技術,可以在僅有輕微精度降低的情況下實現大規模的模型壓縮。依據應用量化壓縮模型的階段,可以分為以下三種方法:量化感知訓練(Quantization-Aware Training,QAT):在QAT中,量化目標無縫地集成到模型的訓練過程中。這種方法使LLM在訓練過程中適應低精度表示,增強其處理由量化引起的精度損失的能力。這種適應旨在保持在量化過程之后的更高性能。LLM-QAT [Liu等,2023] 利用預訓練模型生成的結果來實現無數據蒸餾。此外,LLM-QAT不僅量化權重和激活,還量化關鍵-值(KV)緩存。這個策略旨在增強吞吐量并支持更長的序列依賴。LLM-QAT能夠將帶有量化權重和KV緩存的大型LLaMA模型蒸餾為僅有4位的模型。這一突破性的結果證明了制造準確的4位量化LLM的可行性。量化感知微調(Quantization-Aware Fine-tuning,QAF)QAF涉及在微調過程中對LLM進行量化。主要目標是確保經過微調的LLM在量化為較低位寬后仍保持性能。通過將量化意識整合到微調中,LLM旨在在模型壓縮和保持性能之間取得平衡。PEQA [Kim等,2023]和QLORA [Dettmers等,2023a]都屬于量化感知參數高效微調(PEFT)技術的范疇。這些技術側重于促進模型壓縮和加速推理。PEQA采用了雙階段過程。在第一階段,每個全連接層的參數矩陣被量化為低位整數矩陣和標量向量。在第二階段,對每個特定下游任務的標量向量進行微調。QLORA引入了新的數據類型、雙重量化和分頁優化器等創新概念。這些想法旨在在不影響性能的情況下節省內存。QLORA使得大型模型可以在單個GPU上進行微調,同時在Vicuna基準測試上實現了最先進的結果。訓練后量化(Post-Training Quantization,PTQ)PTQ涉及在LLM的訓練階段完成后對其參數進行量化。PTQ的主要目標是減少LLM的存儲和計算復雜性,而無需對LLM架構進行修改或進行重新訓練。PTQ的主要優勢在于其簡單性和高效性。然而,值得注意的是,PTQ可能會在量化過程中引入一定程度的精度損失。在PTQ中,某些方法專注于僅對LLM的權重進行量化,以提高效率并減少計算需求。LUT-GEMM [Park等,2022]通過僅對權重進行量化以及使用BCQ格式在LLM中優化矩陣乘法,通過提高計算效率來增強延遲降低和性能。LLM.int8() [Dettmers等,2022]對LLM transformers中的矩陣乘法采用8位量化,在推理過程中有效地減少GPU內存使用量,同時保持性能精度。該方法采用矢量量化和混合精度分解來處理異常值,以實現高效的推理。ZeroQuant [Yao等,2022]將硬件友好的量化方案、逐層知識蒸餾和優化的量化支持整合在一起,將Transformer-based模型的權重和激活精度減少到最小的INT8,并且對準確性幾乎沒有影響。GPTQ [Frantar等,2022]提出了一種基于近似二階信息的新型分層量化技術,使得每個權重的比特寬度減少到3或4位,與未壓縮版本相比,幾乎沒有準確性損失。Dettmers和Zettlemoyer通過分析推理縮放定律,深入探討了LLM中模型大小和位精度之間在零樣本性能方面的權衡。他們在各種LLM家族之間進行了廣泛的實驗,發現4位精度幾乎普遍是在總模型位數和零樣本準確性之間實現正確平衡的最佳選擇。AWQ [Lin等,2023]發現對于LLM的性能,權重并不是同等重要的,僅保護1%的顯著權重可以大大減少量化誤差。在此基礎上,AWQ采用了激活感知方法,考慮與較大激活幅度對應的權重通道的重要性,這在處理重要特征時起著關鍵作用。該方法采用逐通道縮放技術來確定最佳縮放因子,從而在量化所有權重的同時最小化量化誤差。OWQ [Lee等,2023]通過分析激活異常如何放大權重量化中的誤差,引入了混合精度量化方案,將更高的精度應用于易受激活異常影響的權重。SpQR [Dettmers等,2023b]確定并隔離了異常權重,將其存儲在更高的精度中,并將所有其他權重壓縮為3-4位。此外,許多PTQ中的工作嘗試對LLM的權重和激活進行量化。SmoothQuant [Xiao等,2022]解決了量化激活的挑戰,這往往由于異常值的存在而變得更加復雜。SmoothQuant觀察到不同的標記在它們的通道上展示出類似的變化,引入了逐通道縮放變換,有效地平滑了幅度,使得模型更易于量化。鑒于量化LLM中激活的復雜性,RPTQ [Yuan等,2023]揭示了不同通道之間不均勻范圍的挑戰,以及異常值的存在所帶來的問題。為了解決這個問題,RPTQ將通道策略性地分組為簇進行量化,有效地減輕了通道范圍的差異。此外,它將通道重排集成到層歸一化操作和線性層權重中,以最小化相關的開銷。OliVe [Guo等,2023]進一步采用了outlier-victim對(OVP)量化,并在低硬件開銷和高性能增益的情況下局部處理異常值,因為它發現異常值很重要,而其旁邊的正常值卻不重要。Outlier Suppression+ [Wei等,2023]通過確認激活中的有害異常呈現出不對稱分布,主要集中在特定通道中,引入了一種新的策略,涉及通道級的平移和縮放操作,以糾正異常的不對稱呈現,并減輕問題通道的影響,并定量分析了平移和縮放的最佳值,同時考慮了異常的不對稱性以及下一層權重引起的量化誤差。ZeroQuant-FP [Wu等,2023]探索了浮點(FP)量化的適用性,特別關注FP8和FP4格式。研究揭示,對于LLM,FP8激活在性能上持續優于INT8,而在權重量化方面,FP4在性能上與INT4相比具有可比性,甚至更優越。為了解決由權重和激活之間的差異引起的挑戰,ZeroQuant-FP要求所有縮放因子為2的冪,并將縮放因子限制在單個計算組內。值得注意的是,ZeroQuant-FP還集成了Low Rank Compensation (LoRC) 策略,以進一步增強其量化方法的有效性。 此外,將相關工作根據LLM權重中的位數(精度)進行分類,又可以分為8位量化和低位量化。

079f1346-5c36-11ee-939d-92fbcf53809c.jpg

圖4:對語言模型(LLM)的量化方法概述。我們將它們分為8位量化和低位量化兩類,根據LLM權重中的位數(即精度)來進行劃分。

低秩分解(Low-Rank Factorization)

低秩分解旨在通過將給定的權重矩陣分解成兩個或多個較小維度的矩陣,從而對其進行近似。低秩分解背后的核心思想是找到一個大的權重矩陣W的分解,得到兩個矩陣U和V,使得W≈U V,其中U是一個m×k矩陣,V是一個k×n矩陣,其中k遠小于m和n。U和V的乘積近似于原始的權重矩陣,從而大幅減少了參數數量和計算開銷。 在LLM研究的模型壓縮領域,研究人員通常將多種技術與低秩分解相結合,包括修剪、量化等,例如LoRAPrune [Zhang等,2023a]和ZeroQuant-FP [Wu等,2023],以實現更有效的壓縮同時保持性能。隨著這一領域的研究繼續進行,可能會在將低秩分解應用于壓縮LLM方面出現進一步的發展,但仍需要持續的探索和實驗來充分發揮其在LLM方面的潛力。

二、指標和基準指標Number of Parameters:LLM中可學習權重或變量的總數,LLM在訓練期間需要優化這些權重。 Model Size:指存儲整個LLM所需的磁盤空間或內存占用,包括權重、偏置和其他必要組件。 Compression Ratio:未壓縮LLM的原始大小與壓縮LLM的大小之間的比率。 Inference time:衡量LLM在推理或預測期間處理輸入數據并生成響應所花費的時間。 Floating point operations (FLOPs):衡量LLM在處理輸入數據時執行的涉及浮點數(通常是32位或16位)的算術操作數量。

基準

常見的NLP基準:GLUE、LAMBADA、LAMA、SQuAD;

HULK:全面評估了預訓練語言模型(PLMs)的能效;

ELUE:整合了六個NLP數據集,涵蓋了情感分析、自然語言推斷、相似性和改寫任務。

三、挑戰和未來方向

專用的基準。首先,模型壓縮的評估缺乏普遍接受的標準設置。其次,可能不是在移動設備上典型任務的最佳代表。并且,為預訓練模型設計的基準也可能不適用在移動設備上的常見任務。

性能與大小的權衡。當前的工作仍缺乏對這種權衡理論和實證的洞見。

動態LLM壓縮。目前壓縮方法仍然依賴于手動設計來確定LLMs的壓縮大小和結構,這種手動嘗試會在實際工作帶來阻礙。

可解釋性。可解釋性壓縮方法的整合應成為LLM壓縮應用進展的重要必要條件。采用可解釋性壓縮不僅針對解釋性問題,還簡化了壓縮模型的評估過程。反過來也增強了模型在生產階段的可靠性和可預測性。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 模型
    +關注

    關注

    1

    文章

    3309

    瀏覽量

    49224
  • 數據集
    +關注

    關注

    4

    文章

    1209

    瀏覽量

    24834
  • nlp
    nlp
    +關注

    關注

    1

    文章

    489

    瀏覽量

    22109
  • 大模型
    +關注

    關注

    2

    文章

    2548

    瀏覽量

    3169

原文標題:大模型壓縮首篇綜述來啦~~

文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    模型壓縮技術,加速AI大模型在終端側的應用

    電子發燒友網報道(文/李彎彎)當前,全球眾多科技企業都在積極研究AI大模型,然而因為參數規模太大,要想實現AI大模型在邊/端側部署,需要用到模型壓縮技術。當前谷歌、微軟、騰訊等廠商在該
    的頭像 發表于 04-24 01:26 ?2644次閱讀

    【大語言模型:原理與工程實踐】核心技術綜述

    其預訓練和微調,直到模型的部署和性能評估。以下是對這些技術的綜述模型架構: LLMs通常采用深層的神經網絡架構,最常見的是Transformer網絡,它包含多個自注意力層,能夠捕捉輸入數據中
    發表于 05-05 10:56

    有限集模型預測控制策略綜述

    有限集模型預測控制的綜述
    發表于 11-20 11:27

    有關負荷預測的綜述總結

    對前面三關于負荷預測的綜述論文進行一個總結。
    發表于 07-12 08:09

    啃論文俱樂部 | 壓縮算法團隊:我們是如何開展對壓縮算法的學習

    。為彌補查閱壓縮算法技術領域覆蓋面不全的情況,我們團隊制作了覆蓋全領域全場景的壓縮算法技術地圖模型。從目前找得到的已有的“較新”綜述的基礎上分別向前和向后索引,憑借著查找
    發表于 06-21 11:05

    壓縮模型會加速推理嗎?

    你好我使用 STM32CUBE-AI v5.1.2 ApplicationTemplate 將簡單的 CNN 導入到 STM32L462RCT我發現壓縮模型對推理時間沒有影響。aiRun 程序在 8
    發表于 01-29 06:24

    深度網絡模型壓縮綜述

    程度上能表達其復雜性,相關研究表明并不是所有的參數都在模型中發揮作用,部分參數作用有限、表達冗余、甚至會降低模型的性能.本文首先對國內外學者在深度模型壓縮上取得的成果進行了分類整理,依
    發表于 12-19 16:39 ?1次下載
    深度網絡<b class='flag-5'>模型</b><b class='flag-5'>壓縮</b><b class='flag-5'>綜述</b>

    基于無線傳感器網絡的簇提取壓縮算法

    對矢量數據壓縮算法中DP壓縮算法在引入無線傳感器網絡的同時進行了改進,針對壓縮過程中對數據的掃描次數問題,提出簇提取壓縮算法。該算法中簇
    發表于 02-27 17:04 ?0次下載

    深度學習模型壓縮與加速綜述

    更好的性能,但是高額的存儲空間、計算資源消耗是使其難以有效的應用在各硬件平臺上的重要原因。所以,卷積神經網絡日益增長的深度和尺寸為深度學習在移動端的部署帶來了巨大的挑戰,深度學習模型壓縮與加速
    的頭像 發表于 06-08 17:26 ?5279次閱讀
    深度學習<b class='flag-5'>模型</b><b class='flag-5'>壓縮</b>與加速<b class='flag-5'>綜述</b>

    深度神經網絡模型壓縮和優化綜述

    數據集上的表現非常卓越。然而,由于其計算量大、存儲成本高、模型復雜等特性,使得深度學習無法有效地應用于輕量級移動便攜設備。因此,壓縮、優化深度學習模型成為目前硏究的熱點。當前主要的模型
    發表于 04-12 10:26 ?20次下載
    深度神經網絡<b class='flag-5'>模型</b>的<b class='flag-5'>壓縮</b>和優化<b class='flag-5'>綜述</b>

    基于深度學習的文本主題模型研究綜述

    基于深度學習的文本主題模型研究綜述
    發表于 06-24 11:49 ?68次下載

    文本挖掘之概率主題模型綜述

    文本挖掘之概率主題模型綜述
    發表于 06-24 14:16 ?16次下載

    基于模板驅動的神經機器翻譯模型綜述

    基于模板驅動的神經機器翻譯模型綜述
    發表于 06-24 15:31 ?16次下載

    基于強連接網絡圖的無損壓縮算法綜述

    基于強連接網絡圖的無損壓縮算法綜述
    發表于 06-27 11:13 ?6次下載

    抖動按鍵技術及雙狄拉克模型綜述

    抖動按鍵技術及雙狄拉克模型綜述
    發表于 07-16 14:15 ?2次下載
    怎样看百家乐路单| 立即博| 送现金百家乐官网的玩法技巧和规则| 大发888娱乐城 手机版| 百家乐官网注册18元体验金| 百家乐是娱乐场最不公平的游戏| 上海玩百家乐官网算不算违法| 百家乐真人荷官网| 百家乐官网平的概率| 百家乐平玩法官方网址| 百家乐官网分析网| 大发888卡| 战神百家乐娱乐| 免费下百家乐赌博软件| 百家乐官网线上代理网站| 太阳百家乐娱乐| 百家乐官网真人游戏棋牌| 德州扑克软件| 百家乐网络视频游戏| 澳门百家乐官网娱乐场| 威尼斯人娱乐场网址| 百家乐官网什么方法容易赢| 香港六合彩挂牌| 网上百家乐信誉| 电脑版百家乐官网分析仪| bet365滚球| 百家乐真人娱乐城| 百家乐官网高手的心得| 沈阳盛京棋牌下载| 真人百家乐视频赌博| 24山72向局图解| 天地人百家乐官网现金网| 大发888官网充值| 百家乐庄闲出现几率| 百家乐官网投注方法| 娱乐城开户送金| 百家乐补第三张牌规则| 博彩百家乐官网带连线走势图| 皇冠网vip小说| 大家旺百家乐的玩法技巧和规则| 百家乐官网筹码托盘|