200 萬上下文窗口創飛 Gemini 1.5!微軟來砸谷歌場子了

華爾街見聞
2024.02.24 01:55
portai
I'm PortAI, I can summarize articles.

微軟推出了名為 LongRoPE 的新方法,可以將上下文窗口拉長至 200 多萬 token,從而提高語言模型的長文本理解能力。這一方法在測試中表現出了較好的困惑度下降趨勢,優於基準。LongRoPE 由一名就讀於杭州電子科技大學的純華人團隊開發,訓練成本和時間也大大減少。這一消息屬於技術創新類信息。

谷歌剛刷新大模型上下文窗口長度記錄,發佈支持 100 萬 token 的 Gemini 1.5,微軟就來砸場子了。

推出大模型上下文窗口拉長新方法——LongRoPE,一口氣將上下文拉至2048k token,也就是 200 多萬!

並且 1000 步微調內,即可完成從短上下文到長上下文的擴展,同時保持原來短上下文窗口性能,也就是説訓練成本和時間又省了一大筆。

網友看不下去了,直呼 “谷歌太慘了”:

此外值得一提的是,這次 LongRoPE 為純華人團隊,論文一作 Yiran Ding,就讀於杭州電子科技大學,於實習期間完成該項工作。

LongRoPE 究竟長啥樣?先來看一波測試效果。

拿 LLaMA2 和 Mistral 試試水

上下文窗口有效拉長,語言模型長文本理解能力可以得到很大提高。研究人員在LLaMA2-7BMistral-7B上應用 LongRoPE,從三個方面評估了其性能。

第一項測試是在長文檔上評估擴展上下文語言模型的困惑度。

在 256k 以內的評估長度上,研究人員使用 Proof-pile 和 PG19 數據集來進行測試。

LongRoPE 在 4k-256k 的文本長度上,整體上顯示出困惑度下降的趨勢,優於基準。

LongRoPE 在 Proof-pile 數據集上的表現

即使在上下文窗口長度是標準長度 16 倍的條件下,LongRoPE-2048k 模型在 256k 上下文長度內也超過了最新基線水平。

LongRoPE 在 PG19 數據集上的表現

接下來上難度,從 Books3 數據集中隨機選取 20 本書,每本長度超 2048k,使用 256k 的滑動窗口。

研究人員觀察到 2048k 的 LLaMA2 和 Mistral 之間性能差異顯著。

在 8k-128k 的文本長度上二者均取得了與基線相當的或更優的困惑度。LLaMA2 的困惑度隨着文本長度的增加而逐漸下降,在 1024k 和 2048k 長度處略有上升,展示了較好的性能。

不過,Mistral 在較短的長度上勝過基線,但當文本長度超過 256k 時,其困惑度急劇上升。研究人員分析,主要原因是對於 Mistral 的微調採用了與 YaRN 相同的設置,即使用 16k 長度的文本進行訓練,導致了模型難以有效處理更長的文本。

第二項測試是用 Passkey 檢索任務評估在海量無關文本中檢索簡單密鑰的能力。

也就是在很長的文本中隨機隱藏一個五位數的密碼,讓模型找出這個密碼。

結果顯示,現有模型的準確率在文本超度超 128k 後迅速下降到 0。

而 LLaMA2-2048k 在 4k-2048k 文本範圍內保持了 90% 以上的檢索準確率,Mistral-2048k 在 1800k 之前保持了 100% 的準確率,在 2048k 時準確率下降到 60%。

第三項測試是在短 4096 上下文窗口長度內的標準大語言模型基準測試上評估。

這項測試,主要是為了檢驗模型上下文窗口被擴展後,在原有任務上的表現會不會受到負面影響。

LongRoPE-2048k 模型在原始上下文窗口大小的任務上,與原始模型相比表現相當。

在 TruthfulQA 上,擴展後的 Mistral 比原始高出 0.5%;LLaMA2 性能略微下降,但在合理的範圍內。

這是如何做到的?

LongRoPE 可以有效擴展模型上下文窗口關鍵有三:非均勻位置插值、漸進式擴展策略、短上下文窗口性能恢復。

非均勻位置插值

位置嵌入(Positional Embeddings)在 Transformer 架構中,用於幫助模型理解長句中 token 的順序。

位置嵌入通常是預先定義的,並與模型的其他參數一起訓練,當模型需要處理的文本長度超過其訓練時的上下文窗口時,新出現的 token 的位置就需要新的位置嵌入。

而 LongRoPE 通過識別並利用位置嵌入中兩個形式的非均勻性,即不同的 RoPE 維度和 token 位置,優化了位置嵌入,不用微調就能實現 8 倍的上下文窗口擴展。

這種方法通過有效的搜索算法來確定每個 RoPE 維度的最佳縮放因子,針對每個 RoPE 維度的旋轉角進行了重新縮放,同時也考慮了 token 位置的影響。

這樣,模型在擴展上下文窗口的同時,能夠更好地保留關鍵的維度和位置信息,減少信息損失。

漸進式擴展策略

此外,LongRoPE 採用了一種漸進式擴展的方法。研究人員先對預訓練的大模型進行微調,使其適應 256k 長度的文本。

然後,在微調後模型基礎上進行搜索,找到新的位置插值參數以重新縮放 RoPE,最終實現 2048k 上下文窗口,這個過程無需額外微調。

短上下文窗口性能恢復

在 RoPE(旋轉位置編碼)中,超長上下文窗口會使得原始窗口內的維度被迫聚集在更小範圍內,從而影響模型性能。

為此,研究人員調整了短上下文窗口 RoPE 的重縮放因子,使其與長上下文時不同,緩解了性能下降的問題。

通過這種動態調整機制,LongRoPE 在處理極長文本和處理短文本時都表現良好。

LongRoPE 發佈後,部分網友認為 RAG 恐面臨淘汰:

不過也有質疑的聲音:

論文鏈接:https://arxiv.org/abs/2402.13753 參考鏈接:https://twitter.com/xiaohuggg/status/1760547784879722538

風險提示及免責條款

市場有風險,投資需謹慎。本文不構成個人投資建議,也未考慮到個別用户特殊的投資目標、財務狀況或需要。用户應考慮本文中的任何意見、觀點或結論是否符合其特定狀況。據此投資,責任自負。