面向超長上下文,大語言模型如何優(yōu)化架構(gòu),這篇綜述一網(wǎng)打盡了
ChatGPT 的誕生,讓基于 Transformer 的大型語言模型 (LLM) 為通用人工智能(AGI)鋪開了一條革命性的道路,并在知識庫、人機交互、機器人等多個領(lǐng)域得到應(yīng)用。然而,目前存在一個普遍的限制:由于資源受限,當(dāng)前大多 LLM 主要是在較短的文本上進行預(yù)訓(xùn)練,導(dǎo)致它們在較長上下文方面的表現(xiàn)較差,而長上下文在現(xiàn)實世界的環(huán)境中是更加常見的。
最近的一篇綜述論文對此進行了全面的調(diào)研,作者重點關(guān)注了基于 Transformer 的 LLM 模型體系結(jié)構(gòu)在從預(yù)訓(xùn)練到推理的所有階段中優(yōu)化長上下文能力的進展。
論文鏈接:https://arxiv.org/pdf/2311.12351.pdf
論文首先分析了使用當(dāng)前基于 Transformer 的模型處理長上下文輸入和輸出的問題。然后,提供了一個全面的分類體系,以指導(dǎo) Transformer 架構(gòu)升級的領(lǐng)域,來解決這些問題。作者對長上下文 LLM 廣泛使用的評估需求進行了調(diào)研,包括數(shù)據(jù)集、度量標準和基準模型,以及一些令人驚奇的優(yōu)化工具包,如庫、系統(tǒng)和編譯器,以增強 LLM 在不同階段的效率和功效。最后,文章進一步討論了這一領(lǐng)域未來研究的主要挑戰(zhàn)和潛在方向。作者還建立了一個倉庫,匯總了相關(guān)文獻,并提供實時更新 https://github.com/Strivin0311/long-llms-learning。
綜述概覽
文章從基本的語言建模目標 (第 2.1 節(jié)) 開始,內(nèi)容涵蓋從典型的建模階段到在基于 Transformer 的僅解碼 LLM 中找到的關(guān)鍵架構(gòu)模塊,如圖 1 (a) 所示。隨后,作者對 LLM 在遇到擴展上下文窗口時的架構(gòu)限制進行了簡要分析 (第 2.2 節(jié))。最后提出了一個全面的方法論分類法 (第 2.3 節(jié)),旨在通過架構(gòu)創(chuàng)新增強 LLM 的長上下文能力 (見圖 1 (b))。這個分類法作為文章的第 3、4、5、6、7 節(jié)的指南。
圖 1:文章核心概述:(a) 現(xiàn)代基于 Transformer 的僅解碼 LLMs 的典型架構(gòu)解剖圖,右上角有圖例;(b) 用于增強 Transformer 架構(gòu)模塊的方法論分類法(與 (a) 相對應(yīng)的顏色):高效注意力(注意力核心的子模塊),長期記憶(針對 KV 緩存),外推性 PEs(針對位置嵌入模塊),上下文處理(與上下文預(yù) / 后處理有關(guān))和雜項(整個解碼器塊以及損失模塊通用)。
長上下文,目前有哪些難點待突破?
注意力復(fù)雜度。在典型情況下 L ? d,MHA 的計算復(fù)雜性可以簡潔總結(jié)如下:它涉及 O (L 2d) 的時間復(fù)雜度,包括 QKV 投影的 O (Ld2),計算 P 的 O (L 2d),通過 softmax 運算獲取 A 的 O (L 2 ),A 與 V 相乘的 O (L 2d),以及輸出投影 O 的 O (Ld2)。它還產(chǎn)生 O (L 2) 的空間復(fù)雜度,包括 Q、K、V、O 的嵌入的 O (Ld),以及額外的 O (L 2) 緩沖區(qū)用于存儲權(quán)重 P 和 A。因此,隨著序列長度的增加,時間和空間計算成本都呈二次增加,這對于訓(xùn)練和推理可能都是繁重的。
上下文記憶。LLM 缺乏顯式的記憶機制,完全依賴 KV 緩存來存儲列表中所有先前 token 的表示。這種設(shè)計一旦在一個調(diào)用中完成查詢,Transformer 在后續(xù)的調(diào)用中不會保留或召回任何先前的狀態(tài)或序列,除非整個歷史記錄逐個 token 重新加載到 KV 緩存中。因此,Transformer 在每個調(diào)用中僅具有一個上下文工作記憶,而不是像長短時記憶 (LSTM) 這樣的內(nèi)在記憶機制。這種無狀態(tài)性在并行性方面提供了計算優(yōu)勢,但在聊天機器人應(yīng)用等需要長期記憶保留的任務(wù)中的挑戰(zhàn)很明顯。
最大長度約束。在訓(xùn)練階段,工程師通常需要確定一個關(guān)鍵的超參數(shù) max-length,本文中表示為 L_max。這個超參數(shù)代表了批次中任何訓(xùn)練樣本的序列長度的上限,通常根據(jù)可用的計算資源設(shè)置為 1k、2k 或 4k,以避免在 GPU 上發(fā)生內(nèi)存溢出 (OOM) 錯誤。在推理階段,LLM 的服務(wù)提供者還必須限制用戶提示的長度或自動截斷它們以與預(yù)定義的 L_max 對齊,即使推理資源通常比訓(xùn)練階段更豐富。需要注意的是 Transformer 的任何模塊在本質(zhì)上都不需要這樣的限制,因為所有學(xué)習(xí)的權(quán)重僅依賴于維度大小。因此,理論上只要資源足夠,Transformer 可以處理任意長度的序列。然而,當(dāng)前的語言模型在處理超過 L_max 的輸入序列時通常表現(xiàn)出明顯的性能下降,經(jīng)常導(dǎo)致重復(fù)和不切實際的輸出。
改進的新方法
對于上述限制,有多種改進方法可以探索,例如在訓(xùn)練過程中減少注意力復(fù)雜性、設(shè)計高效的記憶機制,以及增強長度外推的能力,該模型在短序列上進行訓(xùn)練,但在推理過程中對更長的序列進行測試。
因此,論文全面回顧了致力于改進 LLM 長上下文能力的各個階段的最新方法,并將它們組織成一個統(tǒng)一的分類法,如圖 1 (b) 所示。具體而言,這些方法被分為五個主要的類別,如下:
高效注意力 (論文第 3 節(jié)):這些方法側(cè)重于實現(xiàn)具有降低計算要求的高效注意力機制,甚至實現(xiàn)了線性復(fù)雜度。通過這樣做,它們能夠通過直接在預(yù)訓(xùn)練階段增加 L_max 來推進 LLM 在推理期間的有效上下文長度邊界。
長期記憶 (論文第 4 節(jié)):為了解決上下文工作記憶的局限性,一些方法旨在設(shè)計明確的記憶機制,彌補 LLM 中缺乏高效和有效的長期記憶的不足。
外推性 PEs (論文第 5 節(jié)):最新的研究致力于通過改進現(xiàn)有位置編碼方案的外推性能來增強 LLM 的長度泛化能力。
上下文處理 (論文第 6 節(jié)):除了增強特定低級 Transformer 模塊的方法外,一些方法涉及對現(xiàn)成的 LLM 與額外的上下文預(yù) / 后處理。這些方法確保每次調(diào)用 LLM 時輸入始終滿足最大長度要求,并通過引入多個調(diào)用開銷打破上下文窗口限制。
雜項 (論文第 7 節(jié)):探討了各種一般且有價值的方法,這些方法不容易歸入前面四類,為推進 LLM 的長上下文能力提供了更廣泛的視角。
未來方向
論文的第 3、4、5、6 節(jié)中討論了該領(lǐng)域取得的顯著進展,但仍然存在一些挑戰(zhàn)。下面是對一些關(guān)鍵挑戰(zhàn)的探討以及未來在增強基于 Transformer 的 LLM 的長上下文能力方面進行研究和開發(fā)的潛在方向,重點關(guān)注架構(gòu)的增強。
注意力 Trade-off。在第 3 節(jié),作者探討了高效注意方法往往涉及在保持全尺度注意力依賴性(例如局部注意力)或通過近似注意力提高注意力分數(shù)精度以減輕標準注意內(nèi)核的計算需求之間的微妙權(quán)衡。然而,隨著上下文的延長,話語結(jié)構(gòu)和相互關(guān)聯(lián)的信息變得越來越復(fù)雜,需要捕捉全局、長距離的依賴性,同時保持精確的相關(guān)性。
解決這一挑戰(zhàn)需要在計算效率和盡可能保留注意模式精度之間找到最佳平衡。因此,在長上下文 LLM 領(lǐng)域,這仍然是一個持續(xù)追求的目標。最近的創(chuàng)新如 Flash Attention,探索了算法級別之外的 IO 感知解決方案,極大地提高了運行時和記憶開銷的效率,而不會喪失注意精度。這是在實際應(yīng)用中解決這個問題的一個激動人心的潛在途徑。此外,可以探索在「即插即用」替代方案中集成先前的高效策略,利用強大的 GPU 內(nèi)核編程工具 (如 CUDA) 或更輕量級的 Triton。
記憶效果和效率。正如在文章第 2.1、2.2 節(jié)中前面討論的,作者已經(jīng)概述了由于缺乏明確的記憶機制,僅依賴上下文內(nèi)工作記憶以及在延長上下文交互期間 KV 緩存記憶消耗顯著增加而產(chǎn)生的限制。這些挑戰(zhàn)共同強調(diào)了在基于 Transformer 的 LLM 領(lǐng)域需要更有效和高效的記憶機制。雖然第 4 節(jié)中引入了各種長期記憶機制,但它們受到其復(fù)雜啟發(fā)式設(shè)計引入的額外記憶開銷的限制,因此隨著時間的推移可能導(dǎo)致性能下降。為了解決這一挑戰(zhàn),研究人員可以從最近的進展中汲取靈感,比如 Paged Attention,研發(fā)更有效的記憶存儲策略,增強讀 / 寫吞吐量。
長度外推挖掘。在第 5 節(jié)中,作者對與基于 Transformer 的模型的長度外推相關(guān)的挑戰(zhàn)進行了徹底的分析,重點關(guān)注了位置嵌入的普遍設(shè)計。文章提供了對最近突破的全面概述,特別是應(yīng)用于 RoPE 的擴展策略,作者相信這在解決外推限制方面具有重要的前景。值得注意的是,這些進步往往依賴于對復(fù)雜高維位置嵌入屬性的簡化觀察,并包含簡單的啟發(fā)式調(diào)整。作者對使用高維嵌入來建模序列性的理論基礎(chǔ)提出質(zhì)疑,并探索在這些啟發(fā)式設(shè)計的指導(dǎo)下引導(dǎo)具有許多超參數(shù)的可學(xué)習(xí)嵌入的潛在復(fù)蘇。作者認為未來的研究應(yīng)該深入探討這一領(lǐng)域,尤其是在 Transformer 設(shè)置下為建模序列性開發(fā)健壯的理論框架方面,比如 CLEX 所實現(xiàn)的內(nèi)容。
特定但通用目標。前文已經(jīng)為長文本建模量身定制的具體目標做了討論,但值得注意的是,許多目標僅限于某些類型的任務(wù),或者僅與 MLM 目標兼容,而不是如今更普遍的 CLM 目標。這突顯了需要特定但普遍適用的因果語言建模目標,可以在模型訓(xùn)練的早期有效捕捉長距離依賴性。通過與先前提到的目標相一致,這是可能實現(xiàn)的。
可靠的度量需求。在評估度量方面,文章的第 8 節(jié)中研究了許多可選項。根據(jù)在評估中的先前經(jīng)驗,常用的度量,如 ROUGE 分數(shù),與人類判斷分數(shù)存在顯著差異,后者可以看作是「神諭」。隨著 LLM 在現(xiàn)實世界場景中的快速部署,越來越迫切地需要更可靠的度量來評估長上下文能力,特別是在生成性任務(wù)中,其中精確的真實性難以捉摸。一個有希望的途徑涉及利用最先進的 LLM (如 GPT4) 的魯棒性作為人類評審的替代,盡管相關(guān)的高成本仍然在更廣泛地在研究界中采用方面帶來挑戰(zhàn)。
更多研究細節(jié),可參見原論文。