GATED DELTA NETWORKS : IMPROVING MAMBA 2 WITH DELTA RULE

TL;DR

  • 2024 年 Nvidia + MIT 提出的線性Transformer 方法 Gated DeltaNet,融合了自適應內存控制的門控機制(gating)和用于精確內存修改的delta更新規則(delta update rule),在多個基準測試中始終超越了現有的模型,如 Mamba2 和 DeltaNet。

Paper name
GATED DELTA NETWORKS : IMPROVING MAMBA 2 WITH DELTA RULE

Paper Reading Note

Paper URL:

  • https://arxiv.org/pdf/2412.06464

Code URL:

  • https://github.com/NVlabs/GatedDeltaNet

Introduction

背景

  • 線性Transformer作為標準Transformer的高效替代方案已受到關注,但其在檢索任務和長上下文任務中的表現一直有限
  • 為解決這些局限性,近期研究探索了兩種不同的機制:用于自適應內存控制的門控機制(gating)和用于精確內存修改的delta更新規則(delta update rule)。本文發現這兩種機制是互補的——門控機制能夠實現快速內存清除,而 delta 規則則有助于有針對性的更新。

本文方案

  • 提出了 Gated DeltaNet(gated delta rule),并開發了一種針對現代硬件優化的并行訓練算法
    • 提出的架構 Gated DeltaNet 在多個基準測試中始終超越了現有的模型,如 Mamba2 和 DeltaNet,涵蓋語言建模、常識推理、上下文檢索、長度外推和長上下文理解等任務。
    • 進一步通過開發混合架構來提升性能,將 Gated DeltaNet 層與滑動窗口注意力機制或 Mamba2 層相結合,在提高訓練效率的同時實現了更優的任務表現

Methods

回顧

  • linear attention 的一般形式
    在這里插入圖片描述
  • mamba2 增加了一個 data-dependent decay 項
    在這里插入圖片描述
  • delta net rule:動態擦除與當前輸入 kt 想關聯的 vold,然后寫入一個新值 vnew,后者是當前輸入值和舊值的線性組合
    在這里插入圖片描述

Gated Delta Net

  • 本文提出的 Gated Delta Net
    在這里插入圖片描述
    數據依賴的門控項 α t ∈ ( 0 , 1 ) \alpha_{t} \in (0, 1) αt?(0,1) 控制狀態的衰減

該公式統一了門控機制和 Delta 規則的優點,使模型能夠通過選擇性遺忘實現動態內存管理,在過濾無關信息方面具有潛在優勢:

  • 門控項 α t \alpha_{t} αt? 實現自適應內存管理;
  • Delta 更新結構有助于有效的鍵值關聯學習

單針在 haystack 中(S-NIAH)驗證

在 RULER(Hsieh 等,2024)提出的 Single Needle-In-A-Haystack(S-NIAH) 基準套件上進行案例分析。在這個任務中,一個鍵值對作為“針”隱藏在上下文(即 haystack)中,模型需要在給定鍵的情況下回憶出對應的值。
在這里插入圖片描述

衰減機制損害記憶保持能力

在最簡單的 S-NIAH-1 設置中,使用重復的合成上下文,模型僅需記憶少量信息,測試的是長期記憶保留能力。

  • DeltaNet 在所有序列長度下都接近完美表現;
  • Mamba2 在超過 2K 長度時性能顯著下降,因為其衰減歷史信息過快;
  • Gated DeltaNet 的性能下降較輕,得益于 Delta 規則的記憶保留能力。
門控機制有助于過濾無關信息

在 S-NIAH-2/3 使用真實世界文章作為上下文的任務中,模型需要存儲所有可能相關的信息,測試的是高效的內存管理能力。

  • 固定狀態大小下,缺乏清除機制會導致“內存沖突”——信息疊加、難以區分;
  • DeltaNet 在長序列中性能大幅下降,因其內存清除能力不足;
  • Mamba2 和 Gated DeltaNet 則通過門控機制過濾無關信息,維持了更好的性能。
Delta 規則增強記憶能力

在 S-NIAH-3 中,值從數字變為 UUID,測試的是復雜模式的記憶能力。

  • Mamba2 性能迅速下降;
  • Gated DeltaNet 表現更優,驗證了 Delta 規則確實具備更強的記憶能力。

Gated DeltaNet 與混合模型設計

基本的 Gated DeltaNet 架構沿用 Llama 的宏觀架構,堆疊 token mixer 層和 SwiGLU MLP 層,但將自注意力替換為基于 Gated Delta 規則 的 token mixing 方法。

  • 查詢、鍵和值 {q,k,v} 通過線性投影、短卷積和 SiLU 激活生成,且 q,k 經過 L2 歸一化以提升訓練穩定性。參數 α,β 僅通過線性投影生成。輸出經過歸一化和門控處理后再應用輸出投影
    在這里插入圖片描述

  • 線性 Transformer 在建模局部變化和比較方面存在局限,固定的狀態大小也使得檢索任務困難。

    • 將線性循環層與滑動窗口注意力(Sliding Window Attention, SWA)結合,構建了 GatedDeltaNet-H1
    • 進一步堆疊 Mamba2、GatedDeltaNet 和 SWA,構建了 GatedDeltaNet-H2

Experiments

實驗配置

  • 為了保證公平比較,所有模型均在相同條件下訓練,參數量均為 13 億(1.3B),訓練數據為從 FineWeb-Edu 數據集 (Penedo 等,2024)中采樣的 1000 億(100B)個 token

常識推理

  • Gated DeltaNet 在兩個參數規模上均持續優于其他線性模型
    在這里插入圖片描述

真實世界數據中的上下文檢索(In-Context Retrieval on Real-World Data)

  • 與標準 Transformer 相比,純線性循環模型存在顯著性能差距;而將線性循環機制與注意力結合的混合模型在檢索任務中優于純注意力模型。
    在這里插入圖片描述

長序列上的長度外推能力(Length Extrapolation on Long Sequences)

  • 在六個長上下文基準任務中評估了模型對長達 20K token 序列的外推能力。在所有 RNN 模型中,Gated DeltaNet 實現了最低的整體困惑度。
    在這里插入圖片描述

長上下文理解(Long Context Understanding)

  • 基于 LongBench 測試,在線性循環模型中,Gated DeltaNet 展現出穩定優勢,特別是在單文檔問答(single-doc QA)、少量樣本上下文學習(few-shot in-context learning)和代碼任務(Code)中,分別體現了其在信息檢索、上下文學習和狀態追蹤方面的優越能力。
    在這里插入圖片描述

吞吐量對比(Throughput Comparison)

  • 圖3展示了不同模型的訓練吞吐量對比。
    • 相比原始 Delta 規則,提出的門控 Delta 規則僅引入了輕微的額外開銷,Gated DeltaNet 與 DeltaNet 的吞吐量基本相當。由于采用了更具表達力的狀態轉移矩陣,它們的訓練速度略慢于 Mamba2(約2–3K token/秒)。
    • 滑動窗口注意力(SWA)能提速,Gated DeltaNet-H1 和 -H2 優于 Gated DeltaNet。
      在這里插入圖片描述

Conclusion

  • 提出了 Gated DeltaNet ,相比 Mamba2 具備更強的鍵值關聯學習能力,相比 DeltaNet 具備更靈活的內存清除機制

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/82795.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/82795.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/82795.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Laravel單元測試使用示例

Date: 2025-05-28 17:35:46 author: lijianzhan 在 Laravel 框架中,單元測試是一種常用的測試方法,它是允許你測試應用程序中的最小可測試單元,通常是方法或函數。Laravel 提供了內置的測試工具PHPUnit,實踐中進行單元測試是保障代…

【FastAPI】--3.進階教程(二)

【FastAPI】--進階教程1-CSDN博客 【FastAPI】--基礎教程-CSDN博客 目錄 1.FastAPI - CORS ?2.FastAPI - CRUD 操作 2.1.Create 2.2.Read 2.3.Update 2.4.Delete 3.FastAPI - 使用 GraphQL 4.FastAPI - Websockets 5.FastAPI - 事件處理程序 6.FastAPI - 安裝 Fla…

FEMFAT許可的更新與升級流程

隨著工程仿真技術的不斷發展,FEMFAT作為一款領先的疲勞分析軟件,持續為用戶提供卓越的性能和創新的功能。為了保持軟件的最新性和高效性,了解FEMFAT許可的更新與升級流程至關重要。本文將為您詳細介紹FEMFAT許可的更新與升級流程,…

麒麟v10,arm64架構,編譯安裝Qt5.12.8

Window和麒麟x86_64架構,官網提供安裝包,麒麟arm64架構的,只能自己用編碼編譯安裝。 注意,“桌面”路徑是中文,所以不要把源碼放在桌面上編譯。 1. 下載源碼 從官網下載源碼:https://download.qt.io/arc…

20250528-C#知識:結構體

C#知識:結構體 結構體是一種自定義數據類型,用戶可以根據自身需求設計自己的結構體用來表示某種數據集合。結構體是一種值類型,結合了值類型的優點,避免了引用類型的缺點。本文簡單介紹并探究一下C#中的結構體。 結構體一般寫在命…

CRM系統的功能模塊劃分

基礎管理模塊 用戶管理 用戶注冊與登錄角色權限管理部門組織架構用戶信息管理 系統設置 基礎參數配置系統日志管理數據字典管理系統監控 客戶管理模塊 客戶信息管理 客戶基本信息客戶分類管理客戶標簽管理客戶關系圖譜 聯系人管理 聯系人信息聯系記錄溝通歷史重要日期提醒 …

Python中的跨域資源共享(CORS)處理

在Web開發中,跨域資源共享(CORS)是瀏覽器強制執行的安全機制,用于控制不同源(協議域名端口)之間的資源交互。下面我將通過Python示例詳細講解CORS的實現。 原生Python實現CORS Flask框架手動實現CORS fr…

Kruskal算法剖析與py/cpp/Java語言實現

Kruskal算法剖析與py/cpp/Java語言實現 一、Kruskal算法的基本概念1.1 最小生成樹1.2 Kruskal算法核心思想 二、Kruskal算法的執行流程三、Kruskal算法的代碼實現3.1 Python實現3.2 C實現3.3 Java實現 四、算法復雜度分析4.1 時間復雜度4.2 空間復雜度 五、Kruskal算法應用場景…

微信小程序返回上一頁監聽

本文實現的是微信小程序在返回上一頁時獲取通知并自定義業務。 最簡單的實現: 使用 wx.enableAlertBeforeUnload() 優點:快速接入 缺點:手勢不能識別、無法自定義彈窗內容(僅詢問) 方法二: page-conta…

Excel 統計某個字符串在指定區域出現的次數

【本文概要】 Excel 統計某個字符串在指定區域出現的次數: 1、Excel 統計一個單元格內的某字符串的出現次數 2、Excel 統計某一列所有單元格內的某字符串的出現次數 3、Excel 統計某一區域所有單元格內的某字符串的出現次數 1、Excel 統計一個單元格內的某字符串的出…

生物化學:藥品藥物 營養和補充劑信息 第三方認證信息 常見誤區 匯總

常見維生素和礦物質成分表 成分名稱好處副作用(超量或敏感情況)運作方式推薦日劑量(成人)劑量說明維生素A(視黃醇)視力、免疫、皮膚健康過量可致肝損傷、頭痛、脫發調節視網膜功能、細胞分化700–900 g RA…

mock庫知識筆記(持續更新)

文章目錄 mock簡介導入方式參數簡介使用場景(待更新)常見問題總結(待更新)Python代碼官網 mock簡介 mock是一個模擬對象庫,具有模擬其他python對象的功能,還能指定模擬對象的返回值和設置模擬對象的屬性。…

扇形 圓形 面積公式

? 一、圓的面積公式 全圓面積: A circle π r 2 A_{\text{circle}} \pi r^2 Acircle?πr2 ? 二、扇形的面積公式(兩種制式) 弧度制: A sector 1 2 r 2 θ A_{\text{sector}} \frac{1}{2} r^2 \theta Asector?21?r2θ …

怎樣將win11+ubuntu雙系統的ubuntu從機械硬盤遷移至固態硬盤(1)

將 Ubuntu 從機械硬盤遷移到固態硬盤是一個涉及多個步驟的過程。以下是一個基本的遷移指南: 1. 前期準備 1.1 備份數據: 確保你已備份數據,以防止在遷移過程中出現意外導致任何數據丟失。 1.2 固態硬盤安裝: 確保固態硬盤正確…

js中common.js和ECMAScript.js區別

以下是關于 CommonJS 和 ECMAScript Modules(ESM)的詳細對比分析,包含底層原理和示例說明: 🧩 核心差異對比表 特性CommonJSES Modules來源Node.js 社區規范ECMAScript 語言標準加載方式動態加載(運行時解…

玻纖效應的時序偏差

隨著比特率繼續飆升,光纖編織效應時序偏移正成為一個越來越嚴重的問題。對于 5GB/s 及以上的信號傳輸速率,它實際上會毀了您的一天。例如,左圖顯示由于 12.7 英寸的纖維編織效果,5GB/s 的接收眼完全閉合。使用 Agilent ADS 軟件進…

異步上傳石墨文件進度條前端展示記錄(采用Redis中String數據結構實現)

事件起因是客戶現場需要從石墨文檔中獲取文件信息,文件信息存在存在多個,進行批量上傳。為了用戶的友好型體驗,需要做進行條展示的方式,具體實現見下文… 上傳流程介紹 石墨文檔支持從鏈接🔗方式獲取文件信息&#xf…

3D建模的全景圖譜:從55個工具到元宇宙的數字革命

3D建模已從專業工程師的工具箱演變為全民創作的數字語言。從代碼驅動的精確建模到AI自動生成紋理,從開源協作到程序化生成城市,技術正重塑我們創造虛擬世界的方式。本文將系統解析55個核心3D建模工具/插件,涵蓋在線編輯器、開源軟件、程序化生…

jsrpc進階模式 秒殺js前端逆向問題 burp聯動進行爆破

案例演示 思路就是 這個 jsrpc遠程加載加密函數的方法就是 在js代碼中進行插入一個 遠程加載的代碼 從而實現 : 第一步還是使用 js_tools 進行 查找算法的位置 這個可以幫助我們找到明文>密文 加密算法函數的位置 因為這個需要我們進行js前端代碼的修改 所以…

基于BERT-Prompt的領域句子向量訓練方法

基于BERT-Prompt的領域句子向量訓練方法 一、核心原理:基于BERT-Prompt的領域句子向量訓練方法 論文提出一種結合提示學習(Prompt Learning)和BERT的領域句子向量訓練方法,旨在解決裝備保障領域文本的語義表示問題。核心原理如下: 以下通過具體例子解釋傳統詞向量方法和…