首頁 科技週邊 人工智慧 直接擴展到無限長,GoogleInfini-Transformer終結上下文長度之爭

直接擴展到無限長,GoogleInfini-Transformer終結上下文長度之爭

Apr 13, 2024 am 08:00 AM
Google 產業 記憶體佔用

不知 Gemini 1.5 Pro 是否用到了這項技術。

Google又放大招了,發布下一代 Transformer 模型 Infini-Transformer。

Infini-Transformer 引入了一種有效的方法,可以將基於 Transformer 的大型語言模型 (LLM) 擴展到無限長輸入,而不增加記憶體和計算需求。使用該技術,研究者成功將一個 1B 的模型上下文長度提高到 100 萬;應用到 8B 模型上,模型能處理 500K 的書籍摘要任務。

自 2017 年開創性研究論文《Attention is All You Need》問世以來,Transformer 架構就一直主導著生成式人工智慧領域。而Google對 Transformer 的優化設計最近比較頻繁,幾天前,他們更新了 Transformer 架構,發布 Mixture-of-Depths(MoD),改變了以往 Transformer 計算模式。沒過幾天,谷歌又放了這項新研究。

專注 AI 領域的研究者都了解記憶體的重要性,它是智慧的基石,可以為 LLM 提供高效的運算。然而,Transformer 和基於 Transformer 的 LLM 由於注意力機制的固有特性,即 Transformer 中的注意力機制在記憶體佔用和計算時間上都表現出二次複雜性。例如,對於批次大小為 512、上下文長度為 2048 的 500B 模型,注意力鍵 - 值 (KV) 狀態的記憶體佔用為 3TB。但事實上,標準 Transformer 架構有時需要將 LLM 擴展到更長的序列(如 100 萬 token),這就帶來巨大的記憶體開銷,並且隨著上下文長度的增加,部署成本也在增加。

基於此,Google引入了一種有效的方法,其關鍵組成部分是一種稱為 Infini-attention(無限注意力)的新註意力技術。不同於傳統的 Transformer 使用局部注意力丟棄舊片段,為新片段釋放記憶體空間。 Infini-attention 增加了壓縮記憶體(compressive memory),可以將使用後的舊片段儲存到壓縮記憶體中,輸出時會聚合當前上下文資訊以及壓縮記憶體中的信息,因而模型可以檢索完整的上下文歷史。

該方法使 Transformer LLM 在有限記憶體的情況下擴展到無限長上下文,並以流的方式處理極長的輸入進行計算。

實驗表明,該方法在長上下文語言建模基準測試中的效能優於基線,同時記憶體參數減少了 100 倍以上。當使用 100K 序列長度進行訓練時,模型實現了更好的困惑度。此外研究發現,1B 模型在 5K 序列長度的密鑰實例上進行了微調,解決了 1M 長度的問題。最後,論文展示了具有 Infini-attention 的 8B 模型經過持續的預訓練和任務微調,在 500K 長度的書籍摘要任務上達到了新的 SOTA 結果。

本文貢獻總結如下:

  • #引入了一個實用且強大的注意力機制Infini-attention——具有長期壓縮記憶體和局部因果注意力,可用於有效地建模長期和短期上下文依賴關係;
  • Infini-attention 對標準縮放點積注意力( standard scaled dot-product attention)進行了最小的改變,並透過設計支持即插即用的持續預訓練和長上下文自適應;
  • ##該方法使Transformer LLM 能夠透過流的方式處理極長的輸入,在有限的記憶體和計算資源下擴展到無限長的上下文。
直接擴展到無限長,GoogleInfini-Transformer終結上下文長度之爭
  • 論文連結:https://arxiv.org/pdf/2404.07143.pdf
  • #論文標題:Leave No Context Behind: Efficient Infinite Context Transformers with Infini-attention


直接擴展到無限長,GoogleInfini-Transformer終結上下文長度之爭

##### ###############Infini-attention 使Transformer LLM 能夠透過有限的記憶體佔用和計算有效地處理無限長的輸入。如下圖 1 所示,Infini-attention 將壓縮記憶融入到普通的注意力機制中,並在單一 Transformer 區塊中建立了掩碼局部注意力和長期線性注意力機制。 ###############對 Transformer 注意力層進行這種微妙但關鍵的修改可以透過持續的預訓練和微調將現有 LLM 的上下文視窗擴展到無限長。 ###############Infini-attention 採用標準注意力計算的所有鍵、值和查詢狀態,以進行長期記憶鞏固(memory consolidation)和檢索,並將注意力的舊KV 狀態儲存在壓縮記憶體中,而不是像標準注意力機制那樣丟棄它們。在處理後續序列時,Infini-attention 使用注意查詢狀態從記憶體中檢索值。為了計算最終的上下文輸出,Infini-attention 聚合了長期記憶檢索值和局部注意力上下文。

如下圖 2 所示,研究團隊比較了基於 Infini-attention 的 Infini-Transformer 和 Transformer-XL。與 Transformer-XL 類似,Infini-Transformer 對 segment 序列進行操作,並計算每個 segment 中的標準因果點積注意力上下文。因此,點積注意力計算在某種意義上是局部的。
直接擴展到無限長,GoogleInfini-Transformer終結上下文長度之爭
然而,局部注意力在處理下一個segment 時會丟棄前一個segment 的注意力狀態,但Infini-Transformer 復用舊的KV 注意力狀態,以透過壓縮儲存來維護整個上下文歷史。因此,Infini-Transformer 的每個注意力層都具有全域壓縮狀態和局部細粒度狀態。

與多頭注意力(MHA)類似,除了點積注意力之外,Infini-attention 還為每個注意力層維護H 個並行壓縮記憶體(H是注意力頭的數量)。
直接擴展到無限長,GoogleInfini-Transformer終結上下文長度之爭
下表 1 列出了幾種模型根據模型參數和輸入 segment 長度,定義的上下文記憶體佔用和有效上下文長度。 Infini-Transformer 支援具有有限記憶體佔用的無限上下文視窗。
直接擴展到無限長,GoogleInfini-Transformer終結上下文長度之爭
實驗

#該研究在長上下文語言建模、長度為1M 的在密鑰上下文區塊檢索和500K 長度的書籍摘要任務上評估了Infini-Transformer 模型,這些任務具有極長的輸入序列。對於語言建模,研究者選擇從頭開始訓練模型,而對於金鑰和書籍摘要任務,研究者採用不斷預訓練 LLM 的方式,以證明 Infini-attention 即插即用的長上下文適應能力。

長上下文語言建模。表 2 結果顯示 Infini-Transformer 優於 Transformer-XL 和 Memorizing Transformers 基線,且與 Memorizing Transformer 模型相比,儲存參數減少了 114 倍。
直接擴展到無限長,GoogleInfini-Transformer終結上下文長度之爭
金鑰任務。表 3 為 Infini-Transformer 在 5K 長度輸入上微調後,解決了高達 1M 上下文長度的金鑰任務。實驗中輸入 token 的範圍從 32K 到 1M,對於每個測試子集,研究者控制密鑰的位置,使其位於輸入序列的開頭、中間或結尾附近。實驗報告了零樣本準確率和微調準確率。在對 5K 長度輸入進行 400 個步驟的微調後,Infini-Transformer 解決了高達 1M 上下文長度的任務。
直接擴展到無限長,GoogleInfini-Transformer終結上下文長度之爭
摘要任務。表 4 將 Infini-Transformer 與專門為摘要任務構建的編碼器 - 解碼器模型進行了比較。結果表明 Infini-Transformer 超越了先前最佳結果,並且透過處理書中的整個文本在 BookSum 上實現了新的 SOTA。 
直接擴展到無限長,GoogleInfini-Transformer終結上下文長度之爭
研究者在圖 4 中也繪製了 BookSum 資料驗證分割的總體 Rouge 分數。根據折線趨勢表明,隨著輸入長度的增加,Infini-Transformers 提高了摘要效能指標。

直接擴展到無限長,GoogleInfini-Transformer終結上下文長度之爭

以上是直接擴展到無限長,GoogleInfini-Transformer終結上下文長度之爭的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
Bangla 部分模型檢索中的 Laravel Eloquent ORM) Bangla 部分模型檢索中的 Laravel Eloquent ORM) Apr 08, 2025 pm 02:06 PM

LaravelEloquent模型檢索:輕鬆獲取數據庫數據EloquentORM提供了簡潔易懂的方式來操作數據庫。本文將詳細介紹各種Eloquent模型檢索技巧,助您高效地從數據庫中獲取數據。 1.獲取所有記錄使用all()方法可以獲取數據庫表中的所有記錄:useApp\Models\Post;$posts=Post::all();這將返回一個集合(Collection)。您可以使用foreach循環或其他集合方法訪問數據:foreach($postsas$post){echo$post->

CS-第 3 週 CS-第 3 週 Apr 04, 2025 am 06:06 AM

算法是解決問題的指令集,其執行速度和內存佔用各不相同。編程中,許多算法都基於數據搜索和排序。本文將介紹幾種數據檢索和排序算法。線性搜索假設有一個數組[20,500,10,5,100,1,50],需要查找數字50。線性搜索算法會逐個檢查數組中的每個元素,直到找到目標值或遍歷完整個數組。算法流程圖如下:線性搜索的偽代碼如下:檢查每個元素:如果找到目標值:返回true返回falseC語言實現:#include#includeintmain(void){i

Redis內存使用率過高怎麼辦? Redis內存使用率過高怎麼辦? Apr 10, 2025 pm 02:21 PM

Redis內存飆升的原因包括:數據量過大、數據結構選擇不當、配置問題(如maxmemory設置過小)、內存洩漏。解決方法有:刪除過期數據、使用壓縮技術、選擇合適的結構、調整配置參數、檢查代碼是否存在內存洩漏、定期監控內存使用情況。

Redis持久化對內存的影響是什麼? Redis持久化對內存的影響是什麼? Apr 10, 2025 pm 02:15 PM

Redis持久化會額外佔用內存,RDB在生成快照時臨時增加內存佔用,AOF在追加日誌時持續佔用內存。影響因素包括數據量、持久化策略和Redis配置。要減輕影響,可合理配置RDB快照策略、優化AOF配置、升級硬件和監控內存使用情況。此外,在性能和數據安全之間尋求平衡至關重要。

如何根據業務需求設置Redis內存大小? 如何根據業務需求設置Redis內存大小? Apr 10, 2025 pm 02:18 PM

Redis 內存大小設置需要考慮以下因素:數據量及增長趨勢:估算存儲數據的大小和增長率。數據類型:不同類型(如列表、哈希)佔用內存不同。緩存策略:全緩存、部分緩存和淘汰策略會影響內存使用。業務峰值:預留足夠內存應對流量高峰。

Redis內存數據類型有哪些? Redis內存數據類型有哪些? Apr 10, 2025 pm 02:06 PM

Redis 提供五種核心內存數據類型:String:基礎字符串存儲,支持遞增/遞減操作。 List:雙向鍊錶,高效插入/刪除操作。 Set:無序集合,用於去重操作。 Hash:鍵值對存儲,適合存儲結構化數據。 Zset:有序集合,每個元素帶分數,可按分數排序。選擇合適的數據類型對於優化性能至關重要。

XML如何添加新的節點 XML如何添加新的節點 Apr 02, 2025 pm 07:15 PM

XML節點添加技巧:通過理解樹狀結構並找到合適的插入點,使用ElementTree庫的SubElement函數創建新節點。更複雜的場景需要根據節點屬性或內容進行選擇性插入或批量添加,這需要邏輯判斷和循環。對於大型文件,考慮使用更快的lxml庫。遵循良好代碼風格,清晰註釋有助於代碼的可讀性和可維護性。

虛擬幣最老的幣排行榜最新更新 虛擬幣最老的幣排行榜最新更新 Apr 22, 2025 am 07:18 AM

虛擬貨幣“最老”排行榜如下:1. 比特幣(BTC),發行於2009年1月3日,是首個去中心化數字貨幣。 2. 萊特幣(LTC),發行於2011年10月7日,被稱為“比特幣的輕量版”。 3. 瑞波幣(XRP),發行於2011年,專為跨境支付設計。 4. 狗狗幣(DOGE),發行於2013年12月6日,基於萊特幣代碼的“迷因幣”。 5. 以太坊(ETH),發行於2015年7月30日,首個支持智能合約的平台。 6. 泰達幣(USDT),發行於2014年,是首個與美元1:1錨定的穩定幣。 7. 艾達幣(ADA),發

See all articles