深度学习架构有很多,但近些年最成功的莫过于 Transformer,其已经在多个应用领域确立了自己的主导地位。
如此成功的一大关键推动力是注意力机制,这能让基于 Transformer 的模型关注与输入序列相关的部分,实现更好的上下文理解。但是,注意力机制的缺点是计算开销大,会随输入规模而二次增长,也因此就难以处理非常长的文本。
好在前段时间诞生了一种颇具潜力的新架构:结构化的状态空间序列模型(SSM)。该架构能高效地捕获序列数据中的复杂依赖关系,并由此成为 Transformer 的一大强劲对手。
这类模型的设计灵感来自经典的状态空间模型 —— 我们可以将其看作是循环神经网络和卷积神经网络的融合模型。它们可使用循环或卷积运算进行高效地计算,从而让计算开销随序列长度而线性或近线性地变化,由此大幅降低计算成本。
更具体而言,SSM 最成功的变体之一 Mamba 的建模能力已经可以比肩 Transformer,同时还能维持随序列长度的线性可扩展性。
Mamba 首先引入了一个简单却有效选择机制,其可根据输入对 SSM 进行重新参数化,从而可让模型在滤除不相关信息的同时无限期地保留必要和相关的数据。然后,Mamba 还包含一种硬件感知型算法,可使用扫描(scan)而非卷积来循环地计算模型,这在 A100 GPU 上能让计算速度提升 3 倍。
如图 1 所示,凭借强大的建模复杂长序列数据的能力和近乎线性的可扩展性,Mamba 已经崛起成为一种基础模型,并有望变革计算机视觉、自然语言处理和医疗等多个研究和应用领域。
因此,研究和应用 Mamba 的文献迅速增长,让人目不暇接,一篇全面的综述报告必定大有裨益。近日,香港理工大学的一个研究团队在 arXiv 上发布了他们的贡献。
- 论文标题:A Survey of Mamba
- 论文地址:https://arxiv.org/pdf/2408.01129
这份综述报告从多个角度对 Mamba 进行了总结,既能帮助初学者学习 Mamba 的基础工作机制,也能助力经验丰富的实践者了解最新进展。
Mamba 是一个热门研究方向,也因此有多个团队都在尝试编写综述报告,除了本文介绍的这一篇,还有另一些关注状态空间模型或视觉 Mamba 的综述,详情请参阅相应论文:
- Mamba-360: Survey of state space models as transformer alternative for long sequence modelling: Methods, applications, and challenges. arXiv:2404.16112
- State space model for new-generation network alternative to transformers: A survey. arXiv:2404.09516
- Vision Mamba: A Comprehensive Survey and Taxonomy. arXiv:2405.04404
- A survey on vision mamba: Models, applications and challenges. arXiv:2404.18861
- A survey on visual mamba. arXiv:2404.15956
一、预备知识
Mamba 集中了循环神经网络(RNN)的循环框架、Transformer 的并行计算和注意力机制、状态空间模型(SSM)的线性特性。因此,为了透彻地理解 Mamba,就必需先理解这三种架构。
1. 循环神经网络
循环神经网络(RNN)具有保留内部记忆的能力,因此很擅长处理序列数据。
具体来说,在每个离散时间步骤 k,标准 RNN 在处理一个向量时会连同前一时间步骤的隐藏状态一起处理,之后输出另一个向量并更新隐藏状态。这个隐藏状态就可作为 RNN 的记忆,其能保留过去已见过的输入的信息。这种动态记忆让 RNN 可处理不同长度的序列。
也就是说,RNN 是一种非线性的循环模型,可通过使用存储在隐藏状态中历史知识来有效地捕获时间模式。
2. Transformer
Transformer 的自注意力机制有助于捕获输入之中的全局依赖。其实现方式是基于每个位置相对于其它位置的重要程度为它们分配权重。更具体而言,首先对原始输入进行线性变换,将输入向量的序列 x 转换成三类向量:查询 Q、键 K 和值 V。
然后计算归一化的注意力分数 S 并计算注意力权重。
除了可以执行单个注意力函数,我们还可以执行多头注意力。这让模型可以捕获不同类型的关系,并从多个视角理解输入序列。多头注意力会使用多组自注意力模块并行地处理输入序列。其中每个头都独立运作,执行的计算与标准自注意力机制一样。
之后,将每个头的注意力权重汇聚组合,得到值向量的加权和。这个聚合步骤可让模型使用来自多个头的信息并捕获输入序列中的多种不同模式和关系。
3. 状态空间
状态空间模型(SSM)是一种传统的数学框架,可用于描述系统随时间变化的动态行为。近些年来,人们已将 SSM 广泛应用于控制论、机器人学和经济学等多个不同领域。
究其核心,SSM 是通过一组名为「状态」的隐藏变量来体现系统的行为,使其能有效捕获时间数据的依赖关系。不同于 RNN,SSM 是一种具有关联(associative)属性的线性模型。具体来说,经典的状态空间模型会构建两个关键方程(状态方程和观察方程),以通过一个 N 维的隐藏状态 h (t) 建模当前时间 t 时输入 x 与输出 y 之间的关系。
- 离散化
为了满足机器学习的需求,SSM 必需经历一个离散化过程 —— 将连续参数转变成离散参数。通常来说,离散化方法的目标是将连续时间划分为具有尽可能相等积分面积的 K 个离散区间。为了实现这一目标,SSM 采用的最具代表性的解决方案之一是 Zero-Order Hold(ZOH),其假设区间 Δ = [𝑡_{𝑘−1}, 𝑡_𝑘 ] 上的函数值保持不变。离散 SSM 与循环神经网络结构相似,因此离散 SSM 能比基于 Transformer 的模型更高效地执行推理过程。
- 卷积计算
离散 SSM 是一个具有结合属性的线性系统,因此可以与卷积计算无缝整合。
RNN、Transformer 和 SSM 之间的关系
图 2 展示了 RNN、Transformer 和 SSM 的计算算法。
一方面,常规 RNN 的运作基于一种非线性的循环框架,其中每个计算都仅依赖于之前的隐藏状态和当前输入。
尽管这种形式可让 RNN 在自回归推理时快速生成输出,但它也让 RNN 难以充分利用 GPU 的并行计算能力,导致模型训练速度变慢。
另一方面,Transformer 架构是在多个「查询 - 键」对上并行执行矩阵乘法,而矩阵乘法可以高效地分配给硬件资源,从而更快地训练基于注意力的模型。但是,如果要让基于 Transformer 的模型生成响应或预测,则推理过程会非常耗时。
不同于仅支持一类计算的 RNN 和 Transformer,离散 SSM 灵活性很高;得益于其线性性质,它既能支持循环计算,也可支持卷积计算。这种特性让 SSM 不仅能实现高效推理,也能实现并行训练。但是,需要指出,最常规的 SSM 是时不变的,也就是说其 A、B、C 和 Δ 与模型输入 x 无关。这会限制其上下文感知型建模的能力,导致 SSM 在选择性复制等一些特定任务上表现不佳。
最后分享
AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。
学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。
这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享!
1. 成长路线图&学习规划
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。
2. 大模型经典PDF书籍
书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)
3. 大模型视频教程
对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。
4. 大模型项目实战
学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。
5. 大模型面试题
面试,不仅是技术的较量,更需要充分的准备。在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。
全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费
】
如有侵权,请联系删除。