LongContext Large Language Models
LLMLingua
GitHub - microsoft/LLMLingua: [EMNLP'23, ACL'24].
基於 LLMLingua 的基礎,開發了一種問題感知的粗到細壓縮方法,目的是提高提示詞中關鍵信息的密度
缺點:
- 計算開銷大:雖然壓縮後推論成本降低,但 LongLLMLingua 本身的壓縮過程比 LLMLingua 更耗時,尤其在需要反覆壓縮不同問題時。
- 不適用於複雜上下文:在上下文與提示詞關聯性較為複雜的情況下,效果可能受限,尤其是在使用粗粒度壓縮方法時。
- 上下文重用性低:由於方法是基於問題感知設計,對於相同上下文但不同問題的情況,無法重用已壓縮的上下文。
LongLLAMA
焦點 Transformer (FOT)
提出了一種新的 Transformer 擴展技術,稱為「Focused Transformer (FOT)」,旨在解決長上下文處理中的分散問題(Distraction Issue),強化 (key, value) 空間結構,以允許模型有效處理長上下文。
模型應用 (LONGLLAMA)
利用 FOT 微調 OpenLLaMA 3B 和 7B 模型,生成 LONGLLAMA,這些模型可在上下文長度超過訓練階段的情況下進行推論,甚至達到 256k tokens。
優點:
- 上下文擴展能力:能有效擴展 Transformer 模型的上下文長度,提升處理長文本的性能。
- 微調現有模型:FOT 可以在不改變模型架構的情況下,通過微調來延長上下文長度,適用於大多數已訓練的模型。
- 解決分散問題:利用對比學習和交批次訓練,有效減少模型在多文件上下文中的分散效應,提升模型的精度。
缺點:
- 計算成本高:交批次訓練增加了計算成本,特別是在記憶層需要進行 kNN 檢索時,可能會造成計算資源的瓶頸。
- 對比學習的限制:FOT 的對比學習技術相對簡單,未使用更先進的對比學習方法,可能限制了進一步性能提升的潛力。
- 分佈式系統需求:隨著上下文的擴展,存儲大量 (key, value) 對需要分佈式系統的支持,對工程實現提出更高挑戰。
LongLoRA
GitHub - dvlab-research/LongLoRA: Code and documents of LongLoRA and LongAlpaca (ICLR 2024 Oral)
使用 LongLoRA,Llama2 7B 模型能在單台 8× A100 GPU 上將上下文延伸到 100k,Llama2 70B 模型延伸到 32k。
Effective Long-Context Scaling of Foundation Models
Effective Long-Context Scaling of Foundation Models - ACL Anthology
重點
- 使用 LLAMA 2 作為基礎,並進行持續預訓練(continual pretraining),支援長達 32,768 個 tokens 的上下文長度。
- 通過持續預訓練和改進的位置編碼技術,這些模型在長上下文和標準短上下文任務中均展現出優秀的表現。
- 與現有的開源模型相比,這些新模型在多數基準測試中有顯著提升,並且在某些長上下文任務上超越了 GPT-3.5-turbo-16k。
位置編碼改進(Positional Encoding)
使用的 RoPE 編碼對長距離 tokens 的權重衰減較快,因此調整了 RoPE 的「基本頻率」參數,減少遠距離 tokens 的衰減影響。
數據混合(Data Mix)
新模型使用了經過調整的數據混合,增加長文本數據的比例,但實驗結果表明,數據質量比文本長度更為重要。
持續預訓練(Continual Pretraining)
基於 LLAMA 2 的檢查點進行額外的 4000 億 tokens 預訓練,提升模型處理長序列的能力
Long-Context Language Modeling with Parallel Context Encoding
Long-Context Language Modeling with Parallel Context Encoding - ACL Anthology
提出了一種名為 CEPE (Context Expansion with Parallel Encoding) 的框架,用於擴展大型語言模型(LLMs)的上下文窗口。
CEPE
在原有的 decoder-only 模型上增加了一個小型的雙向 encoder,並在每層 transformer block 中插入 cross-attention 模組,允許 decoder 利用來自 encoder 的編碼表示。
並行處理長上下文
將長文本拆分為多個 chunk,並由小型 encoder 並行處理,避免了 transformer 中注意力機制的二次方複雜度問題