【#區(qū)塊鏈# #五種資源類別,如何提高大語言模型的資源效率,超詳細綜述來了#】
原文來源:機器之心
圖片來源:由無界 AI生成
本綜述深入探討了大型語言模型的資源高效化問題。
近年來,大型語言模型(LLM)如 OpenAI 的 GPT-3 在人工智能領(lǐng)域取得了顯著進展。這些模型,具有龐大的參數(shù)量(例如 1750 億個參數(shù)),在復雜度和能力上實現(xiàn)了飛躍。隨著 LLM 的發(fā)展趨勢朝著不斷增大的模型規(guī)模前進,這些模型在從智能聊天機器人到復雜數(shù)據(jù)分析,乃至于多領(lǐng)域研究中的應用越發(fā)廣泛。然而,模型規(guī)模的指數(shù)級增長帶來了巨大的資源需求,尤其是在計算、能源和內(nèi)存等方面。
這些資源的巨大需求使得訓練或部署這樣龐大的模型成本高昂,尤其是在資源受限的環(huán)境(如學術(shù)實驗室或醫(yī)療領(lǐng)域)中更是如此。此外,由于訓練這些模型需要大量的 GPU 使用,因此它們的環(huán)境影響也成為日益關(guān)注的問題,尤其是在電力消耗和碳排放方面。如何在資源有限的環(huán)境中有效部署和應用這些模型成為了一個緊迫的問題。
來自 Emory University,University of Virginia 和 Penn State University 的研究團隊通過全面梳理和分析了當前 LLM 領(lǐng)域的最新研究,系統(tǒng)地總結(jié)了提高模型資源效率的多種技術(shù),并對未來的研究方向進行了深入探討。這些工作不僅涵蓋了 LLM 的全生命周期(預訓練、微調(diào)、提示等),還包括了多種資源優(yōu)化方法的分類和比較,以及對評估指標和數(shù)據(jù)集的標準化。本綜述旨在為學者和實踐者提供一個清晰的指導框架,幫助他們在資源有限的環(huán)境中有效地開發(fā)和部署大型語言模型。
論文鏈接:https://arxiv.org/pdf/2401.00625
一、引言
資源高效的 LLM 需要理解 LLM 生命周期中涉及的關(guān)鍵資源。在這項綜述中,作者將這些資源系統(tǒng)地歸類為五個主要類別:計算、內(nèi)存、能源、資金和通信成本。高效性在這里被定義為投入資源與產(chǎn)出的比例,一個更高效的系統(tǒng)能夠在消耗更少資源的同時產(chǎn)生相同水平的輸出。因此,一個資源高效的 LLM 旨在在所有這些維度上最大化性能和能力,同時最小化資源開銷,從而實現(xiàn)更可持續(xù)和更易獲取的 AI 解決方案。
資源效率在 LLM 中是一個至關(guān)重要且復雜的領(lǐng)域,它需要創(chuàng)新的解決方案來應對顯著的挑戰(zhàn)。這些挑戰(zhàn)一共包括五個層面:
- 模型層面:自回歸生成的低并行性導致了顯著的延遲問題,這在大型模型或長輸入長度下尤其突出,影響訓練和推理的高效處理。此外,自注意力層的二次復雜性隨著輸入長度的增加而顯著增加,成為計算瓶頸。
- 理論層面:縮放法則和收益遞減指出,隨著模型變大,每增加一個參數(shù)所帶來的性能提升在減小。此外,理論上關(guān)于機器學習中的泛化和過擬合也對 LLM 的資源效率提出了挑戰(zhàn)。
- 系統(tǒng)層面:考慮到 LLM 的龐大模型大小和訓練數(shù)據(jù)集,將它們?nèi)糠湃雴蝹€ GPU/TPU 的內(nèi)存中變得不可行。因此,為 LLM 優(yōu)化訓練過程的復雜系統(tǒng)設計變得至關(guān)重要。
- 倫理層面:許多 LLM 依賴于大型且專有的訓練數(shù)據(jù)集,這限制了提高效率的某些技術(shù)的應用。此外,許多先進的 LLM 是封閉源的,這意味著在缺乏對模型內(nèi)部工作的深入了解的情況下提高效率變得更加復雜。
- 評價指標層面:LLM 的多樣化和復雜性使得開發(fā)全面的資源效率評價指標面臨獨特挑戰(zhàn)。與優(yōu)化較小模型的一兩種資源相比,LLM 呈現(xiàn)出多目標問題,要求在多個關(guān)鍵資源上同時進行優(yōu)化。
為了應對上述挑戰(zhàn),該綜述提供了以下貢獻:
- 資源高效 LLM 技術(shù)的全面概述:對增強 LLM 資源效率的技術(shù)進行了全面的概述,涵蓋了 LLM 整個生命周期的各種方法和策略。
- 技術(shù)按資源類型的系統(tǒng)分類和分類法:建立了一個系統(tǒng)的分類和分類法,根據(jù)它們優(yōu)化的資源類型對資源高效的 LLM 技術(shù)進行組織。
- 評估指標和數(shù)據(jù)集的標準化:提出了一套專門用于評估 LLM 資源效率的評估指標和數(shù)據(jù)集的標準化。
- 識別差距和未來研究方向:對當前在創(chuàng)造資源高效 LLM 方面的瓶頸和未解決的挑戰(zhàn)進行了深入探討,并指出了未來研究的潛在途徑。
二、資源高效大型語言模型的全新分類法
該綜述提出了一個全面的分類法,以系統(tǒng)地理解和優(yōu)化大型語言模型(LLM)中涉及的關(guān)鍵資源。這個分類法包括五個關(guān)鍵領(lǐng)域:計算、內(nèi)存、能源、資金和網(wǎng)絡通信,每個領(lǐng)域都針對資源利用的不同方面:
1. 資源分類
- 計算:涉及訓練、微調(diào)和執(zhí)行 LLM 所需的處理能力。計算效率的評估包括考慮操作數(shù)量(如浮點操作)、算法效率和處理單元(如 GPU 或 TPU)的利用。
- 內(nèi)存:內(nèi)存效率涉及所需的 RAM 和存儲量。尤其是擁有數(shù)十億參數(shù)的 LLM,需要大量內(nèi)存來存儲模型權(quán)重和處理大型數(shù)據(jù)集。
- 能源:指模型生命周期中消耗的電力??紤]到環(huán)境影響和運營成本,能源效率至關(guān)重要。這包括減少能耗的策略,如優(yōu)化硬件利用、使用節(jié)能硬件等。
- 資金:財務資源是一個關(guān)鍵考慮因素,尤其對于小型組織和研究者。這包括硬件采購成本、運行模型的電費和潛在的云計算費用。
- 網(wǎng)絡通信:在分布式訓練和基于云的部署中,網(wǎng)絡帶寬和延遲變得重要。高效的網(wǎng)絡通信意味著減少在分布式系統(tǒng)節(jié)點之間或云端與用戶之間傳輸?shù)臄?shù)據(jù)量,這對訓練時間和實時應用的響應性有重大影響。
2. 技術(shù)分類
此外,該綜述還引入了一個結(jié)構(gòu)化的分類法,將提升 LLM 資源效率的技術(shù)分為明確、定義清晰的層級。其中包括五個主要類別:架構(gòu)設計、預訓練、微調(diào)、推理和系統(tǒng)設計。每個類別都在高效 LLM 開發(fā)和部署的生命周期中扮演著不可或缺的角色。
- 架構(gòu)設計:檢查 LLM 的結(jié)構(gòu)基礎(chǔ),分為基于 Transformer 和非 Transformer 架構(gòu)。
- 預訓練:審視 LLM 開發(fā)的初步階段,包括內(nèi)存效率和數(shù)據(jù)效率。
- 微調(diào):針對預訓練模型的優(yōu)化,分為參數(shù)高效微調(diào)和全參數(shù)微調(diào)。
- 推理:在操作階段,采用各種策略,如模型壓縮和動態(tài)加速。
- 系統(tǒng)設計:關(guān)注系統(tǒng)層面的考慮,包括部署優(yōu)化和支持基礎(chǔ)設施等。
這個分類法旨在提供對多樣化方法和策略的結(jié)構(gòu)化和細致理解。這些方法和策略用于提升 LLM 的效率和加速,為當前研究領(lǐng)域提供了一個全面的視角。
三、方法論
1. 大型語言模型架構(gòu)設計的新進展
該綜述重點探討了大型語言模型(LLM)的兩大架構(gòu)設計方向:高效的 Transformer 結(jié)構(gòu)和非 Transformer 架構(gòu)。
- 高效的 Transformer 結(jié)構(gòu):這一類別包括了通過創(chuàng)新技術(shù)優(yōu)化 Transformer 模型的架構(gòu),旨在降低計算和內(nèi)存需求。例如,Reformer 通過局部敏感哈希技術(shù)來改進注意力機制,而 Linear Transformer 則利用線性映射來減少計算復雜度。AFT 和 KDEFormer 等其他方法則通過不同方式實現(xiàn)時間和內(nèi)存效率的大幅提升。
- 非 Transformer 架構(gòu):這一類別探索了替代 Transformer 的新型架構(gòu)。例如,模塊化網(wǎng)絡(MoE)技術(shù)通過結(jié)合多個專業(yè)化模型來處理復雜任務,Switch Transformer 和 GLaM 等則利用稀疏路由技術(shù)在增加模型參數(shù)的同時保持效率。另外,像 RWKV 這樣的架構(gòu)則結(jié)合了 Transformer 的訓練效率和 RNN 的推理效率。
這些創(chuàng)新方向不僅優(yōu)化了 LLM 的資源效率,也推動了語言模型技術(shù)的整體發(fā)展。
2. 大型語言模型預訓練:效率與創(chuàng)新
該綜述探索了 GPT-4 等大型語言模型(LLM)的高效預訓練策略,這些策略不僅注重速度,還著眼于計算資源的最優(yōu)利用和創(chuàng)新的數(shù)據(jù)管理。
- 內(nèi)存效率
- 分布式訓練:將模型訓練任務分配給多個節(jié)點,以加速訓練過程。數(shù)據(jù)并行(DP)和模型并行(MP)是兩種主要的策略。DP 通過將初始數(shù)據(jù)集分割并由多個加速器并行訓練,而 MP 則將模型的層或張量分布到多個加速器上。
- 混合精度訓練:這種技術(shù)通過同時使用 16 位和 32 位浮點類型來加速深度學習模型的訓練,特別適用于大型語言模型的訓練。
- 數(shù)據(jù)效率
- 重要性采樣:這種方法通過優(yōu)先處理信息豐富的訓練實例來提高模型的數(shù)據(jù)效率。
- 數(shù)據(jù)增強:通過創(chuàng)建現(xiàn)有數(shù)據(jù)的修改副本,使當前數(shù)據(jù)得到充分利用。
- 訓練目標:預訓練目標的選擇是決定數(shù)據(jù)效率的另一個因素。這通常涉及模型架構(gòu)、輸入 / 目標構(gòu)建和遮蔽策略的設計。
通過這些策略,綜述旨在展示如何以資源高效的方式預訓練大型語言模型,不僅加速了訓練過程,還確保了先進 LLM 的可持續(xù)和成本效益發(fā)展。
3. 大型語言模型微調(diào):平衡性能與資源
該綜述探討了 GPT-4 等大型語言模型在特定任務上的微調(diào)策略。這些策略旨在在實現(xiàn)任務特定性能和維持資源效率之間找到平衡點。
- 參數(shù)高效微調(diào)
- 基于遮蔽的微調(diào):僅更新模型參數(shù)的子集,其他參數(shù)在反向傳播過程中被「凍結(jié)」或遮蔽。
- 基于適配器的微調(diào):在預訓練模型的現(xiàn)有層之間插入額外的輕量級層(適配器)。在微調(diào)期間,只更新這些適配器層的參數(shù),而原始模型參數(shù)保持固定。
- 全參數(shù)微調(diào):與參數(shù)高效微調(diào)不同,全參數(shù)微調(diào)涉及修改所有參數(shù)。盡管訓練成本更高,但通常可以獲得比參數(shù)高效方法更好的性能。然而,這種方法在簡單數(shù)據(jù)集上可能并不總是有效,且在訓練成本和 GPU 內(nèi)存消耗方面也面臨挑戰(zhàn)。
通過這些策略,綜述旨在展示如何在保證大型語言模型性能優(yōu)化和資源限制之間達到平衡的微調(diào)方法。
4. 大型語言模型推斷:追求效率與質(zhì)量
該綜述探討了如 GPT 系列的大型語言模型在推斷階段的優(yōu)化技術(shù),重點是減少計算負載和內(nèi)存使用,同時保持高質(zhì)量輸出。
- 模型壓縮
- 剪枝:通過移除模型中的特定參數(shù)來降低復雜度。包括結(jié)構(gòu)化剪枝(針對整體結(jié)構(gòu),如神經(jīng)元或通道)和非結(jié)構(gòu)化剪枝(針對單個權(quán)重或連接)。
- 量化:將模型中的浮點數(shù)轉(zhuǎn)換為較少位數(shù)的表示(如整數(shù)),旨在減少模型存儲需求和加快計算速度。
- 知識蒸餾:將大型模型的知識轉(zhuǎn)移到更緊湊的網(wǎng)絡中,以減少推斷延遲并增強特定任務解決能力。
- 動態(tài)加速
- 早期退出:根據(jù)某些標準提前終止模型的某些層的計算,用于簡化輸入樣本的處理。
- 輸入裁剪:動態(tài)減少輸入序列長度,根據(jù)內(nèi)容來分配不同的計算資源給不同的輸入標記。
- 標記并行:利用技術(shù)如推測執(zhí)行來并行生成多個標記,而非傳統(tǒng)的順序方式。
通過這些策略,綜述旨在展示如何在實際應用中高效部署大型語言模型,同時考慮資源限制和性能需求。
5. 大型語言模型的系統(tǒng)設計:優(yōu)化與應用
該綜述探討了如 GPT 系列的大型語言模型在系統(tǒng)設計方面的關(guān)鍵策略,特別是在資源受限環(huán)境中的高效推斷。
- 部署優(yōu)化
- 硬件卸載:通過將臨時不需要的數(shù)據(jù)從快速加速器轉(zhuǎn)移到更慢但更大的主、輔存儲(如 CPU 內(nèi)存和磁盤)中,優(yōu)化大型 LLM 的運行效率。有效的卸載策略對整體系統(tǒng)效率至關(guān)重要。
- 協(xié)作推斷:多個用戶或系統(tǒng)合作完成 LLM 的推斷任務,每個參與者貢獻自己的資源,如計算能力或數(shù)據(jù),以克服個體用戶或系統(tǒng)的限制,實現(xiàn)更高效、準確的推斷。
- 支持基礎(chǔ)設施
- 庫:介紹了幾個著名的大型語言模型框架,如 DeepSpeed、Megatron-LM、Colossal-AI、Mesh-TensorFlow 和 GPT-NeoX,它們?yōu)榇笠?guī)模分布式訓練提供多級并行策略。
- 邊緣設備:探索在邊緣設備上部署 LLM 的研究趨勢,這些設備通常具有有限的計算資源。例如,通過低秩適應和噪聲對比估計等技術(shù)來降低 LLM 在邊緣設備上的內(nèi)存需求。
- 其他系統(tǒng)
- Tabi:提出了一個多級推斷引擎的推斷系統(tǒng),通過使用多個 DNN 處理任務中的異構(gòu)查詢來減少 LLM 的推斷延遲。
- 近重復序列搜索:利用最小哈希技術(shù)來提高 LLM 的近重復序列搜索的效率和可擴展性。
通過這些策略,綜述旨在展示大型語言模型在各種部署場景中的系統(tǒng)設計如何實現(xiàn)效率和可擴展性的最大化。
四、大型語言模型資源效率技術(shù)分類總結(jié)
該綜述探討了應用于大型語言模型(LLM)以提升其在不同資源上的效率的多種技術(shù)。這些資源包括計算、內(nèi)存、能源、財務成本和網(wǎng)絡通信。每項技術(shù)在優(yōu)化 LLM 資源效率方面扮演著重要角色。
計算效率
- 直接影響:包括具有近似和硬件感知注意力機制的變換器架構(gòu),通過簡化計算密集的注意力計算來加速過程;非結(jié)構(gòu)化、結(jié)構(gòu)化和上下文剪枝,通過移除不重要的權(quán)重或神經(jīng)元來減少冗余計算。
- 間接影響:數(shù)據(jù)并行和參數(shù)高效微調(diào),通過分布式工作負載和減少參數(shù)更新分別間接提高計算效率。
內(nèi)存效率
- 直接影響:剪枝和量化通過減少模型大小來顯著節(jié)約內(nèi)存;知識蒸餾通過訓練較小的模型來模仿較大的模型。
- 間接影響:分布式訓練,如數(shù)據(jù)和模型并行,有效管理多設備間的內(nèi)存使用,減輕單個設備的負擔。
能源效率
- 直接影響:結(jié)構(gòu)化剪枝和量化通過減少操作數(shù)量和數(shù)據(jù)大小,降低訓練和推斷的能源消耗;上下文剪枝通過最小化不必要的計算來節(jié)省能源。
- 間接影響:近似注意力機制等主要面向計算效率的技術(shù),由于減少了計算負載,間接促進能源節(jié)省。
財務成本效率
間接影響:數(shù)據(jù)效率方法,如優(yōu)化的訓練目標和數(shù)據(jù)增強,通過提高數(shù)據(jù)使用效果,可能縮短訓練時間,減少計算資源使用;動態(tài)推斷技術(shù),如早期退出和輸入裁剪,通過減少推斷階段的運算需求,降低整體部署成本。
網(wǎng)絡通信效率
- 直接影響:混合精度訓練通過減少處理器間需要通信的數(shù)據(jù)大小,直接影響數(shù)據(jù)傳輸效率;權(quán)重量化通過最小化通信過程中的數(shù)據(jù)負載。
- 間接影響:協(xié)作推斷通過優(yōu)化數(shù)據(jù)傳輸和處理來提高網(wǎng)絡通信效率。
通過這些策略,該綜述旨在展示如何通過多種技術(shù)提高大型語言模型在各種資源上的效率。詳細的技術(shù)與資源的對應關(guān)系可見下表。
五、大型語言模型評估數(shù)據(jù)集和指標
該綜述詳細分析了評估大型語言模型(LLM)資源效率的多元化指標,這些指標為全面理解 LLM 的資源效率提供了關(guān)鍵指導。
計算效率指標
- FLOPs:浮點運算次數(shù),量化計算效率。
- 訓練時間:訓練 LLM 所需的總時間,反映了模型復雜性。
- 推斷時間 / 延遲:LLM 生成輸出所需的時間,關(guān)鍵評估實際應用中的實用性。
- 吞吐量:LLM 處理請求的效率,以每秒生成的標記或完成任務的速度衡量。
- 加速比:與基準模型相比推斷速度的改善程度。
- 內(nèi)存效率指標
- 參數(shù)數(shù)量:LLM 神經(jīng)網(wǎng)絡中可調(diào)變量的數(shù)量。
- 模型大?。捍鎯φ麄€模型所需的存儲空間。
能源效率指標
- 能源消耗:以瓦時或焦耳表示,反映 LLM 生命周期中的電力使用。
- 碳排放:與模型能源使用相關(guān)的溫室氣體排放量。
財務成本效率指標
每參數(shù)成本:訓練(或運行)LLM 的總成本除以參數(shù)數(shù)量的比值。
網(wǎng)絡通信效率指標
通信量:在特定 LLM 執(zhí)行或訓練過程中網(wǎng)絡間傳輸?shù)臄?shù)據(jù)總量。
其他指標
- 壓縮比:壓縮模型與原始模型大小的比例。
- 忠誠度和保真度:衡量教師和學生模型之間預測一致性和預測概率分布對齊程度。
- 魯棒性:衡量 LLM 對攻擊后性能和查詢次數(shù)。
- 帕累托最優(yōu)性:在不同競爭因素間取得的最佳平衡。
數(shù)據(jù)集和基準測試
- Dynaboard:動態(tài)基準,評估內(nèi)存使用、吞吐量、公平性和魯棒性等指標。
- EfficientQA:聚焦建立準確、內(nèi)存高效的開放領(lǐng)域問答系統(tǒng)。
- SustaiNLP 2020:挑戰(zhàn)參與者開發(fā)能源高效的 NLP 模型。
- ELUE 和 VLUE:專注于評估 NLP 和視覺語言模型的效率和性能。
- Long-Range Arena:專為評估長內(nèi)容任務上高效 Transformer 模型而設計。
- Efficiency-aware MS MARCO:在 MS MARCO 信息檢索基準測試中增加了效率指標。
通過這些策略,該綜述旨在提供一種全面評估大型語言模型資源效率的方法論。
六、大型語言模型的未來挑戰(zhàn)和研究方向
隨著大型語言模型(LLM)領(lǐng)域的不斷進步,我們面臨著多種開放性挑戰(zhàn),這些挑戰(zhàn)為未來的研究方向提供了豐富的機遇。
處理資源類型的沖突:不同優(yōu)化技術(shù)之間存在性能指標的權(quán)衡,如計算效率與模型參數(shù)數(shù)量的矛盾。關(guān)鍵挑戰(zhàn)在于開發(fā)全面優(yōu)化策略,平衡計算效率、參數(shù)計數(shù)和內(nèi)存使用等多個目標。
資源效率技術(shù)的綜合:有效整合多種 LLM 優(yōu)化方法以增強總體資源效率是一個顯著挑戰(zhàn)。目前缺乏對這些方法如何協(xié)同作用的研究,需要系統(tǒng)地結(jié)合不同策略,以顯著提高模型效率。
標準化和統(tǒng)一評估:當前缺乏專門評估 LLM 資源效率的統(tǒng)一標準基準。這導致無法全面一致地評估各種 LLM 在資源利用方面的表現(xiàn),迫切需要專注于資源效率的標準化基準。
可解釋性和魯棒性:在追求效率的同時,也需關(guān)注 LLM 的可解釋性和魯棒性。開發(fā)既優(yōu)化資源使用又保持透明度和彈性的方法,確保這些模型在不同部署場景中可靠且易于理解。
自動化機器學習(AutoML)在資源高效 LLM 中的應用:將 AutoML 集成到資源高效 LLM 的開發(fā)中是一個新興領(lǐng)域。通過應用 Meta-Learning 和神經(jīng)架構(gòu)搜索(NAS),自動化模型優(yōu)化的部分,有望減少手動超參數(shù)調(diào)整和定制模型設計的需求。
邊緣計算中的 LLM:在邊緣計算環(huán)境中部署 LLM 面臨獨特挑戰(zhàn),如設備的計算能力和內(nèi)存資源限制。需要開發(fā)既資源高效又考慮隱私問題的 LLM 技術(shù),以適應邊緣計算場景。
理論洞察 LLM 的擴展規(guī)律:深入理解 LLM 性能如何隨其規(guī)模和復雜性擴展是一個關(guān)鍵且未被充分探索的領(lǐng)域。這種理解對于開發(fā)不僅專注于模型壓縮,而是針對提高 LLM 整體資源效率的方法至關(guān)重要。
七、結(jié)論
本綜述深入探討了大型語言模型(LLM)的資源效率問題,分析了當前的研究成果和挑戰(zhàn),并展望了未來的發(fā)展方向。它還討論了 LLM 在計算、內(nèi)存、能源、財務成本和網(wǎng)絡通信等關(guān)鍵資源方面的高效技術(shù),以及這些技術(shù)如何相互作用以提高整體效率。通過對比各種技術(shù),綜述揭示了它們在不同應用環(huán)境中的潛力和限制。
作者還強調(diào)了在資源效率評估中建立標準化和統(tǒng)一的評價體系的重要性。這不僅有助于更準確地比較不同 LLM 的性能,也為進一步的研究和開發(fā)提供了堅實的基礎(chǔ)。
最后,綜述探討了 LLM 領(lǐng)域面臨的一系列開放性挑戰(zhàn)和潛在的研究方向,包括管理資源類型的沖突、綜合資源效率技術(shù)、可解釋性和魯棒性、AutoML 的集成以及在邊緣計算環(huán)境中部署 LLM。這些挑戰(zhàn)提供了未來研究的豐富機遇,對于推動 LLM 向更高效、更可靠和更可持續(xù)的方向發(fā)展至關(guān)重要。
本綜述為理解和優(yōu)化 LLM 的資源效率提供了全面的視角,為未來在這一重要領(lǐng)域的研究提供了指導和靈感。