6.1 用 Router z-loss 稳定模型训练 在论文ST-MOE: Designing Stable and Transferable Sparse Expert Models中,作者提出了一种新的辅助损失函数,称为Router z-loss,用于提高稀疏模型的训练稳定性,同时保持或稍微提高模型质量。这个损失函数是针对稀疏专家模型中的路由器(router)部分设计的,路由器负责将输入的 token ...
另一方面,增加更多的乘法分量可以提高质量,但会降低模型稳定性。 ST-MoE 引入的Router z-loss在保持了模型性能的同时显著提升了训练的稳定性。这种损失机制通过惩罚门控网络输入的较大logits来起作用,目的是促使数值的绝对大小保持较小,这样可以有效减少计算中的舍入误差。这一点对于那些依赖指数函数进行计算的门控网络...
以前,这种高FLOP MoE 在训练过程中被发现不稳定,但增加路由器 z-loss 使 ST-MoE-32B 模型能够成功训练。由于与之前的 MoE 模型相比,ST-MoE-32B 的参数更少,因此更易于微调和部署。 “我们在 FLOP 和参数之间寻求平衡。高 FLOP 稀疏模型以前在我们的设置中不稳定(即编码器-解码器模型、Adafactor 优化器),但...
混合专家模型(MoE)的一个显著优势是它们能够在远少于稠密模型所需的计算资源下进行有效的预训练。这意味着在相同的计算预算条件下,您可以显著扩大模型或数据集的规模。特别是在预训练阶段,与稠密模型相比,混合专家模型通常能够更快地达到相同的质量水平。那么,究竟什么是一个混合专家模型(MoE)呢?作为一种基于...
此外,训练MoE模型可能涉及从密集模型(稀疏升级)初始化并更改训练目标,例如包括辅助负载均衡和路由z-losses;表1显示了论文的最终决策。总结来说,论文使用了总共6.9B参数中的1.3B活跃参数,每层激活了8个专家,总共64个专家。论文采用了无丢弃的token选择路由[58]:对于每个输入token,学习到的路由网络决定由8个...
ST-MoE 有个亮点叫router z-loss,主要是为了缓解训练过程中数值不稳定的问题。因为路由里的指数函数特别容易放大微小数值误差,z-loss 就是给那些过大的 logit 值加点惩罚: 这样能够抑制极端数值,也往往能带来一点点精度增益。 容量因子调优:ST-MoE 还强调了 capacity factor 的重要性,用辅助损失来让 token 尽量...
稳定训练基于 Z-loss 损失函数的路由网络 上文讨论的平衡损失可能会导致不稳定问题。但是可以使用许多方法以牺牲质量为代价来稳定稀疏模型。例如,引入 dropout 可以提高稳定性,但有损于模型的性能质量。另一方面,添加更多的乘法分量可以提高模型的性能质量,但会降低稳定性。
在token 分发机制上,Megatron-Core MoE 采用了 dropless MoE 操作,即不丢弃任何 token。在路由和负载均衡优化层面,它支持多种路由策略,如通用的top-k,并在负载均衡算法上支持 Sinkhorn 算法、z-loss 以及 load balancing loss 等多种方案。 此外,为解决多个专家接收变长输入问题,Megatron-Core MoE 引入了 Grouped...
用Router z-loss 稳定模型训练 之前讨论的平衡损失可能会导致稳定性问题。我们可以使用许多方法来稳定稀疏模型的训练,但这可能会牺牲模型质量。例如,引入 dropout 可以提高稳定性,但会导致模型质量下降。另一方面,增加更多的乘法分量可以提高质量,但会降低模型稳定性。
1.5 稀疏模型的稳定训练探索3:Router Z-Loss 引入 Router Z-Loss 函数,结合监督损失和辅助负载均衡损失,通过优化路由器的输入,实现更稳定的训练过程。此方法在训练过程中,通过惩罚路由器输入中的大值,促进均匀路由。1.6 稀疏模型的微调性能假设:一个泛化性问题 假设稀疏模型容易过拟合,并通过 ...