想象你拥有一间庞大且高度专业化的厨房,里面有64 位不同的厨师(这些就是混合专家(Mixture-of-Experts)AI 模型中的“专家”)。当顾客点了一道菜时,主厨不会让所有 64 位厨师都来烹饪,而是挑选出最擅长该特定订单的 8 位厨师。这使得厨房极其高效,因为任何时刻只有少数人在工作。
现在,想象你想教这间厨房一道新的特定食谱(比如“如何烤出完美的酸面团面包”)。这被称为“微调”。
问题:“全员参与”的方法
教授这些厨房的标准方法(使用一种称为LoRA的技术)是给每一位厨师一张新食谱卡和一本练习用的记事本,即使是那些从未被叫去烤酸面团面包的厨师也不例外。
- 浪费:你正在浪费时间和内存去训练那些永远不会使用新食谱的厨师。
- 风险:如果你强迫一位专精“寿司”的厨师仅仅因为可能被叫到就去练习“酸面团面包”,你可能会破坏他们原本精湛的寿司技艺。你正在稀释他们的专长。
解决方案:HELLoRA(热专家层级低秩自适应)
作者提出了一种更聪明的方法,称为HELLoRA。他们不是训练所有人,而是这样做:
- “试味”(热身):在正式训练开始之前,他们先进行一次快速的小型练习。他们观察厨房,看看具体是哪几位厨师实际上被叫去烤酸面团面包。
- “热名单”:他们识别出“热专家”——即那些承担了该特定任务 90% 工作量的少数厨师。
- 针对性训练:他们只给这些“热专家”发放新食谱卡和记事本。其余的 56 位厨师(“冷专家”)则被告知按兵不动,保持原有的技能熟练度,什么都不做。
为何有效(魔法所在)
论文声称,这个简单的技巧能同时实现三件惊人的事情:
- 更快:由于你不再训练那 56 位无用的厨师,整个过程运行速度提高了约2 倍。这就像清除了厨房里不烹饪的人,让真正的厨师能更快速地移动。
- 更便宜:你需要记住的信息量大大减少(更少的“参数”)。HELLoRA 仅使用了旧方法所需内存的约16% 到 30%。
- 更智能:通过让“冷专家”保持原样,你保护了他们原本经过预训练的技能。这就像不强迫寿司厨师练习烘焙,以免他们不小心忘记如何切鱼。这实际上使得 AI 在新任务上的表现优于训练所有人的情况。
"HELLoRI"升级
作者还创建了一个超轻量级版本,称为HELLoRI。想象一下,即使是对于“热专家”,你也只允许他们在记事本的**10%**页面上书写。这将训练成本降低到几乎为零(小于原始大小的 1%),同时仍能保持 AI 非常智能。
结果
该团队在三种不同类型的 AI 厨房(OlMoE、Mixtral 和 DeepSeekMoE)以及三种不同的任务(数学、编程和安全)上测试了这种方法。
- 结论:HELLoRA consistently 击败了旧方法。它速度更快,占用内存更少,并在数学和编程测试中获得了更高的分数。
- 类比:这之间的区别在于,是试图教整个体育场的人如何玩杂耍(在那些永远不会玩杂耍的人身上浪费时间),还是找出人群中已经擅长此道的 5 个人并给他们提供大师级课程。
简而言之:HELLoRA 停止浪费时间去训练那些不工作的“冷”专家,将所有精力集中在真正工作的“热”专家上,从而使得 AI 更快、更便宜、更智能。
技术摘要:HELLoRA
问题陈述
尽管低秩自适应(LoRA)已成为稠密大语言模型(LLM)参数高效微调(PEFT)的标准方法,但将其应用于混合专家(MoE)模型却面临独特挑战。MoE 模型通过为每个令牌仅激活稀疏的子集专家,在保持每令牌计算量近乎恒定的同时扩展了参数容量。然而,若将 LoRA 朴素地应用于 MoE 模型中的所有专家,会导致显著的内存和吞吐量开销,因为适配器被附加到了针对特定下游任务极少被激活的专家上。此外,对这些“冷”专家进行适配可能会向承载特定预训练知识的参数中注入梯度噪声,从而可能破坏专家的专业化能力并降低性能。
方法论
本文提出了HELLoRA(热专家层级低秩自适应),这是一种利用 MoE 激活模式固有稀疏性来优化适配器放置的方法。
核心机制
HELLoRA 基于以下观察:对于特定任务,每个层内的专家激活高度偏斜——少量“热”专家处理了大部分令牌的生成,而长尾的“冷”专家极少被使用。该方法分为两个阶段:
- 轻量级分析(预热): 在完整微调之前,模型使用标准 LoRA 经历一个短暂的预热阶段(默认为训练数据的 10%)。在此阶段,系统记录每个 MoE 层中每个专家的激活频率。
- 选择性适配器附加: 基于分析统计,HELLoRA 识别出每层中激活频率最高的前 k 个专家(“热专家”)。LoRA 适配器仅附加到这些热专家,以及注意力投影和门控网络上。所有“冷”专家保持完全冻结。
HELLoRI 变体
为了应对极端的参数预算限制,作者将 HELLoRA 与LoRI(具有稀疏更新的 LoRA)结合。该变体称为HELLoRI,它冻结上投影矩阵(A),并仅更新热专家适配器中下投影矩阵(B)的前 10% 条目,进一步减少了可训练参数。
理论依据
作者认为该方法具有两个互补的优势:
- 效率: 通过完全移除冷专家的适配器,HELLoRA 消除了它们的前向和反向传播计算。与基于掩码的方法(如 LoRI)不同(后者在计算图中保留参数),HELLoRA 减少了实际的浮点运算量(FLOPs)和内存流量。
- 正则化: 冻结冷专家保留了它们的预训练专业化能力。使用稀疏且无代表性的令牌子集对冷专家进行适配,可能会引入噪声梯度,从而干扰已学习的能力。将适配限制在热专家上,起到了一种结构化正则化的作用。
主要贡献
- 双重稀疏性的识别: 作者指出,MoE 微调受益于稀疏专家激活与 LoRA 更新低秩结构产生的复合效应。
- HELLoRA 框架: 他们提出了一种层级热专家适配器放置策略,仅需在训练前进行一次简单的单次分析步骤。
- 全面评估: 该方法在三种不同的 MoE 骨干网络(OlMoE-1B-7B、Mixtral-8×7B、DeepSeekMoE)和三类任务(数学推理、代码生成、安全对齐)上进行了评估。
- 同步优化: 论文证明,HELLoRA 同时提升了下游准确率、参数效率、适配器引入的 FLOPs 以及墙钟训练吞吐量——这是以往基于掩码或稠密适配器的方法所未能实现的组合。
实验结果
评估结果显示,HELLoRA 在标准 PEFT 基线(LoRA、DoRA、LoRI)和 MoE 特定方法(LoRAMoE)上取得了持续的提升:
- 参数效率: HELLoRA 使用的可训练参数显著更少,同时达到或超过了完整 LoRA 的性能。
- 在OlMoE-1B-7B上,HELLoRA 仅使用**0.7%**的参数(约为 LoRA 的 6 倍少),同时在 GSM8K(29.49 vs. 26.37)和 HumanEval 上实现了更高的准确率。
- 在Mixtral-8×7B上,它使用了**0.31%**的参数(LoRA 预算的 30%),准确率有所提升。
- 在DeepSeekMoE上,它使用了**0.82%**的参数(LoRA 预算的 23%),性能相当或更优。
- 吞吐量与 FLOPs: HELLoRA 实现了约为 LoRA 1.9 倍的训练吞吐量,并在各骨干网络上将适配器引入的 FLOPs 降低了33–39%。这种加速归功于将冷专家适配器内核完全从计算图中移除。
- 消融研究:
- 选择策略: 层级热选择优于模型级(全局)选择、随机选择和冷专家选择。即使是随机选择也略优于完整 LoRA,表明限制范围本身提供了正则化作用。
- 预热: 使用 10% 的数据进行分析,可恢复出由全数据分析所识别出的 87.5% 的热专家,仅产生 9.2% 的训练时间开销。
- 跨任务保持: 在特定任务上的微调在很大程度上保留了对非目标任务的性能,支持 HELLoRA 在顺序或多任务场景中的应用。
意义与主张
论文主张,感知激活的适配器放置是将 PEFT 扩展至大型 MoE 语言模型的实用且有效的原则。通过将适配能力与模型的原生计算分布对齐,HELLoRA 解决了适配未使用参数的低效问题以及破坏预训练知识的风险。
作者强调,HELLoRA 是首个能够同时减少可训练参数、降低 FLOPs、提高训练吞吐量并改善 MoE 模型下游准确率的方法。他们指出,虽然该方法依赖于预热数据的代表性,但它为资源受限的微调提供了一种稳健的解决方案,无需复杂的架构变更或在线秩调整。该研究表明,对于标准 MoE 架构,将热专家数量(k)设置为与每步路由预算相匹配是一个可靠的起点,而对于包含共享专家的架构则需要进行调整。
每周获取最佳 machine learning 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。