(2026|COLM|Cornell,跨层/连续块共享专家池,跨层专家复用,扩大路由组合空间,深度 embedding)MoRE:专家复用 MoE

MoRE: Mixture of Reused Experts


论文地址:https://arxiv.org/abs/2609.18176

项目页面:https://github.com/EricQiu6/MoRE

学术交流群:922230617


目录

[1. 引言](#1. 引言)

[2. 背景:标准 MoE 的结构瓶颈](#2. 背景:标准 MoE 的结构瓶颈)

[3. MoRE 方法:共享专家池 + 独立路由 + 深度embedding](#3. MoRE 方法:共享专家池 + 独立路由 + 深度embedding)

[3.1 Reuse Block:相邻层共享专家池](#3.1 Reuse Block:相邻层共享专家池)

[3.2 Depth Embedding:让共享专家知道 "我在第几层"](#3.2 Depth Embedding:让共享专家知道 “我在第几层”)

[4. 实验结果:PPL 与下游任务全面领先](#4. 实验结果:PPL 与下游任务全面领先)

[4.1 实验设置](#4.1 实验设置)

[4.2 验证 PPL](#4.2 验证 PPL)

[4.3 下游任务](#4.3 下游任务)

[5. 消融与分析:为什么 R=2、为什么相邻层共享有效](#5. 消融与分析:为什么 R=2、为什么相邻层共享有效)

[5.1 Reuse Factor R](#5.1 Reuse Factor R)

[5.2 路由分析与系统表现](#5.2 路由分析与系统表现)

[6. 局限性](#6. 局限性)


1. 引言

在标准 MoE 中,每层维护独立专家池,层与层之间不能复用专家。MoRE 将相邻若干层的 FFN 专家参数共享 ,形成一个 "reuse block"。每层仍然保留自己的 Router,并额外加入一个可学习的 depth embedding,让共享专家知道当前处于哪一层。

主要结论:

  • 不增加总参数量:MoRE 通过权重绑定复用相邻层专家,物理专家总数与基线 DeepSeek-v3 对齐。

  • 路由组合空间组合式扩大 :若标准 MoE 每层有 N 个专家、Top-K 路由,则组合数为 C_N^K;MoRE 每层从 R⋅N 个共享专家中选 Top-K,组合数变为 C_{R·N}^K。论文举例:N=32,K=4,R=2 时,组合数从 35,960 增至 635,376,约 18 倍。

  • 允许跨层专家复用:相邻层可以路由到同一个专家,这是标准 MoE 结构上做不到的。

  • 实验全面领先:在 114M--1.15B 三个尺度上,MoRE 的验证 PPL 均低于 DeepSeek-v3、Dense 和 MoEUT;下游 OLMo3 任务宏平均也最佳。

  • 工程改动极小:只需相邻层专家权重绑定 + 每层一个 depth embedding,不需要自定义归一化、门控或训练稳定技巧。

图 1:架构对比。

  • 上图:标准MoE,各层拥有大小为 N 的专家池。
  • 下图:MoRE,复用因子 R=2,相邻层共享一个包含 2N 个专家的池。每层保留其自身的路由矩阵 W_ℓ,并在路由前接收可学习的深度embedding d_ℓ。
  • 颜色表示哪些层共享专家参数。

2. 背景:标准 MoE 的结构瓶颈

标准 MoE 用 Router 为每个 token 选择 Top-K 个专家 FFN,从而在不大幅增加计算量的情况下扩大模型容量。但论文指出一个结构性限制:

每层专家池是独立的,Router 只能从本层专家中选择。

这带来三个问题:

  1. 路由空间受限:每层只有 C_N^K 种专家组合。想扩大组合空间,只能增加专家数量,导致参数量线性增长。

  2. 相邻层重复学习:浅层功能相似,却要各自学习冗余专家,浪费参数容量。

  3. 无法跨层复用专家:标准 MoE 中,同一专家不可能在连续两层被同一 token 选中。

已有权重共享架构如 Universal Transformers、MoEUT 能提升参数效率,但 MoEUT 需要 sigmoid gating、Switch Head、自定义 normalization 等复杂修改。MoRE 希望保留标准 MoE 的训练简单性,只做最小结构改动。

3. MoRE 方法:共享专家池 + 独立路由 + 深度embedding

3.1 Reuse Block:相邻层共享专家池

定义复用(reuse)因子 R:一个专家池被 R 个相邻层共享。论文默认 R=2。

对于每个 reuse block b,构造共享的专家池:

注意:

  • 只共享 FFN 专家参数;

  • attention 权重、Router 权重、depth embedding 仍然层特定;

  • 总唯一专家数不增加,只是每层可访问的池子变大;

  • 每层 Router 输出维度变为 (R⋅N)×d。

伪代码理解:

python 复制代码
# 一个 reuse block 内,R 层共享同一组专家参数
experts = [E_b1, E_b2, ..., E_b{R*N}]

for layer_l in block:
    x = x + d_l                    # 加入 depth embedding
    logits = W_l @ x               # 每层独立 Router
    topk = TopK(logits, K)
    gates = softmax(logits[topk])  # 对 Top-K logits 整体做 softmax
    y = sum(gates[i] * experts[topk[i]](x) for i in range(K))

3.2 Depth Embedding:让共享专家知道 "我在第几层"

因为专家参数被多层共享,专家本身无法区分当前是哪一层在调用它。MoRE 在路由前加入可学习深度向量:

然后 Router 和共享专家都接收 x′​_ℓ:

作用分工:

  • Router 决定选哪些专家;

  • Depth embedding 调整专家如何处理输入,让同一组权重在不同深度稍微 specialization;

  • 加法形式非常轻量,参数和计算开销可忽略。

4. 实验结果:PPL 与下游任务全面领先

4.1 实验设置

主干:DeepSeek-v3;

基线:DeepSeek-v3 标准 MoE、DeepSeek Dense、MoEUT;

数据:C4,约 6.55B tokens,上下文 1024,batch size 64,vocab 8000;

尺度:Small / Medium / Large,MoE 模型约 114M / 369M / 1.15B;

专家维度 d_FFN=128;

MoRE 使用 R=2,每层分配 2N 专家,使物理专家总数与 DeepSeek-v3 对齐;

统计检验:paired bootstrapping,B=10,000,α=0.05。

4.2 验证 PPL

尺度 模型 参数量 FLOPs PPL
Small MoEUT 118M 100B 16.94
Small Dense 80M 108B 16.30
Small DeepSeek 114M 104B 15.98
Small MoRE 114M 104B 15.89
Medium MoEUT 369M 164B 14.69
Medium Dense 116M 152B 15.34
Medium DeepSeek 369M 151B 13.53
Medium MoRE 369M 151B 13.40
Large MoEUT 1.15B 438B 12.78
Large Dense 356M 438B 13.07
Large DeepSeek 1.15B 424B 11.88
Large MoRE 1.15B 424B 11.75

结论(论文的表格不够直观,调整了一下排布):

  • 三个尺度上 MoRE 都取得最低 PPL。
  • 论文还从 "匹配物理专家数" 角度比较,MoRE 同样更高效,且专家数越大差距越明显(最大专家数时 13.97 vs. 14.07)。

另外,Figure 2 显示在 1.15B 模型上,MoRE 在相同训练 token 数下 PPL 持续低于 DeepSeek;Figure 3 显示相对改进不随模型规模增大而消失。

4.3 下游任务

在 OLMo3 下游评测集上,MoRE 在三个尺度均为宏平均最佳:

  • MoRE 在 LAMBADA、HellaSwag、SciQ 等受益于语言建模能力的任务上提升明显。
  • 整体上,PPL 优势能转化为下游准确率提升,且共享专家权重没有牺牲世界知识容量。

5. 消融与分析:为什么 R=2、为什么相邻层共享有效

5.1 Reuse Factor R

在 114M、18 层、40k steps 设置下:

所有 R≥2 都优于 DeepSeek,但 R>2 收益递减,且彼此差异不显著。论文默认选 R=2:

  • 兼容大多数偶数层 Transformer;

  • 专家池扩展最温和,缓解大规模专家数带来的负载均衡和路由坍塌问题。

Depth Embedding 与共享策略:

  • Depth embedding 去掉后 PPL 从 18.71 升到 18.76,说明轻量深度信号有用;

  • 连续块共享 A-A-B-B-C-C 最好,非对齐和随机共享都更差,说明 "共享参数怎么排" 很重要;

  • CKA 分析显示相邻层表示相似度最高:距离 1 约 0.91,距离 2 约 0.83,随后逐渐衰减。这解释了为什么相邻层共享专家更合理。

5.2 路由分析与系统表现

MoRE 确实发生了跨层专家复用,而且比随机水平高得多。

论文统计了 1.15B 模型在 C4 验证集上的路由行为:

  • 如果专家选择是随机的,相邻层选中同一个专家的概率约为 K/N。MoRE 的随机基线是 7/139≈5.0%,但实际复用率达到 10.3%,约为随机水平的两倍。

  • 作为对比,DeepSeek 标准 MoE 的随机基线是 7/69≈10.1%,实际复用率反而只有 8.35%,低于随机水平。

  • 这种复用主要集中在浅层,越深越弱,说明浅层更倾向于复用通用专家,深层更特化。

Figure 4 的热图辅助展示了这一点:MoRE 在相邻共享层出现水平条纹,表示同一专家在共享层被类似频率激活。

系统表现:

  • 内存:MoRE 与 DeepSeek 基本相当,因为复用已有专家参数而非新增专家;

  • 吞吐:naive HuggingFace MoE 实现用 Python for-loop 遍历专家,MoRE 因每层专家数 2× 而明显变慢;使用 SonicMoE 后,MoRE 达到 DeepSeek 约 96% 吞吐;

  • 论文明确说未针对大规模训练效率做系统优化,专家并行、负载均衡路由等是正交方向。

泛化验证:

  • 论文还在 Qwen3MoE、Mixtral 上实现 MoRE,并在 FineWeb 上验证
  • 114M 规模下 PPL 均有改善,说明方法不只适用于 DeepSeek-v3 主干和 C4 数据。

6. 局限性

  • 最大验证到 1.15B,100B+ 极大规模行为未知;

  • 最优 R 可能随模型深度/规模变化;

  • 只共享 FFN 专家,未共享 attention;

  • 未深入优化专家并行和分布式负载均衡;

  • depth embedding 是加性轻量信号,不允许共享专家在层间行为差异过大。

相关推荐
我喜欢就喜欢1 小时前
豆包赋能抖音生态:从内容创作到运营提效的全景应用
人工智能·系统架构
cetcht88881 小时前
电科恒钛配网智能监控落地江苏,变电站配电房开闭所实现智能远控
人工智能
虎鲸不是鱼1 小时前
AI 自动化逆向(十二)AI 有分类冲动:非要找二元判据
人工智能·分类·自动化·逆向·ai逆向
财税数字化1 小时前
日韩泰票据与欧美发票混合入账怎么选?开灵科技与海外厂商优劣势对比
大数据·人工智能·科技·ocr·软件选型·票据识别
Axis tech1 小时前
Xsens&Manus全身数据采集解决方案,用精确数据训练您的具身智能
人工智能·科技·机器人
2601_955662461 小时前
1300多种音色怎么挑?不同短视频场景的配音思路
人工智能·音视频
qq_25294131681 小时前
多模态屋顶损伤与杂物检测数据集 | 屋顶检测 多模态 红外可见光 建筑巡检 目标检测9232期
人工智能·深度学习·yolo·目标检测·计算机视觉·屋顶
java1234_小锋1 小时前
Arthas 4 宣布正式拥抱 AI
人工智能
TomEval1 小时前
【测AI】第17篇:大模型评测方法论 —— LLM 怎么测?
人工智能·python·aigc·测试用例