随着 Mixtral 8x7B (announcement, model card) 的推出,一种称为混合专家模型 (Mixed Expert Models,简称 MoEs) 的 Transformer 模型在开源人工智能社区引起了广泛关注。在本篇博文中,我们将深入探讨 MoEs 的核心组件、训练方法,以及在推理过程中需要考量的各种因素。
一、内容摘要
二、什么是混合专家模型
2.1 MoE
2.2 MoE优点
2.3 MoE简史
三、MoE结构
3.1 门控网络
3.2 专家
四、MoE与稀疏性
4.1 稀疏性
4.2 MoE对稀疏性的处理
五、混合专家模型中令牌的负载均衡
六、MoEs and Transformers
七、Switch Transformers
八、用 Router z-loss 稳定模型训练
九、专家如何学习?
十、专家的数量对预训练有何影响?
十一、微调混合专家模型
十二、稀疏 VS 稠密,如何选择?
十三、让 MoE 起飞
13.1 并行计算
13.2 容量因子和通信开销
13.3 部署技术
部署混合专家模型 (MoE) 的一个关键挑战是其庞大的参数规模。对于本地使用情况,我们可能希望使用更小的模型。为了使模型更适合部署,下面是几种有用的技术:
- 预先蒸馏实验: Switch Transformers 的研究者们进行了预先蒸馏的实验。他们通过将 MoE 模型蒸馏回其对应的稠密模型,成功保留了 30-40%的由稀疏性带来的性能提升。预先蒸馏不仅加快了预训练速度,还使得在推理中使用更小型的模型成为可能。
- 任务级别路由: 最新的方法中,路由器被修改为将整个句子或任务直接路由到一个专家。这样做可以提取出一个用于服务的子网络,有助于简化模型的结构。
- 专家网络聚合: 这项技术通过合并各个专家的权重,在推理时减少了所需的参数数量。这样可以在不显著牺牲性能的情况下降低模型的复杂度。