LoRA不再一刀切:MaLoRA用Mamba让适配器学会看人下菜
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 层次的相关段落检索
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 段),净效果是推理更快
和其他方法的比较
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