Loading...
正在加载...
请稍候

LoRA不再一刀切:MaLoRA用Mamba让适配器学会看人下菜

✨步子哥 (steper) 2026年07月22日 17:06

LoRA 是当前最流行的参数高效微调方法。它的思路很简单:冻结大模型的原参数,只训练一个低秩矩阵对(A 和 B),用它们的乘积 BA 作为"增量"加到原参数上。

这个增量 BA 是静态的——无论输入什么,它都加同样的东西。一个关于法律文档的输入和一个关于诗歌的输入,得到的增量一模一样。

这就像给每个人发同一副眼镜。不管你是近视、远视还是散光,都戴这副。平均来看,大家看得清楚了一点,但远没有针对每个人配镜效果好。

佐治亚理工的 Atahan Dokme 和 Larry Heck(对,就是那个 Siri 之父 Larry Heck)在 2026 年 7 月的论文里提出了一个问题:能不能让这个增量"动起来",根据输入自适应调整?

答案是 MaLoRA——用 Mamba 状态空间模型来调制 LoRA 的缩放因子。


两个层次的选择性

论文的核心洞察是:适配(adaptation)应该在两个层次上发生,而传统 LoRA 两个都没做到。

Token 层次:同一个输入里,不同 token 的重要性不同。"合同""违约""赔偿"这些关键词应该触发更大的适配,而"的""了""是"这些停用词几乎不需要适配。LoRA 对所有 token 一视同仁。

Context 层次:不同的输入实例需要不同的背景知识。一个关于多跳推理的问题需要检索相关段落,一个关于单跳推理的问题不需要。LoRA 对所有实例一视同仁。

论文提出了两个对应的组件:

  • MaLoRA(Mamba-modulated LoRA):token 层次的动态调制
  • MaRA(Mamba Retrieval Adapter):context 层次的相关段落检索

两者都用 Mamba 状态空间模型来实现"选择性",但作用在不同粒度上。

MaLoRA:让缩放因子变成动态的

标准 LoRA 的更新是 W' = W + BA,其中 B 和 A 是训练出来的低秩矩阵。TopLoRA 是一个改进版本,它在 BA 的基础上加了一个 token 级的缩放因子 s_t,使得更新变成 W' = W + s_t · BA。但这个 s_t 是无状态的——每个 token 的缩放只依赖当前 token,不依赖之前的 token。

MaLoRA 的关键创新是把缩放因子变成有状态的

s_t = Mamba(h_t, s_{t-1})

其中 h_t 是当前 token 的隐状态,s_{t-1} 是上一个 token 的缩放状态。Mamba 的递归结构让 s_t 能"记住"之前看过的 token,做出更明智的调制决策。

这和 Mamba 作为语言模型的用法不一样。Mamba 通常作为主干架构替代 Transformer,但 MaLoRA 把 Mamba 作为一个小型调制器嵌在 LoRA 旁边。Mamba 不处理 token 序列,只处理 LoRA 的缩放信号。这保持了 LoRA 的参数高效性——Mamba 模块很小,只增加少量参数。

从"无状态"到"有状态"的转变,让 MaLoRA 能做到 TopLoRA 做不到的事:根据上下文决定当前 token 的调制强度。比如在"合同"这个词出现后,后续的"条款""违约"等词应该被更强地调制;而在"你好"之后,后续的寒暄词不需要强调制。这种上下文依赖的调制,无状态的 TopLoRA 做不到。

MaRA:用 Mamba 检索相关段落

MaRA 解决的是另一个问题:长上下文推理时,不是所有段落都有用。

给定一个多跳推理问题(比如"X 公司的 CEO 的母校在哪里?"),prompt 里可能有 20 个段落,只有 3 个是相关的。MaRA 的工作是:在生成答案之前,先用 Mamba 扫描所有段落,选出最相关的 top-k 个,只把这 k 个段落作为上下文传给 LLM。

MaRA 的架构:

  1. 段落编码器:把每个段落编码成一个向量
  2. Q 驱动的注意力池化:用问题向量 Q 对段落向量做注意力,得到段落-问题相关度
  3. Mamba 跨段落状态:用 Mamba 在段落序列上建立状态,让段落之间的信息流动
  4. 评分头:输出每个段落的相关性分数,选 top-k

关键设计:k 由验证集的 recall 决定,不是由 F1 决定。这意味着 MaRA 的检索质量独立于下游任务评估——你先确保检索到了正确段落,再看 LLM 能不能答对。这避免了"检索和生成耦合在一起调参"的常见陷阱。

两个机制是互补的

论文最精彩的实验发现是:MaLoRA 和 MaRA 是互补的

在 MuSiQue(多跳推理 benchmark)上:

  • LoRA 基线:F1 51.1(Qwen-2.5-7B)
  • 只用 MaLoRA:F1 提升 +6.8 到 +9.3
  • 只用 MaRA:F1 也有提升
  • MaLoRA + MaRA:提升最大

为什么互补?因为它们解决的是不同层次的问题。

MaRA 解决"看什么"——从 20 个段落里选出 3 个相关的。MaLoRA 解决"怎么看"——在相关段落内部,对不同 token 做不同程度的适配。

一个在 context 层做选择,一个在 token 层做调制。两者不冲突,反而叠加。

在 3 个冻结主干(Qwen-2.5-7B、Llama-3.1-8B、Gemma-2-9B)× 2 个 benchmark 的 3×2 网格上,MaLoRA + MaRA 在每一个格子都优于 LoRA 基线。平均提升 +6.8 F1(+10.5% 相对),最难的格子提升 +9.3 F1(+18.2% 相对)。

效率:不是用更多参数换来的

参数高效微调的关键是"高效"。MaLoRA + MaRA 增加了多少参数?

论文的效率分析显示:

  • MaLoRA 的 Mamba 调制器参数量远小于主干模型
  • MaRA 的检索器是独立的小模型,不增加 LLM 的推理成本
  • 训练时间和峰值内存与 LoRA 相当
  • 推理延迟:MaRA 增加了一次检索的前向传播,但减少了 LLM 的上下文长度(从 20 段到 k 段),净效果是推理更快

最后一点值得强调。通常我们以为"加组件会变慢",但 MaRA 通过减少 LLM 的上下文长度,反而加速了推理。这是一个"少即是多"的设计——先用小模型过滤,再让大模型处理精简后的输入。

和其他方法的比较

MaLoRA + MaRA 处在几个研究方向的交叉点:

  • LoRA 变体(DoRA、AdaLoRA 等):都在改进 LoRA 的静态性,但通常还是无状态的。MaLoRA 引入状态空间递归,是"有状态适配"的新方向
  • 检索增强生成(RAG):MaRA 本质上是一个学习型检索器,但和传统 RAG 的区别是它和适配器联合训练,不是即插即用的外部组件
  • Mamba 作为主干:论文没有用 Mamba 替代 Transformer,而是把 Mamba 用作"调制器"——这是一个巧妙的功能定位

局限性

论文诚实地讨论了几点:

  • 仅在 7-9B 模型上测试:更大模型(70B+)是否同样受益未知
  • 仅在多跳推理上测试:其他任务类型(生成、对话等)效果未知
  • MaRA 的检索质量有上限:如果相关段落召回率低(如 Gemma 的情况),下游任务会受影响
  • k 是固定的:不同问题可能需要不同数量的证据段落,固定 k 是一个简化

为什么这件事比看起来更重要?

表面上看,这是一个"LoRA 改进"论文。但深层来看,它提出了一个重要的设计哲学:

适配应该是选择性的,不是均匀的。

这个哲学适用于很多场景。人类学习新技能时,不是把所有知识均匀地塞进脑子,而是选择性地强化相关神经回路。LLM 的适配也应该如此——不同 token、不同实例、不同任务,应该触发不同强度的适配。

MaLoRA 用 Mamba 实现了 token 级的选择性,MaRA 用 Mamba 实现了 context 级的选择性。两者都在说同一件事:别再"一刀切"了

从更广的视角看,这篇论文是"状态空间模型复兴"趋势的一部分。Mamba 最初被提出时,人们关注的是"能不能替代 Transformer"。现在越来越多的工作(包括这篇)发现,Mamba 的价值不在于替代,而在于补充——用它做 Transformer 不擅长的事,比如序列级的递归状态管理。MaLoRA 把 Mamba 用作 LoRA 的调制器,是一个精准的功能定位。


论文Selective State-Space Adaptation and Retrieval for Language Model Reasoning
作者:Atahan Dokme, Larry Heck(Georgia Institute of Technology, AI Virtual Assistant Lab)
日期:2026 年 7 月 21 日

#LLM #LoRA #Mamba #参数高效微调 #状态空间模型

讨论回复

加载中...
正在加载回复...

正在加载回复...

推荐
智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

领取 2000万 Tokens 通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力
登录