Mamba LLM 架構簡介:機器學習的新范式

Mamba LLM 架構簡介:機器學習的新范式

探索 Mamba LLM 的強大功能,Mamba LLM 是來自一流大學的變革性架構,重新定義了 AI 中的序列處理。語言模型是一種經過訓練的機器學習模型,用于在自然語言上執行概率分布。它們的架構主要由多層神經網絡組成,例如遞歸層、前饋層、嵌入層和注意力層。這些層組合在一起以處理給定的輸入文本并生成輸出預測。

2023 年底,卡內基梅隆大學和普林斯頓大學的研究人員發表了一篇研究論文,揭示了一種名為 Mamba 的大型語言模型 (LLM) 的新架構。Mamba 是一種與序列建模有關的新狀態空間模型架構。它是為了解決 transformer 模型的一些限制而開發的,尤其是在處理長序列時,并且已經顯示出有希望的性能。

Mamba

Mamba 是一種新的 LLM 架構,它集成了結構化狀態空間序列 (S4) 模型來管理冗長的數據序列。S4 結合了遞歸、卷積和連續時間模型的最佳功能,可以有效且高效地模擬長期依賴關系。這使它能夠處理不規則采樣的數據,具有無限的上下文,并在整個訓練和測試過程中保持計算效率。

Mamba 擴展了 S4 范式,帶來了幾項值得注意的改進,尤其是在處理時變作方面。它的架構圍繞著一種特殊的選擇機制展開,該機制根據輸入修改結構化狀態空間模型 (SSM) 參數。

因此,Mamba 可以通過只關注序列中的關鍵信息來成功過濾掉不太重要的數據。根據 Wikipedia 的說法,“該模型從時不變框架過渡到時變框架,這會影響系統的計算和效率。

主要特點和創新

Mamba 偏離了傳統的 attention 和 MLP 塊,使其與眾不同。這種簡化使模型更輕、更快,并且與序列的長度呈線性縮放,這是其前輩都無法實現的壯舉。

Mamba 的關鍵組件包括:

選擇性狀態空間 (SSM):根據當前輸入有選擇地處理信息的遞歸模型是 Mamba SSM 的基礎。這使他們能夠過濾掉無關數據并專注于相關信息,這可能會帶來更高效的處理。
簡化的架構: Mamba 用一個單一的、有凝聚力的 SSM 塊取代了 Transformers 錯綜復雜的注意力和 MLP 塊。這旨在加速推理并降低計算復雜性。
硬件感知并行性:Mamba 的性能可能會更好,因為它使用循環模式和專為硬件效率而創建的并行算法。
另一個關鍵組成部分是線性時間不變性 (LTI);LTI 是 S4 模型的核心功能之一。這一特性表明,模型的參數在所有時間步中保持不變,從而保持模型動力學的一致性。使用 LTI 構建序列模型更容易、更有效,LTI 是遞歸和卷積的基礎。

Mamba LLM 架構詳細信息

Mamba 的架構進一步強調了機器學習進步的重要性。它通過引入選定的狀態空間模型 (SSM) 層來修改模型處理序列的方式。這使 Mamba 能夠做兩件極其重要的事情:

  1. 關注相關信息 – Mamba 可以通過為每個輸入分配不同的權重來為任務確定更多預測數據的優先級。

  2. 動態適應輸入 – 由于模型能夠適應輸入,Mamba 可以輕松處理各種序列建模工作。

因此,Mamba 可以以前所未有的效率處理序列,這使其成為涉及冗長數據序列的任務的完美選擇。

Mamba 的設計理念基于對現代硬件功能的認識。它旨在充分利用 GPU 計算能力,保證:

  • **優化的內存使用:**通過設計 Mamba 的狀態擴展以適應 GPU 的高帶寬內存 (HBM),可以縮短數據傳輸時間并加快處理速度。

  • **最大化并行處理:**Mamba 通過協調其計算與 GPU 計算的并行性質,達到了為序列模型建立新基準的性能水平。

Mamba VS Transformer

GPT-4 等 Transformer 的引入進入了自然語言處理 (NLP) 領域,并為多項自然語言任務建立了基準。長期以來,較長的序列一直是變壓器的眼中釘,因為它們會嚴重阻礙其效率。

這個缺陷正是 Mamba 擅長的地方。也就是說,mamba 可以比變壓器更快地處理冗長的序列,并且由于其獨特的架構而更加簡單。

Transformer 架構

Transformer 非常擅長處理數據序列,例如語言模型的文本。它們同時處理完整的序列,這與早期按順序處理數據的模型不同。這種固有的功能使他們能夠捕獲數據中錯綜復雜的關系。它們使用注意力機制,使模型能夠在生成預測時專注于各種序列段。使用三組權重來計算此關注度:從輸入數據獲取的值、鍵和查詢。

序列中的每個元素都相對于其他每個元素進行加權,以指示它應該有多少權重(或 “注意力”)來預測序列中的下一個元素。Transformer 由兩個主要塊組成:創建輸出的 decoder 和處理輸入數據的 encoder。編碼器由幾層組成 - 每層都有兩個子層:一個基本的、按位置的、完全連接的前饋網絡和一個多頭自注意力機制。為了幫助訓練深度網絡,每個子層都使用殘差連接和歸一化。

與編碼器一樣,解碼器由兩層和兩個子層組成,但它也增加了第三個子層,用于處理編碼器輸出上的多頭注意力。由于解碼器的 sequential 性質,解碼器的 autoregressive 屬性被保留下來,這將對位置的預測限制為僅考慮較早的位置。

因此,Transformers 試圖通過利用更復雜的注意力過程來解決冗長序列的問題,但 Mamba 采取了不同的方法。

Mamba 架構

Mamba 利用選擇性狀態空間。這種方法解決了Transformers 在長序列下計算效率低下的問題。Mamba 的架構使更快的推理和線性序列長度擴展成為可能,為序列建模創造了一種新的范式,隨著序列越來越長,這種范式可能會被證明會更加有效。由于我們在上面深入探討了 Mamba 的架構,因此我們不會在這里深入討論。

特征變壓器曼巴
建筑基于注意力基于 SSM
復雜性降低
推理速度O(n)O(1)
訓練速度O(注2)O(n)

值得注意的是,盡管 SSM 與 Transformer 相比具有許多優勢,但后者可以處理比 SSM 存儲在內存中更長的序列,需要更少的數據來學習類似的任務,并且在需要從輸入上下文檢索或復制的任務中優于 SSM,即使參數更少。

開始使用 Mamba

如果您有興趣使用 Mamba 或在項目中利用它,則必須具備以下條件:

  • Linux的
  • 英偉達圖形處理器
  • PyTorch 1.12+ 版本
  • CUDA 11.6+ 的

要從 Mamba 存儲庫安裝所需的軟件包,請使用一些簡單的 pip 說明:

  • [Option] : 在 Mamba 塊內部使用的簡單因果 Conv1d 層的有效實現。pip install causal-conv1d>=1.2.0
  • pip install mamba-ssm:核心 Mamba 包。

它也可以通過 from this repository從源代碼構建。pip install .

如果 PyTorch 版本導致兼容性問題,可以使用與 switch 一起使用來幫助。這些模型是在 Pile 和 SlimPajama 數據集等大型數據集上訓練的,旨在滿足各種計算要求和性能基準。pip``--no-build-isolation

Mamba 模型具有多個接口級別,但主模塊是包裝選擇性 SSM 的 Mamba 架構塊。

# Source: Mamba Repository
import torch
from mamba_ssm import Mambabatch, length, dim = 2, 64, 16
x = torch.randn(batch, length, dim).to("cuda")
model = Mamba(# This module uses roughly 3 * expand * d_model^2 parametersd_model=dim, # Model dimension d_modeld_state=16,  # SSM state expansion factord_conv=4,    # Local convolution widthexpand=2,    # Block expansion factor
).to("cuda")
y = model(x)
assert y.shape == x.shape

Mamba 的應用

Mamba LLM 的推出是 LLM 架構領域的一個重大潛在轉變。Mamba 更快、更高效且可擴展,可以毫不費力地以高性能標準處理長序列,這解釋了為什么它將在塑造復雜 AI 系統的未來方面發揮關鍵作用。

也就是說,下一波 AI 創新可能由 Mamba 的有效性和性能帶來,它為創建越來越復雜的模型和應用程序鋪平了道路。它的潛在影響力是巨大的,包括音頻和語音處理應用程序、長篇文本分析、內容創建、實時語言翻譯等。

這可能會帶來革命性的行業包括:

  • 醫療: Mamba 可以通過快速分析遺傳數據來加快開發個性化健康藥物的過程。

  • **金融:**可以部署 Mamba 來分析長期市場趨勢,從而獲得更準確的庫存預測。

  • 顧客服務: Mamba 能夠為監控長篇討論的聊天機器人提供支持,從而改善客戶溝通

結論

Mamba 不僅為當前的序列模型提供了增量改進;它重新定義了什么是可能的。隨著它的推出,人工智能的歷史將翻開新的篇章,計算效率低下和序列長度限制最終變得過時。在過去的幾年里,我們看到了 AI 從 RNN 到Transformers,再到現在的 Mamba,每一步都離實現能夠與人類相媲美的 AI 進行深度思考和信息處理更近一步。Mamba 體現了革命性的精神,通過其選定的狀態空間方法和線性時間縮放推動 AI 領域向前發展。Mamba 標志著人工智能前景廣闊的開始。這是一種為未來設計的范式,并將以其無限的潛力對 AI 產生重大影響。

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

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

相關文章

GaussDB生產擴容引起的PANIC問題處理案例

1 環境信息CPU:8C內存:64GGaussDB版本:24.7.32解決方案部署形態:HCS部署形態:1主1從1日志擴容原因:當前的配置滿足不了max_connections為2000值,即當前的業務最大連接數超過2000個而按照8C64G的配置最多滿足…

【168頁PPT】華為流程管理體系構建與落地(附下載方式)

篇幅所限,本文只提供部分資料內容,完整資料請看下面鏈接 https://download.csdn.net/download/2501_92796370/91662548 資料解讀:【168頁PPT】華為流程管理體系構建與落地 詳細資料請看本解讀文章的最后內容。華為,作為全球知名…

基于CotSegNet網絡和機器學習的棉花點云器官分割和表型信息提取

一、引言PointNet作為點云處理領域的先驅與里程碑式深度學習模型,以其卓越的性能和對無序點云數據直接處理的能力而聞名。博主將分享1篇發表在《Computers and Electronics in Agriculture》(中科院1區TOP)的“Organ segmentation and phenot…

經典卷積神經網絡CNN

一、CNN視覺處理三大任務:圖像分類、目標檢測、圖像分割上游:提取特征,CNN下游:分類、目標、分割等,具體的業務1. 概述卷積神經網絡是深度學習在計算機視覺領域的突破性成果。在計算機視覺領域, 往往我們輸入的圖像都很…

11.1.5 實現文件刪除,共享和共享下載排行榜

1、圖床分享圖片api_sharepicture.cc sharepicture_cgi.c 分享后每個人都可以看到。 數據庫: DROP TABLE IF EXISTS share_picture_list; CREATE TABLE share_picture_list (id int(11) NOT NULL AUTO_INCREMENT COMMENT 編號,user varchar(32) NOT NULL COMMENT …

【Java后端】SpringBoot配置多個環境(開發、測試、生產)

在 Spring Boot 中配置多個環境(開發、測試、生產)通常用 配置文件分環境管理 啟動參數切換 的方式來實現。下面一個完整的實踐指南:🔹 1. 使用多配置文件管理環境 Spring Boot 默認支持 application-{profile}.properties 或 ap…

HTTP 分塊傳輸編碼:深度解析與報文精髓

分塊傳輸編碼(Chunked Transfer Encoding)是 HTTP/1.1 協議中的一項核心特性,它允許服務器在不預先知道響應體總大小的情況下,高效地傳輸數據。這項技術解決了傳統 Content-Length 機制的局限性,使得 HTTP 協議能夠完美…

Vue 項目首屏加載速度優化

Vue 項目首屏加載從 5s 到 1.5s:4 步落地優化方案,附完整代碼 數據對比前段時間我在做一個活動時,打包加載后發現打開頁面要等半天,經過幾天的優化,最終將首屏加載時間從5秒壓到 1.5 秒。這篇文章會把整個優化過程拆解…

Java學習第十六部分——JUnit框架

目錄 一.概述 二.作用 三.版本 四.優勢 五.局限性 六.發展方向 七.核心組件 1 測試用例 2.斷言(Assertions) 3.測試生命周期 4.測試運行器 八.簡單示例 九.JUnit 4 與 JUnit 5 的區別 十.idea項目實戰 1.在idea中創建Java項目&#xff0c…

[吾愛原創] 千千每日計劃

[吾愛原創] 千千每日計劃 鏈接:https://pan.xunlei.com/s/VOYuE8p-KIV-NJr2_0d1Ak9YA1?pwdbqez# 介紹:千千系列的最后一款軟件,一款每日計劃的一款軟件,并且支持時間段修改和打卡和導入導出等功能。 功能: 1.設置每天的計劃 2…

docker命令(二)

目錄 docker命令 1.inspect命令(查看鏡像信息) 2.tag命令(為鏡像起別名) 3.--help命令(查看命令的使用幫組) docker 命令 --help docker --help 4.run命令 1.格式 2.啟動tomcat鏡像 3. docker 不能被外部訪…

Dockerfile實現java容器構建及項目重啟(公網和內網)

公網情況0.Dockerfile關鍵字關鍵字作用一句話出現位置FROM指定基礎鏡像(任何 Dockerfile 必須且首行)全局RUN在鏡像構建階段執行命令(常用來安裝軟件)構建期COPY把宿主機文件/目錄復制進鏡像構建期ADD類似 COPY,但額外…

SpringCloud與Dubbo深度對比:架構、性能與生態全解析

引言在微服務架構盛行的今天,服務治理框架的選擇成為企業技術棧決策的關鍵環節。Spring Cloud和Dubbo作為Java生態中最具代表性的兩大微服務框架,各自擁有獨特的優勢和適用場景。本文將從架構設計、服務治理、性能表現、生態系統等多個維度進行深度對比&…

簡歷書寫---自我評價怎么寫

前言 今天一對一輔導了很多同學做簡歷,看到很多同學簡歷上都有一欄:自我評價 那我們就要思考一下,我們搞技術的,一份技術簡歷,自我評價上怎么寫,才能算一個加分點呢? 觀點分享 首先,…

嵌入式Linux學習 - 數據庫開發

目錄 一. 在終端的使用 1. 下載 2. 操作 3. 相關函數 1.增 2. 刪 3. 改 4. 查 5. 補充函數 二. 在軟件的使用 1. 下載 2. 操作 三. 在編程的使用 1. 下載 2. 相關函數 1. 打開 2. 讀寫執行sql語句 3. 關閉 一. 在終端的使用 1. 下載 sudo apt-get install …

產品運營必備的職場通用能力有哪些?如何一步步提升?

在流量紅利消退的存量競爭時代,產品運營崗位正經歷價值重構。單純的活動策劃與用戶維護已無法滿足發展需求,數據驅動的精細化運營成為行業分水嶺。面對這場變革,復合能力建設與前瞻工具掌握是運營人突破天花板的密鑰。推薦考取CDA數據分析師&…

ESPTimer vs GPTimer:ESP32 定時器系統深度解析

第十五章和第十六章分別學習了??ESPTimer?? 和 ??GPTimer?? ,那這兩種定時器有什么區別,如何使用呢,下面探討下。1. 兩種定時器對比介紹1.1 兩種定時器設計在 ESP32 開發中,??ESPTimer?? 和 ??GPTimer?? 是兩種完…

【70頁PPT】WMS助力企業數字化轉型(附下載方式)

篇幅所限,本文只提供部分資料內容,完整資料請看下面鏈接 https://download.csdn.net/download/2501_92808811/91806268 資料解讀:【70頁PPT】WMS助力企業數字化轉型 詳細資料請看本解讀文章的最后內容。倉儲管理在企業運營中占據關鍵地位&a…

[光學原理與應用-337]:ZEMAX - 自帶的用于學習的樣例設計

ZEMAX(OpticStudio)內置了大量樣例設計文件,這些文件覆蓋了從基礎光學原理到復雜系統設計的全場景,是學習光學設計、掌握軟件操作、理解像差理論的絕佳資源。以下是ZEMAX自帶樣例設計的詳細分類、使用方法及學習價值分析&#xff…

下一波紅利:用 #AI編程 闖入小游戲賽道,#看廣告變現 模式正在崛起!

文章標題(可選,均包含核心關鍵詞) 【主推標題】 #AI編程制作小游戲 的終極 #變現 指南:如何通過 #看廣告變現 輕松賺錢 【疑問式標題】 #AI制作小游戲 真的能賺錢嗎?揭秘 #AI編程賺錢 的四大核心路徑與廣告變現策略 【趨勢型標題】 下一波紅利:用 #AI編程 闖入小游戲賽道…