將上下文長度擴展到256k,無限上下文版本的LongLLaMA來了?
今年 2 月,Meta 發布的 LLaMA 大型語言模型系列,成功推動了開源聊天機器人的發展。因為 LLaMA 比之前發布的很多大模型參數少(參數量從 70 億到 650 億不等),但性能更好,例如,最大的 650 億參數的 LLaMA 模型可以媲美谷歌的 Chinchilla-70B 和 PaLM-540B,所以一經發布讓很多研究者興奮不已。
然而,LLaMA 僅授權給學術界的研發人員使用,從而限制了該模型的商業應用。
因而,研究者開始尋找那些可用于商業用途的 LLaMA,UC 伯克利的博士生 Hao Liu 發起的項目 OpenLLaMA,就是其中一個比較熱門的 LLaMA 開源復制品,其使用了與原始 LLaMA 完全相同的預處理和訓練超參數,可以說 OpenLLaMA 完全按照 LLaMA 的訓練步驟來的。最重要的一點是,該模型可商用。
OpenLLaMA 在 Together 公司發布的 RedPajama 數據集上訓練完成,有三個模型版本,分別為 3B、7B 和 13B,這些模型都經過了 1T tokens 的訓練。結果顯示,OpenLLaMA 在多項任務中的表現都與原始 LLaMA 相當,甚至有超越的情況。
除了不斷發布新模型,研究者對模型處理 token 的能力探索不斷。
幾天前,田淵棟團隊的最新研究用不到 1000 步微調,將 LLaMA 上下文擴展到 32K。再往前追溯,GPT-4 支持 32k token(這相當于 50 頁的文字) ,Claude 可以處理 100k token (大概相當于一鍵總結《哈利波特》第一部)等等。
現在,一個新的基于 OpenLLaMA 大型語言模型來了,它將上下文的長度擴展到 256k token,甚至更多。該研究由 IDEAS NCBR 、波蘭科學院、華沙大學、 Google DeepMind 聯合完成。
圖片
LongLLaMA 基于 OpenLLaMA 完成,微調方法采用 FOT ( Focused Transformer )。本文表明,FOT 可以用于對已經存在的大型模型進行微調,以擴展其上下文長度。
該研究以 OpenLLaMA-3B 和 OpenLLaMA-7B 模型為起點,并使用 FOT 對它們進行微調。由此產生的模型稱之為 LONGLLAMAs,能夠在其訓練上下文長度之外進行外推(甚至可以達到 256K),并且在短上下文任務上還能保持性能。
- 項目地址:https://github.com/CStanKonrad/long_llama
- 論文地址:https://arxiv.org/pdf/2307.03170.pdf
有人將這一研究形容為 OpenLLaMA 的無限上下文版本,借助 FOT,模型很容易外推到更長的序列,例如在 8K token 上訓練的模型,可以很容易外推到 256K 窗口大小。
圖片
本文用到了 FOT 方法,它是 Transformer 模型中一種即插即用的擴展,可用于訓練新模型,也可對現有的較大模型進行更長上下文微調。
為了達到這一目的,FOT 使用了記憶注意力層和跨批次(crossbatch)訓練過程:
- 記憶注意力層使模型能夠在推理時從外部存儲器中檢索信息,從而有效地擴展了上下文;
- 跨批次訓練過程使模型傾向于學習(鍵,值)表示,這些表示對于記憶注意力層的使用非常簡便。
有關 FOT 架構的概述,請參見圖 2:
圖片
下表為 LongLLaMA 的一些模型信息:
圖片
最后,該項目還提供了 LongLLaMA 與原始 OpenLLaMA 模型的比較結果。
下圖為 LongLLaMA 一些實驗結果,在密碼檢索任務上,LongLLaMA 取得了良好的性能。具體而言,LongLLaMA 3B 模型遠遠超出了它的訓練上下文長度 8K,對于 token 為 100k 時,準確率達到 94.5%,當 token 為 256k 時,準確率為 73%。
圖片
下表為 LongLLaMA 3B 模型在兩個下游任務(TREC 問題分類和 WebQS 問題回答)上的結果,結果顯示,在使用長上下文時,LongLLaMA 性能改進明顯。
圖片
下表顯示了即使在不需要長上下文的任務上,LongLLaMA 也能表現良好。實驗在零樣本設置下,對 LongLLaMA 和 OpenLLaMA 進行了比較。
圖片
了解更多細節,可參考原論文與項目。