机器之心授权发布
作者:王子涵
我们都知道,DeepSeek-R1 的训练过程使用了一种名为专家混合模型(Mixture-of-Experts, MoE)的技术,而当前的 MoE 技术依然还有显著的优化空间。
近日,美国西北大学计算机科学博士生王子涵(Zihan Wang)等人在这个方向上取得了突破,提出了一种名为专家链(CoE)的技术。实验表明,CoE 在性能、扩展策略、资源效率和专家使用效率等多个方面都显著超越先前的 MoE 模型。
目前,核心研究者王子涵已经撰写并发布 CoE 的中英文博客并已经在 GitHub 开源相关代码,他也在博客中表示研究论文将在近期发布。以下为相关链接:
- 代码:https://github.com/ZihanWang314/coe
- 中文报告:https://sandy-server-87f.notion.site/1ab9bb750b79801bbfebf01ae9a77b3f
- 英文报告:https://sandy-server-87f.notion.site/Chain-of-Experts-Unlocking-the-Communication-Power-of-MoEs-1ab9bb750b7980048d43e6aab3537cea
机器之心授权转载了其中文报告。
作者简介:王子涵,美国西北大学计算机科学博士一年级学生,导师为 Manling Li。他本科毕业于中国人民大学高瓴人工智能学院,并曾参与过 DeepSeek-V2 模型的开发工作。
引言
我们提出专家链 (Chain-of-Experts,CoE) 架构,一种通过在单层内实现专家间串行通信的创新方法,从根本上改变稀疏神经网络的信息处理方式。
MoE 设计中存在专家间独立处理以及显存需求高的问题。与先前 MoE 独立处理每个 token 不同,CoE 引入迭代机制使专家能够 "沟通",在其他专家的输出之上处理 token。
实验证明 CoE 在多个方面显著超越先前 MoE 模型。性能显著提升,CoE 两次迭代在 Math 任务上将验证 loss 从 1.20 降至 1.12;扩展策略优势,CoE 中扩展两次迭代性能相当于将专家选择数量扩大 3 倍,并优于扩展模型层数;资源效率优化,相似表现下减少了 17.6-42% 的内存需求;专家组合自由度提升了 823 倍;专家使用效率增强,促进了专家间的直接通信和更好的专家分化。这些优势构成了一种罕见的 "免费午餐" 效应,为大规模语言模型的高效扩展开辟了新途径。
Chain-of-Experts:释放 MoE 专家的沟通潜能
大型语言模型(LLMs)不断推动人工智能可能性的边界,但高效扩展这些模型仍然是一个重大挑战。专家混合(Mixture of Experts,MoE)模型作为一种有前景的方法出现,通过每个 token 仅激活部分参数来解决这一挑战,理论上实现更高效的扩展。然而,MoE 模型存在以下局限性:
- 独立标记处理:MoE 模型通常并行独立处理 token,专家之间没有沟通。
- 内存效率低下:由于具有稀疏激活模式,MoE 整体参数数量较大,需要大量内存资源。
Chain-of-Experts (CoE) 介绍
我们的研究引入了 Chain-of-Experts (CoE),这是一种改变稀疏神经网络处理信息方式的新方法。
Chain-of-Experts 的形式化表述
CoE 的关键创新在于建立沟通性处理机制,超越了先前 MoE 模型中的独立标准处理。我们如何实现这一点?通过在单个层的迭代中将 MoE 输出反馈为多次迭代的输入。
1、先前 MoE 的输出表示
在先前的 MoE 层中,不考虑共享专家,输出可以表示为:
方法分析
1、CoE 的优势
这种迭代式专家处理方法具有两个关键优势:
- 每次迭代的专家选择由前一次迭代的输出决定,形成专家间的依赖关系和更动态的路由机制
- 串行信息可以在迭代过程中累积,实现专家间的直接通信
通过这种方式,CoE 能够在保持计算效率的同时,显著提高模型的表现,特别是在复杂的场景中(如实验采用的数学任务)。
2、路由函数如何影响决策过程
效果优势
1、 在算力预算与显存预算相似时,CoE 效果明显更优。
在 Math 任务上进行预训练 (步数 1000),CoE-2 (4/64) 的效果明显优于 MoE (8/64),在相似的算力和内存要求下,将 loss 从 1.20 下降至 1.12,且有更陡峭的下降趋势。
我们进一步在 “dense”(专家 8 选 8)模型上也测试了 CoE,证明了串行处理在 Sparse MoE 上相比 Dense 模型更有效,CoE 是 (Fine-Grained) Sparse MoE 的专属方法。如图所示,采取 2 次序列化处理对 Dense 模型性能没有显著益处。
资源效率
1、在计算量和效果相似的情况下,CoE 可以减小对显存的要求。
例如,CoE-2 (4/48) 的效果与 MoE (8/64) 相近,但使用更少的总专家数量。
如下图所示,loss match 的情况下减小了 17.6% 的显存需求。
(注,我们记录了 GPU memory allocated,与 micro_bsz=1 的时候理论最小显存相关,实际上因为实验中使用了较大的 batch size,使用的显存会更大)
2、在预算相似的情况下,CoE 是更好的计算扩展方式。
我们对比了 CoE 和其他计算扩展方法:拓展模型层数与拓展专家选择个数。
a) 拓展迭代次数 (CoE) > 拓展模型层数
CoE-2 (8/64),4 层 vs MoE (8/64),8 层 / 12 层,8 层 MoE 和 CoE 效果几乎相同,但是对 Memory 要求高 72%,即 CoE 相对节省了 42% memory。
b) 拓展迭代次数 (CoE)> 拓展专家选择个数
CoE-2 (8/64),4 层 vs MoE (16/64) 或 MoE (24/64),4 层,Memory 和 Compute 要求一致,CoE 效果更好。
3、架构设计的关键发现
a. 独立门控机制
独立门控机制可以提升模型性能,能从一定程度上解释专家的分化,表明同一专家在不同迭代阶段处理不同类型的信息。
理论观察:免费午餐效应
最显著的是,CoE 或许提供了我们称之为 "免费午餐" 加速。通过重构信息在模型中的流动方式,与以往 MoE 方法相比,我们以更少的计算开销实现了更好的结果。我们认为这种效果可能来自于三个因素:
实验细节
1、数据集
实验使用的数据集为 MetaMathQA (链接:https://huggingface.co/datasets/meta-math/MetaMathQA ),该数据为从 GSM8K 和 MATH 数据集中增强而来,不含网络获取的通用数据。
2、模型配置
我们基于 DeepSeek-V2-Lite 架构,设置总参数为 544MB(不含 embedding)的模型,实现了 CoE 方法,主要配置参数如下:
- 基础模型参数:隐藏层大小:1024,隐藏层数量:4,注意力头数:8
- MoE 相关参数:路由专家总数:63,共享专家数量:1,每个 token 选择的专家数量:8 (routed) + 1 (Shared),MoE 中间层大小:704,MoE 层频率:1 (每层都是 MoE 层)
- CoE 特有参数:迭代次数:2,残差连接方式:内部连接,独立门控机制:开启 (每次迭代使用不同的路由函数)
3、训练设置
- 批量大小 (batch size):64,序列长度:512,训练步数:1000,优化器:AdamW,学习率:3e-4,学习率调度:10% Warmup,betas: [0.9, 0.95] weight_decay: 0.01 warmup_steps_ratio: 0.1 clip_grad: 1.0。
4、系统设置
训练采取改版后的 veRL 架构(微调了原版实现),代码参考 https://github.com/ZihanWang314/coe,实验都在多个单张 H100 的服务器上进行。每组实验在 1 小时以内完成。
结论
Chain-of-Experts 代表了高效、高性能语言模型发展的重要一步。通过在稀疏神经网络中实现沟通处理,CoE 解决了当前 MoE 架构中的基本限制,同时以更少的计算需求提供优越的性能。
这项研究为高效扩展语言模型开辟了新途径,可能使先进的人工智能能力更加普惠和可持续。
未来工作
1. 扩展法则研究:提高模型尺寸、预训练步数、批量大小,测试不同数据集等。目前使用数学数据集是因为其推理复杂性具有挑战性,但计划在通用数据集上进行测试。
2. 进一步评估:
- 测试模型的实际任务表现而非仅限于评估损失
- 扩展循环次数:目前只测试了循环次数 = 2,探索 3、4 次等是否有效
- 进一步评估共享专家对 CoE 的作用
3. 架构创新:
- 基于循环告诉我们一个专家可以使用多次的原理,探索是否可以实现所有层共享专家的 MoE Transformer,并分层选择专家
- 例如,DeepSeekV2Lite 有 27 层,每层 64 个专家,目前每层选 6 个路由专家有约 7×10⁷ 种组合,而如果每一层过 MoE 时,都从全部 27×64 个专家中选择,一共将有 3×10¹⁶ 种可能的组合
局限性
- 虽然理论上 TFLOPs 保持一致,但实际训练时间会略微增加,因为单次迭代选择更少专家减小了矩阵乘法并行度。未来工作可能需要进行底层适配。
- 该方法需要从头预训练而不能简单地适配现有模型,限制了大众研究者的应用。
- 模型更大时,多节点 EP 通信开销也需要纳入考虑;当前架构基于 DeepSeekV2,与 V3 的模型架构兼容,但 V3 中实现的 MTP、FP8 等训练架构尚未测试,兼容性未知。
这篇博客文章基于我们关于 Chain-of-Experts (CoE) 的研究论文。有关更多技术细节和实验结果,请关注我们即将发布的完整论文。
贡献者
Zihan Wang*
Rui Pan*
Lu Yin*
Manling Li*
Shiwei Liu*
* 共同作者。ZW 和 SL 发起了项目。LY 探索了 MoE 内层处理机制。ZW 提出了串行专家和 CoE 概念,实现了代码并进行了实验。SL 提出了独立门控机制。RP 探索了层间重要性并贡献了数据集。ML 进行了实验指导并提供了云计算服务。ZW 和 ML 准备了报告和可视化材料。
参考文献
https://arxiv.org/pdf/2309.08520 MoE 缩放法则
https://arxiv.org/pdf/2101.03961 Switch Transformer
https://arxiv.org/pdf/2502.05171 循环深度
https://arxiv.org/pdf/1909.11942 ALBERT (密集模型上的循环)
https://arxiv.org/abs/2401.06066 DeepSeekMoE
https://arxiv.org/abs/2405.04434 DeepSeek V2
https://arxiv.org/abs/2412.19437 DeepSeek V3
https://arxiv.org/abs/1512.03385 ResNet