今天小編分享的科學經驗:200萬上下文視窗創飛Gemini 1.5!微軟來砸谷歌場子了(doge),歡迎閱讀。
谷歌剛刷新大模型上下文視窗長度記錄,發布支持 100 萬 token 的 Gemini 1.5,微軟就來砸場子了。
推出大模型上下文視窗拉長新方法——LongRoPE,一口氣将上下文拉至2048k token,也就是 200 多萬!
并且 1000 步微調内,即可完成從短上下文到長上下文的擴展,同時保持原來短上下文視窗性能,也就是說訓練成本和時間又省了一大筆。
網友看不下去了,直呼 " 谷歌太慘了 ":
此外值得一提的是,這次 LongRoPE 為純華人團隊,論文一作 Yiran Ding,就讀于杭州電子科技大學,于實習期間完成該項工作。
LongRoPE 究竟長啥樣?先來看一波測試效果。
拿 LLaMA2 和 Mistral 試試水
上下文視窗有效拉長,語言模型長文本理解能力可以得到很大提高。研究人員在LLaMA2-7B和Mistral-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