论文信息
题目:Coupled Mamba: Enhanced Multi-modal Fusion with Coupled State Space Model
耦合Mamba:基于耦合状态空间模型的增强多模态融合
作者:Wenbing Li, Hang Zhou, Junqing Yu, Zikai Song, Wei Yang
论文创新点
-
耦合状态链:作者提出了耦合状态空间模型(Coupled SSM),通过耦合多个模态的状态链,同时保持模态内状态过程的独立性。
-
硬件感知的并行性:为了确保耦合Mamba模型能够充分利用硬件感知的并行性,作者推导了一种全局卷积核,用于并行计算。
-
状态求和与转移:作者提出了一种状态求和与转移方案,通过在状态转移之前对多模态状态进行求和,从而在保持性能的同时大幅减少了内存开销和计算复杂度。
-
动态捕捉多模态交互:与传统的多模态融合方法不同,作者的方法通过动态捕捉模态内和模态间的隐藏状态,实现了更高效的多模态融合。
摘要
多模态融合的本质在于利用不同模态之间固有的互补信息。然而,现有的融合方法依赖于传统的神经网络架构,无法充分捕捉模态间交互的动态特性,特别是在存在复杂的模态内和模态间相关性的情况下。近年来,状态空间模型(State Space Models, SSMs)的进展,特别是以Mamba模型为代表,成为有前景的候选者。特别是,其状态演化过程暗示了更强的模态融合范式,使得在SSMs上进行多模态融合成为一个有吸引力的方向。然而,由于SSMs的硬件感知并行设计,融合多个模态对其来说具有挑战性。为此,作者提出了耦合SSM模型,用于耦合多个模态的状态链,同时保持模态内状态过程的独立性。具体来说,在作者的耦合方案中,作者设计了一种模态间隐藏状态的转移方案,其中当前状态依赖于其自身链的状态和前一时间步邻近链的状态。为了完全符合硬件感知的并行性,作者设计了一种加速的耦合状态转移方案,并推导出其对应的全局卷积核以实现并行计算。通过在CMU-MOSEI、CH-SIMS、CH-SIMSV2等多个数据集上的多领域输入实验,验证了作者模型的有效性,相较于当前最先进的方法,F1得分分别提高了0.4%、0.9%和2.3%,推理速度提高了49%,GPU内存节省了83.7%。结果表明,耦合Mamba模型能够实现增强的多模态融合。
3. 耦合状态空间模型
在本节中,作者详细介绍了耦合Mamba方法,通过引入多模态历史状态实现多模态融合。如图2所示,它包含两个部分:状态耦合和状态空间模型。
耦合状态转移
对于多模态数据输入,一种简单的方法是将多模态特征聚合为一个特征,并使用单一的Mamba模型进行处理。然而,这种方法忽略了模态内的传播。受耦合隐马尔可夫模型(CHMM)的启发,一个更优雅的解决方案是建模相互模态转移概率如下:
其中是从所有模态到当前模态的概率转移矩阵。对于具有M个多模态输入的SSM,作者有M个状态传播序列。与CHMM一致,作者可以通过耦合所有模态状态来建模模态的状态转移:
考虑到内存开销和计算效率,这种建模大大增加了参数数量和计算复杂度。作者提出了一种更节省内存的方法,通过在状态转移之前进行求和,从而实现类似的性能并更加高效。因此,作者的耦合SSM形式为:
其中作者使用来建模状态求和后的整体状态转移。这种建模的一个小缺点是作者需要所有模态具有相同的状态,这可以通过使用投影层轻松解决。
并行性和效率分析
Mamba与传统循环神经网络(RNNs)的主要区别在于状态之间的转移不依赖于任何激活函数。这一特性使其能够通过迭代方程(3)预先计算中间结果,从而实现并行计算。然而,耦合Mamba在Mamba的基础上增加了多模态状态信息,这给保持Mamba并行化算法带来了新的挑战。为了解决这个问题,作者推导了一个适用于耦合Mamba的全局卷积核,以确保耦合Mamba能够继续享受Mamba并行计算带来的优势,从而有效提高模型的吞吐量和推理速度。详细的吞吐量和推理速度分析将在后续章节中深入讨论。
在引入不同模态的状态信息后,作者通过3.2了解了整个状态转移过程(6)。通过推导方程(6),即分解,作者可以得到以下结果:
其中。根据方程(7),可以扩展到每个模态的状态信息,作者使用以下公式计算输出:
由此,可以得到适用于耦合Mamba的全局卷积核。
全局卷积核可以用于对序列数据进行卷积操作。在卷积操作中,每个卷积核和输入子区域的计算是相互独立的,允许对不同的卷积核或输入块进行并行处理。
4. 实验
表5显示了在CH-SIMSV2数据集上的结果,该数据集目前仅支持回归任务。从表中可以看出,作者提出的方法在F1-Score和Acc-2上分别取得了2.7%和3%的巨大改进,表明了作者方法的有效性。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。