当前位置: 首页> 科技> 能源 > 云南省建设工程电子网_网销平台排名_1688官网_seo推广多少钱

云南省建设工程电子网_网销平台排名_1688官网_seo推广多少钱

时间:2025/9/7 22:43:14来源:https://blog.csdn.net/qq_42025868/article/details/147078992 浏览次数:0次
云南省建设工程电子网_网销平台排名_1688官网_seo推广多少钱

1. Mamba

优点:

  1. 计算效率高:Mamba的计算复杂度与序列长度呈线性或近线性关系,相比Transformer的二次方计算复杂度,在处理长序列数据时具有显著优势。例如在A100 GPU上,Mamba的计算速度可提升3倍;
  2. 选择性处理信息:引入选择机制,可根据输入参数化SSM参数,过滤无关信息,保留必要数据,使模型能够专注于对当前任务更重要的部分;
  3. 硬件感知算法:采用递归扫描而非卷积计算,优化硬件性能,减少GPU中SRAM和DRAM之间的数据传输次数,进一步提升计算效率;
  4. 高效的训练和推理:平行训练时,使用卷积;推理时,使用递归。
1.1 State Space Model(SSM)

在这里插入图片描述

SSM的简化模型如上图,其中输入是x,输出是y,隐藏状态是h。B乘x得到h,之后A乘h更新h,C乘h得到y,D乘x跳跃连接得到y。公式如下:
h ′ ( t ) = A h ( t ) + B x ( t ) . . . ( 1 a ) h'(t)=\mathbf{A}h(t)+\mathbf{B}x(t) ...(1a) h(t)=Ah(t)+Bx(t)...(1a)
y ( t ) = C h ( t ) . . . ( 1 b ) y(t)=\mathbf{C}h(t)...(1b) y(t)=Ch(t)...(1b)

1.2 S4

S4是SSM的进一步优化,SSM到S4的三个步骤:离散化、卷积表示、使用HIPPO算法处理长序列。

1.2.1 离散化

由于SSM使用的都是连续的数据,而我们计算机处理的是数字信号,所以要进行离散化。mamba论文中使用零阶保持算法(zero-order hold)进行离散化。离散之后的公式如下:
h t = A ˉ h t − 1 + B ˉ x t . . . ( 2 a ) h_t=\mathbf{\bar{A}}h_{t-1}+\mathbf{\bar{B}}x_t ...(2a) ht=Aˉht1+Bˉxt...(2a)
y t = C h t . . . ( 2 b ) y_t=\mathbf{C}h_t ...(2b) yt=Cht...(2b)
其中 h 0 = B x 0 h_0=\mathbf{B}x_0 h0=Bx0

1.2.2 卷积表示

利用上述(2a)和(2b)的公式,可以得到下列公式,务必手动推演:
K ˉ = ( C B ˉ , C A ˉ B ˉ , . . . , C A ˉ k B ˉ , . . . ) . . . ( 3 a ) \mathbf{\bar{K}}=(\mathbf{C\bar{B}, C\bar{A}\bar{B}, ..., C\bar{A}^{k}\bar{B}, ...})...(3a) Kˉ=(CBˉ,CAˉBˉ,...,CAˉkBˉ,...)...(3a)
y = x ∗ K ˉ . . . ( 3 b ) y=x*\mathbf{\bar{K}}...(3b) y=xKˉ...(3b)
这就相当于一个卷积公式。所以,它可以像卷积一样并行训练,但是推理时论文中使用递归的方式,可以使得模型更快。

1.2.3 使用HIPPO算法处理长序列

在公式(3a)中我们可以发现一旦token很长,k次方就很大,会导致矩阵相乘的计算量也很大。因此我们可以使用HIPPO算法将矩阵分解成对角阵的形式相乘,计算会方便许多。

1.3 S6

在这里插入图片描述
如上图,S6是S4的进一步升级。 x x x通过Linear得到 B , C B, C B,C Δ \Delta Δ,再通过 A , B A, B A,B Δ \Delta Δ得到 A ˉ \bar{A} Aˉ B ˉ \bar{B} Bˉ,再通过SSM得到输出 y y y

1.4 Mamba Block

在这里插入图片描述

2. 代码使用

2.1 环境

在这里插入图片描述

2.2 安装

在这里插入图片描述

2.3 使用
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
关键字:云南省建设工程电子网_网销平台排名_1688官网_seo推广多少钱

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: