Mamba與MoE架構強強聯合,Mamba-MoE高效提升LLM計算效率和可擴展性

43008843de874a75be6866fb07305205.png

論文題目: MoE-Mamba: Efficient Selective State Space Models with Mixture of Experts
論文鏈接:?https://arxiv.org/abs/2401.04081
代碼倉庫:?GitHub - llm-random/llm-random

作為大型語言模型(LLM)基礎架構的后起之秀,狀態空間模型(State Space Models,SSMs)在序列數據建模領域中已取得了驚人的發展。其中Mamba模型改進了傳統的SSM,其通過輸入依賴的方式來調整SSM中的參數,允許模型自適應的根據輸入數據選擇性的傳輸或遺忘信息,來提高模型在密集型數據上的計算效率。與此同時,Mixture of Experts(MoE)框架也顯著改進了基于Transformer的LLM,如何設計更高效的MoE混合策略也成為了LLM研究領域中的潮流方向。

本文介紹一篇來自IDEAS NCBR和華沙大學合作完成的文章,本文作者探索了如何將SSM與MoE結合起來,提出了一種名為MoE-Mamba的框架,MoE-Mamba繼承了SSM序列模型的遞歸計算特性,在推理速度方面相比傳統Transformer具有天然優勢,同時預測精度優于 Mamba 和 Transformer-MoE。特別的是,MoE-Mamba可以在減少訓練steps的情況下達到與普通 Mamba 相同的性能

01. 引言

SSMs模型相比Transformer具有很多優勢,例如可并行訓練、推理時的線性時間復雜度以及在長上下文任務上的依賴捕獲能力。特別是近期提出的Mamba模型[1],基于選擇性的SSM和硬件感知設計在多種語言理解任務上取得了優異的結果,被學術界廣泛認為是下一個替代注意力Transformer結構的有力競爭者。Mamba對GPU顯存的占用不依賴于上下文長度,因為其反向傳播所需的中間狀態不會被保存,而是在反向傳播期間重新計算,強調了狀態壓縮的重要性。此外,專家混合模型MoE[2]被證明可以有效擴展和提升Transformer模型的性能,其可以大幅增加模型的參數數量,而不會對模型推理和訓練所需的 FLOP 產生太大影響,例如近期開源的Mixtral8×7B [3],性能與LLaMa-2 70B相當,但是推理計算量僅為后者的1/6。

4d3db7d34a9f434ebf3abfe5e52080bb.png

本文引入了一種將Mamba與MoE層相結合的模型MoE-Mamba,MoE-Mamba實現了a+b>c的效果,上圖展示了MoE-Mamba與其他baseline方法的性能對比效果,可以看到,MoE-Mamba可以在普通Mamba的基礎上實現對模型訓練步驟縮減的效果。如上圖黑色虛線所示,MoE-Mamba在減少2.2倍訓練steps的情況下達到了與普通Mamba相同的性能。后續的其他實驗也表明,MoE-Mamba擁有大規模擴展模型參數規模的潛力

02. 本文方法

盡管 Mamba 的主要底層機制與 Transformer 中使用的注意力機制有很大不同,但 Mamba 仍然保留了 Transformer 模型的層次結構(即塊疊加)。例如包含一層或多層的相同塊依次堆疊,每一層的輸出會被匯聚到殘差信息流中再送入到下一個塊中,殘差流的最終狀態隨后被用于預測語言建模任務中的下一個token。下圖展示了這些架構的細節對比,從左到右分別是vanilla Transformer、MoE-Transformer、Mamba、MoE-Mamba。

39316c309a36437cb2d00ccfbb5e5475.png

本文提出的MoE-Mamba充分利用了前兩種架構的兼容性,例如,在原有Mamba結構的基礎上仿照MoE-Transformer將兩個mamba塊中的其中一個替換成一個可選擇的MoE塊。這種將mamba層與MoE交錯設置的模式可以有效地將序列的整個上下文集成到mamba塊的內部表示中,從而將其與MoE層的條件處理分開。

b19196ff06eb4a16afb52ec48d98a517.png

此外,本文作者認為如果將Mamba塊和MoE塊在局部層的范圍內進行并行執行也是一個非常有前景的改進方向,如上圖左側展示了一種并行的Mamba+MoE 架構,右側展示了Mamba Block的構成。如果將Mamba Block中的輸出投影也替換為MoE,模型可以選擇更少的模塊來匹配當前輸入計算的需要,也能實現與原始Mamba架構相當的效果。當然,也可以進一步將MoE替換Conv Projection層來進一步減少計算量。

03. 實驗效果

在本文的實驗部分,作者比較了5種不同的設置:vanilla Transformer、Mamba、Mamba-MLP、MoE 和 MoE-Mamba。為了保證 Mamba 和本文MoE-Mamba模型中每個token的活動參數數量大致相同,作者將每個MoE前饋層的參數量進行了縮減。不包括嵌入層和非嵌入層,所有模型的每個 token 大約需要訪問 26M 個參數,訓練數據集使用C4,整體的訓練量為大約6.5B個token和10萬個訓練steps。

4abaf58c60e6438a8b3019c786c358e1.png

上表展示了上述幾種對比模型的訓練效果,可以看到,MoE-Mamba 比普通 Mamba 模型有了顯著的改進。值得注意的是,MoE-Mamba 只需 46% 的訓練steps即可達到與 vanilla Mamba 相同的性能

38c3505059b24e9aa01b89eacc894728.png

MoE中的專家數量是MoE-Mamba中的一個重要超參數,為了評估Mamba能否隨著專家數量的增加而擴展,作者在下圖繪制了模型在不同專家數量情況下的運行情況,并且加入了Mamba 和 Mamba-MLP(后者相當于具有單個專家的 MoE-Mamba)作為參考。上表展示了模型在10萬訓練steps之后的結果,結果表明,MoE-Mamba可以很好的適應專家數量的變化,如果專家數量設置為8或超過8,MoE-Mamba可以獲得比普通Mamba模型更好的最終性能

5dcdcb5239e04e78aac141a8506854b1.png

04. 總結

本文提出了一種將專家混合MoE技術與Mamba架構進行集成的模塊,即MoE-Mamba。基于并行計算的天然優勢,Mamba減輕了大模型中復雜循環順序性質的影響,并且對硬件進行感知來實現參數擴展。Mamba相比普通注意力機制Transformer解決了序列模型中效率和有效性之間的基本權衡,強調了狀態壓縮的重要性。將Mamba與高度稀疏的MoE前饋層交錯設置可以實現更高推理效率的LLM,但目前的組合方式仍然非常簡單,作者也探索了一種局部并行的Mamba+MoE架構以實現更高的預測準確率和更稀疏的推理效果。期望后續有更多基于條件計算與狀態空間模型技術相結合的技術出現,作者認為這條道路將能夠更有效地擴展到更大的語言模型中。

參考

[1] Gu A, Dao T. Mamba: Linear-time sequence modeling with selective state spaces[J]. arXiv preprint arXiv:2312.00752, 2023.
[2] Sanseviero, O., Tunstall, L., Schmid, P., Mangrulkar, S., Belkada, Y., and Cuenca, P. Mixture of experts explained, 2023. URL https://huggingface.co/blog/moe.

[3] Mistral. Mixtral of experts, Dec 2023. URL https://mistral.ai/news/mixtral-of-experts/.


??關于TechBeat人工智能社區

TechBeat(www.techbeat.net)隸屬于將門創投,是一個薈聚全球華人AI精英的成長社區。

我們希望為AI人才打造更專業的服務和體驗,加速并陪伴其學習成長。

期待這里可以成為你學習AI前沿知識的高地,分享自己最新工作的沃土,在AI進階之路上的升級打怪的根據地!

更多詳細介紹>>TechBeat,一個薈聚全球華人AI精英的學習成長社區?

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

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

相關文章

新一代科學計算與系統建模仿真平臺MWORKS 2024a震撼發布:產品強勢進化,更新亮點速覽!

2月25日,同元軟控成功舉辦MWORKS 2024產品發布會,會上公布了新版MWORKS的設計理念、關鍵技術、版本亮點、產品特性以及重大改進。當前,科學計算與系統建模仿真平臺MWORKS 2024a已正式上線,開放下載。 MWORKS已成為全球第4個完整的…

全量知識系統問題及SmartChat給出的答復 之6 三套工具之1

Q15. 提出想法和問題 前面說過,DDD在我要設計的全量知識系統中位于中間層,是專門用來解決“知識湯”問題的。 解決的思路就是以將為在特定領域中的公司經營提供一個責任-權限平面為目的,幫助他們調整商業模式以及組建恰當的組織&#xff0c…

C# 高階語法 —— Winfrom鏈接SQL數據庫的存儲過程

存儲過程在應用程序端的使用的優點 1 如果sql語句直接寫在客戶端,以一個字符串的形式體現的,提示不友好,會導致效率降低 2 sql語句寫在客戶端,可以利用sql注入進行攻擊,為了安全性,可以把sql封裝在…

嘉立創專業版導入SW模型的板框

1、SW新建一個需要的模型,例如下圖, 2、點擊另存為.dxf 文件(是.dxf文件) 3、選擇要保存模型的視圖,如上視圖,確定后出現上視圖板框形狀,然后保存即可。 4、打開嘉立創,點擊文件——…

Linux中的awk命令

AWK是一種在Linux系統中經常使用的文本處理工具,它可以根據指定的模式對文本文件進行處理和分析。下面是一些關于AWK命令的使用說明和舉例: 1. 基本語法: awk pattern { action } file 2. 使用字段分隔符: 默認情況下&#xf…

整數編碼【華為OD機試-JAVAPythonC++JS】

題目描述 實現一種整數編碼方法,使得待編碼的數字越小,編碼后所占用的字節數越小。 編碼規則如下: 編碼時7位一組,每個字節的低7位用于存儲待編碼數字的補碼 字節的最高位表示后續是否還有字節,置1表示后面還有更多的字節&#xf…

pytorch -- GPU優化寫法套路

1. GPU優化的點 網絡模型 數據(輸入、標注) 損失函數 .cuda方式 代碼: import torch.optim import torchvision from torch import nn from torch.utils.data import DataLoader from torch.utils.tensorboard import SummaryWriter# 1. 準備數據集 t…

C++實現XOR加解器

#include <Windows.h> #include <iostream> #include <fstream> #include <string>// 加解密函數&#xff0c;使用XOR運算 void XORCrypt(char* data, int size, const std::string& key) {int keyLength key.length();for (int i 0; i < siz…

日志系統項目實現

日志系統的功能也就是將一條消息格式化后寫入到指定位置&#xff0c;這個指定位置一般是文件&#xff0c;顯示器&#xff0c;支持拓展到數據庫和服務器&#xff0c;后面我們就知道如何實現拓展的了&#xff0c;支持不同的寫入方式(同步異步)&#xff0c;同步:業務線程自己寫到文…

萬卡集群:字節搭建12288塊GPU的單一集群

文章目錄 論文Reference 論文 MegaScale: Scaling Large Language Model Training to More Than 10,000 GPUs 論文鏈接&#xff1a;https://arxiv.org/abs/2402.15627 從結構上講&#xff0c;網絡是基于Clos的“胖樹”結構。其中一個改進是在頂層交換機上把上行與下行鏈路分開&…

三、《任務列表案例》前端程序搭建和運行

本章概要 整合案例介紹和接口分析 案例功能預覽接口分析 前端工程導入 前端環境搭建導入前端程序 啟動測試 3.1 整合案例介紹和接口分析 3.1.1 案例功能預覽 3.1.2 接口分析 學習計劃分頁查詢 /* 需求說明查詢全部數據頁數據 請求urischedule/{pageSize}/{currentPage} 請…

stm32觸發硬件錯誤位置定位

1.背景 1. 項目中&#xff0c;調試過程或者測試中都會出現程序跑飛問題&#xff0c;這個時候問題特別難查找。 2. 觸發硬件錯誤往往是因為內存錯誤。這種問題特別難查找&#xff0c;尤其是產品到了測試階段&#xff0c;而這個異常復現又比較難的情況下&#xff0c;簡直頭疼。…

初學JavaScript總結

0 JavaScript html完成了架子&#xff0c;css做了美化&#xff0c;但是網頁是死的&#xff0c;需要給他注入靈魂&#xff0c;所以接下來需要學習JavaScript&#xff0c;這門語言會讓頁面能夠和用戶進行交互。JavaScript又稱為腳本語言&#xff0c;可以通過腳本實現用戶和頁面的…

每日shell腳本之打印99乘法表

每日shell腳本之打印99乘法表 #!/bin/bash for i in $(seq 1 9); dofor j in $(seq 1 9); doecho -n "$i * $j $(($i * $j)) "doneecho done

Programming Abstractions in C閱讀筆記:p306-p307

《Programming Abstractions in C》學習第75天&#xff0c;p306-p307總結&#xff0c;總計2頁。 一、技術總結 1.Quicksort algorithm(快速排序) 由法國計算機科學家C.A.R(Charles Antony Richard) Hoare&#xff08;東尼.霍爾&#xff09;在1959年開發(develop), 1961年發表…

Mac 制作可引導安裝器

Mac 使用U盤或移動固態硬盤制作可引導安裝器&#xff08;以 Monterey 為例&#xff09; 本教程參考 Apple 官網相關教程 創建可引導 Mac OS 安裝器 重新安裝 Mac OS 相關名詞解釋 磁盤分區會將其劃分為多個單獨的部分&#xff0c;稱為分區。分區也稱為容器&#xff0c;不同容器…

VR虛擬現實技術應用到豬抗原體檢測的好處

利用VR虛擬仿真技術開展豬瘟檢測實驗教學確保生豬產業健康發展 為了有效提高豬場豬瘟防控意識和檢測技術&#xff0c;避免生豬養殖業遭受豬瘟危害&#xff0c;基于VR虛擬仿真技術開展豬瘟檢測實驗教學數據能大大推動基層畜牧養殖業持續穩步發展保駕護航。 一、提高實驗效率 VR虛…

鯤鵬arm64架構下安裝KubeSphere

鯤鵬arm64架構下安裝KubeSphere 官方參考文檔: https://kubesphere.io/zh/docs/quick-start/minimal-kubesphere-on-k8s/ 在Kubernetes基礎上最小化安裝 KubeSphere 前提條件 官方參考文檔: https://kubesphere.io/zh/docs/installing-on-kubernetes/introduction/prerequi…

基于大模型思維鏈(Chain-of-Thought)技術的定制化思維鏈提示和定向刺激提示的心理咨詢場景定向ai智能應用

本篇為個人筆記 記錄基于大模型思維鏈&#xff08;Chain-of-Thought&#xff09;技術的定制化思維鏈提示和定向刺激提示的心理咨詢場景定向ai智能應用 人工智能為個人興趣領域 業余研究 如有錯漏歡迎指出&#xff01;&#xff01;&#xff01; 目錄 本篇為個人筆記 記錄基…

價格腰斬,騰訊云2024優惠活動云服務器62元一年,多配置報價

騰訊云服務器多少錢一年&#xff1f;62元一年起&#xff0c;2核2G3M配置&#xff0c;騰訊云2核4G5M輕量應用服務器218元一年、756元3年&#xff0c;4核16G12M服務器32元1個月、312元一年&#xff0c;8核32G22M服務器115元1個月、345元3個月&#xff0c;騰訊云服務器網txyfwq.co…