長文本中微調大型語言模型的解決方案 – LongLoRA

大型語言模型(LLMs)已經在自然語言處理任務中帶來了革命,但它們預先定義的上下文大小限制了它們在長文檔或問題的任務中的應用性。傳統方法,如完全微調和低秩適應(LoRA),已被證明對於擴展大型語言模型的上下文窗口是無效且計算成本高昂的。這就是LongLoRA發揮作用的地方,它是一種高效的微調方法,克服了這些限制,使大型語言模型能夠有效處理更長的上下文。

標準自注意力機制(Self-Attention)和LoRA的無效性

標準自注意力機制(Self-Attention機制)在短上下文中表現良好,但隨著上下文窗口的擴大,它們在性能和效率方面遇到了困難。LoRA使用低秩權重更新,對於有效處理長上下文模型存在不足。實證研究發現,隨著上下文大小的增加,複雜度增高且計算成本增加,使得這些方法對於擴展大型語言模型的上下文窗口並不理想。

介紹LongLoRA

LongLoRA提出了一種新穎的方法,有效地微調具有擴展上下文窗口的大型語言模型。它利用FlashAttention-2和DeepSpeed ZeRO等技術來優化訓練和推理。LongLoRA引入了Shift Short Attention(S2-Attn),將上下文長度分成多組,並在每組內進行注意力計算。通過在組之間移動標記,保證了鄰近組之間的信息流動。這種方法在推理期間保持了原本的注意力結構,實現了近似長上下文的學習。

LongLoRA 設計概述

LongLoRA的關鍵組件:

  • FlashAttention-2兼容性:LongLoRA的設計與FlashAttention-2兼容,可以與現有的大型語言模型優化和基礎設施技術無縫整合。
  • DeepSpeed ZeRO:LongLoRA利用DeepSpeed ZeRO進行記憶體優化,以最大限度地減少擴展上下文窗口所需的計算成本。
  • Shift Short AttentionS2-Attn:S2-Attn通過在單個組內進行注意力計算,實現了高效的上下文擴展,相比於標準Self-Attention,減輕了計算負擔。通過標記的位移,促進了組之間的信息流動。
  • 旋轉嵌入(Rotary Embedding:LongLoRA包含可學習的嵌入和正規化層,這對於長上下文的學習至關重要。這些層只佔整個模型參數的一小部分,確保了計算效率。
Shift Short Attention示意圖

結果和改進

實驗結果證明了LongLoRA的有效性和效率。使用LongLoRA進行微調的模型在性能上與完全注意力和完全微調的模型相當,同時顯著降低計算成本。LongLoRA成功擴展了大型語言模型的上下文窗口,例如LLaMA2 7B、13B和70B,使得上下文長度可達到單個8× A100機器上的100k或32k。這些改進使得大型語言模型能夠更有效地處理長文檔和問題。

結論

LongLoRA提供了一種有效的微調方法,用於擴展大型語言模型的上下文窗口,解決了標準自注意力、LoRA和完全微調的限制。通過利用FlashAttention-2、DeepSpeed ZeRO、位移短注意力和旋轉嵌入等技術,LongLoRA在顯著降低計算成本的同時實現了與完全微調相當的性能。這一突破使得大型語言模型能夠處理長上下文,為自然語言處理任務帶來了新的可能性。

額外內容

FlashAttention-2 是 FlashAttention 的改進版本,旨在解決 Transformer 的注意力層在擴展到更長的序列長度時的效率和限制問題。注意力層是處理較長序列時的主要瓶頸,因為它的運行時間和記憶體需求呈二次方增長。FlashAttention-2 引入了更好的並行和工作分割技術,以優化注意力計算。它減少了非矩陣乘法浮點運算(FLOPs)的次數,將注意力計算在不同的線程塊之間進行並行計算,並在每個線程塊內部的線程束之間分配工作,以最小化通信和共享記憶體訪問。這些改進使得 FlashAttention-2 在速度上顯著加快,最高可達到原來的兩倍速度,接近優化矩陣乘法運算的效率。FlashAttention-2 已通過實證驗證,並證明在 GPT 風格模型的訓練速度方面更快,成為處理語言建模和其他應用中更長序列的有價值解決方案。

DeepSpeed ZeROZero Redundancy Optimizer是一種用於訓練大型深度學習模型的記憶體優化技術。它消除了數據和模型並行訓練中的記憶體冗余,提高了訓練速度,並實現了對具有數萬億參數的模型的高效訓練。通過對模型狀態進行分割和優化記憶體消耗,DeepSpeed ZeRO 允許將模型大小按比例擴展到設備數量,同時保持高計算和通信效率。它顯著減少了記憶體的需求,使得可以在大量 GPU 上訓練具有數萬億參數的模型。

本文是在 AI 的協助下撰寫,並參考以下來源:
LongloRA: Efficient Fine-tuning of Long-Context Large Language Models
LongLoRA and LongAlpaca for Long-context LLMs
FlashAttention-2: Faster Attention with Better Parallelism and Work Partitioning
ZeRO: Memory Optimizations Toward Training Trillion Parameter Models

在此感謝 InnoHK、香港特別行政區政府及人工智能金融科技實驗室對本文的支持。
(AIFT 竭力但不能保證內容之準確和可靠,亦不會承擔因任何不準確或遺漏而引起的任何損失或損害。)

分享此內容

閱讀更多

知識蒸餾:兼顧隱私和性能之道

地址

香港沙田香港科學園科技大道西 19 號
11樓 1101-1102 及 1121-1123 室

產品及解決方案

人才

工作機會

關於我們

地址

版權所有 © 2026 人工智能金融科技實驗室有限公司