赞
踩
mamba(其对应论文为:https://arxiv.org/abs/2312.00752,这是其对应的GitHub代码地址:GitCode - 开发者的代码家园),在语言、音频、DNA序列模态上都实现SOTA,在最受关注的语言任务上,Mamba-3B超越同等规模的Transformer,与两倍大的Transformer匹敌,并且相关代码、预训练模型checkpoint都已开源
简言之,Mamba是一种状态空间模型(SSM),建立在更现代的适用于深度学习的结构化SSM (简称S6)基础上,与经典架构RNN有相似之处
与先前的研究相比,Mamba主要有三点创新:
该算法采用“并行扫描算法”而非“卷积”来进行模型的循环计算(使得不用CNN也能并行训练),但为了减少GPU内存层次结构中不同级别之间的IO访问,它没有具体化扩展状态
当然,这点也是受到了S5(Simplified State Space Layers for Sequence Modeling)的启发
3.更简单的架构
将SSM架构的设计与transformer的MLP块合并为一个块(combining the design of prior SSM architectures with the MLP block of Transformers into a single block),来简化过去的深度序列模型架构,从而得到一个包含selective state space的架构设计
作者认为,序列建模的一个基础问题是把上下文压缩成更小的状态(We argue that a fundamental problem of sequence modeling is compressing context into a smaller state),从这个角度来看
为方便大家对比,我再用如下表格总结下各个模型的核心特点
模型 | 对信息的压缩程度 | 训练的效率 | 推理的效率 |
transformer(注意力机制) | transformer对每个历史记录都不压缩 | 训练消耗算力大 | 推理消耗算力大 |
RNN | 随着时间的推移,RNN 往往会忘记某一部分信息 | RNN没法并行训练 | 推理时只看一个时间步 故推理高效(相当于推理快但训练慢) |
CNN | 训练效率高,可并行「因为能够绕过状态计算,并实现仅包含(B, L, D)的卷积核」 | ||
SSM | SSM压缩每一个历史记录 | 矩阵不因输入不同而不同,无法针对输入做针对性推理 | |
mamba | 选择性的关注必须关注的、过滤掉可以忽略的 | mamba每次参考前面所有内容的一个概括,兼备训练、推理的效率 |
总之,序列模型的效率与效果的权衡点在于它们对状态的压缩程度:
而mamba为了兼顾效率和效果,选择性的关注必须关注的、过滤掉可以忽略的
为方便大家理解,再进一步阐述mamba与其前身结构化空间模型S4的优势
首先,在其前身S4中,其有4个参数(∆, A, B, C)
且它们不随输入变化(即与输入无关),这些参数控制了以下两个阶段
The first stage transforms the “continuous parameters” (∆, A, B) to “discrete parameters” (A, B) through fixed formulas A =
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。