趋近智
将预训练的专家混合模型调整到新任务,与微调密集模型相比,带来一组不同的挑战。虽然预训练已赋予专家专业知识,但微调的目标是将这些知识引向新的应用方向或功能,同时避免从头训练的全部成本或导致灾难性遗忘。MoE模型的规模很大,这使得简单的全量微调方法对多数应用而言不实用。因此,需要一系列更精确的策略。
这些策略平衡三个相互竞争的因素:计算成本、内存占用和最终任务性能。策略的选择将取决于您的可用资源和性能要求。
最直接的方法是使用新任务的数据集,更新所有模型参数,包括门控网络和每个专家。这类似于密集模型的标准微调。
全量微调通常适用于微调数据集非常大且质量高,并且最高性能是首要目标(不考虑成本)的情况。
一套更节省资源且常用的技术涉及冻结模型的大部分,仅更新特定组件。这隔离了更改,保留了通用知识,并显著减少了计算负担。
下图展示了针对单个MoE层的三种不同更新策略。
微调策略比较。绿色部分表示正在更新的参数,而灰色部分表示已冻结的参数。
这是最有效的方法之一。所有专家网络都被冻结,仅更新门控网络(路由器)的参数。
合乎逻辑的下一步是,除了路由器之外,解冻少量专家。这在效率和适应性之间提供了一个平衡。有两种常见方法:
低秩适应(LoRA)等技术在模型中引入小的、可训练的“适配器”矩阵,同时保持大量的预训练权重冻结。这个原理自然地适用于MoE模型。
LoRA不是更新原始权重矩阵,而是通过低秩分解来近似更新,即,其中和是小的、可训练的矩阵。
对于MoE模型,可以通过几种方式应用LoRA:
这些方法的组合,例如将LoRA应用于注意力层和路由器,通常是一个非常有效且高效的起点。
对MoE模型而言,一个重要考量是负载均衡辅助损失在微调期间的命运。舍弃它是一个错误。如果没有分配令牌的压力,路由器会迅速出现“表示崩溃”,学习将所有令牌发送到一个专家,该专家变得高度针对微调任务过度专业化。这破坏了MoE架构的优势。
因此,辅助损失在微调期间应保持活跃。然而,微调数据集通常比预训练语料库窄得多。强制专家之间完美均匀的分布可能适得其反。常见的做法是,通过减小辅助损失的系数来降低其权重。
的典型值可能比预训练时使用的值小一个数量级。这保持足够的压力以防止专家崩溃,同时给予路由器足够的灵活性,使其偏好某些确实与下游任务更相关的专家。在微调期间,请始终监控专家利用率,以确保健康的分布。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造