网站大量收购独家精品文档,联系QQ:2885784924

Mamba2 ssd层的一些疑问.pdf

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

Mamba2ssd层的一些疑问

图1:mamba2ssd层框图

参考代码mamba/mamba_ssm/modules/ssd_minimal.pyatmain·state-spaces/mamba

我稍微在test_correctness()函数做了修改跟mamba2-130M设置匹配了一下

#Copyright(c)2024,AlbertGuandTriDao.

MinimalimplementationofSSD.

ThisisthesameasListing1fromthepaper.

importtorch

importtorch.nn.functionalasF

fromeinopsimportrearrange,repeat

frommamba_ssm.ops.triton.ssd_combinedimport

mamba_chunk_scan_combined

defsegsum_unstable(x):

Naivesegmentsumcalculation.

Tx.size(-1)

x_cumsumtorch.cumsum(x,dim-1)

x_segsumx_cumsum[...,:,None]-x_cumsum[...,None,:]

masktorch.tril(torch.ones(T,T,devicex.device,

dtypebool),diagonal0)

x_segsumx_segsum.masked_fill(~mask,-torch.inf)

returnx_segsum

defsegsum(x):

Morestablesegmentsumcalculation.

Tx.size(-1)

xrepeat(x,...d-...de,eT)

masktorch.tril(torch.ones(T,T,devicex.device,

dtypebool),diagonal-1)

xx.masked_fill(~mask,0)

x_segsumtorch.cumsum(x,dim-2)

masktorch.tril(torch.ones(T,T,devicex.device,

dtypebool),diagonal0)

x_segsumx_segsum.masked_fill(~mask,-torch.inf)

returnx_segsum

defssd_minimal_discrete(X,A,B,C,block_len,

initial_statesNone):

Arguments:

X:(batch,length,n_heads,d_head)

A:(batch,length,n_heads)

B:(batch,length,n_heads,d_state)

C:(batch,length,n_heads,d_state)

Return:

Y:(batch,length,n_heads,d_head)

assertX.dtypeA.dtypeB.dtypeC.dtype

assertX.shape[1]%block_len0

#Rearrangeintoblocks/chunks

X,A,B,C[rearrange(x,b(cl)...-bcl...,

lblock

您可能关注的文档

文档评论(0)

爱分享de老王 + 关注
实名认证
服务提供商

16年工作经验,一直混迹于物联网和工业领域

1亿VIP精品文档

相关文档