博主智算菩萨,专注于人工智能、Python编程、音视频处理及UI窗体程序设计等方向。致力于以通俗易懂的方式拆解前沿技术,从零基础入门到高阶实战,陪伴开发者共同成长。目前已开设五大技术专栏,累计发布多篇原创技术文章,深受读者好评。

📌 专栏导航

  • 人工智能前沿知识(已更144篇):深度剖析Transformer架构、生成式AI、强化学习、具身智能、神经符号系统、大模型及智能体(Agent)技术,系统性解析AI核心技术体系与前沿趋势。
  • Python基础小白编程(已更232篇):从零开始,以保姆式教程讲解变量、数据类型、流程控制、函数等核心语法,配有大量实战代码与避坑指南,真正做到学以致用。
  • 机器学习与深度学习(125篇):系统化拆解线性模型、决策树、随机森林、梯度提升树、神经网络等算法原理与工程实践,覆盖从公式推导到代码实现的全链路内容。
  • 音频、图像与视频处理理论与实战(81篇):涵盖FFmpeg多媒体处理、audio_shop开源工具、ComfyUI-WanVideoWrapper视频生成等实用技术,从基础操作到高级应用一应俱全。
  • UI窗体程序设计实战(78篇):深入讲解UI设计、动态窗体生成、游戏UI框架设计等实战技巧,提供从配置到编码的完整解决方案。
    智算菩萨,以代码为经,以算法为纬,在人工智能的星辰大海中,做你前行路上最可靠的导航者。本人最常用的AI对话工具是AIGCBAR

当整个AI行业还在为GPT-4的万亿参数规模惊叹不已时,一个根本性的问题已经悄然浮出水面:我们是否走错了方向?2024年,DeepSeek-V3以671B总参数却仅激活37B的惊人效率横空出世,用不到6%的激活参数比实现了与顶级稠密模型比肩的性能。这并非孤例——Mixtral 8x7B仅用13B的激活参数便超越了70B的Llama 2,Switch Transformer以稀疏激活的方式将模型推至万亿参数级别。这些突破背后,是一个正在发生的范式转移:从"所有参数同时工作"的稠密计算,走向"按需唤醒、动态休眠"的稀疏激活架构。

本文将从神经科学的生物学基础出发,系统梳理条件计算的理论根源,深入剖析稀疏混合专家(MoE)架构的数学原理与工程实现,追踪从Switch Transformer到DeepSeek-V3的技术演进脉络,并展望"休眠-觉醒"范式对未来AI系统的深远影响。这不是一篇简单的技术综述,而是一次对AI发展根本路径的深度反思——当规模法则的边际收益递减,当能源消耗成为不可承受之重,"休眠-觉醒"架构或许正是通向下一代智能系统的关键钥匙。

1 稠密模型的困境:规模法则的尽头

1.1 规模法则的辉煌与隐忧

2020年,Kaplan等人在论文"Scaling Laws for Neural Language Models"中揭示了一个令人振奋的经验规律:语言模型的交叉熵损失与模型参数量 N N N、数据集大小 D D D以及计算预算 C C C之间呈现幂律关系。具体而言,损失函数可以近似表达为:

L ( N ) ≈ ( N c N ) α N , L ( D ) ≈ ( D c D ) α D L(N) \approx \left(\frac{N_c}{N}\right)^{\alpha_N}, \quad L(D) \approx \left(\frac{D_c}{D}\right)^{\alpha_D} L(N)(NNc)αN,L(D)(DDc)αD

其中 N c N_c Nc D c D_c Dc为常数, α N ≈ 0.076 \alpha_N \approx 0.076 αN0.076 α D ≈ 0.095 \alpha_D \approx 0.095 αD0.095。这一发现意味着,只要持续增加参数量和训练数据,模型性能就会可预测地提升。这一规律直接催生了从GPT-3(175B)到GPT-4(据传超万亿参数)的军备竞赛。

然而,2022年Hoffmann等人在"Training Compute-Optimal Large Language Models"(即Chinchilla论文)中对这一范式提出了根本性修正。他们发现,Kaplan等人的原始缩放定律低估了数据量的重要性——对于给定的计算预算 C C C,最优模型大小 N opt N_{\text{opt}} Nopt和最优训练token数 D opt D_{\text{opt}} Dopt应满足:

N opt ∝ C a , D opt ∝ C b , a ≈ 0.50 , b ≈ 0.50 N_{\text{opt}} \propto C^{a}, \quad D_{\text{opt}} \propto C^{b}, \quad a \approx 0.50, \quad b \approx 0.50 NoptCa,DoptCb,a0.50,b0.50

这意味着模型大小和数据量应等比例增长,而非Kaplan等人原先估计的 a ≈ 0.73 , b ≈ 0.27 a \approx 0.73, b \approx 0.27 a0.73,b0.27。Chinchilla的结论是革命性的:当时大多数大模型都"过大而数据不足"——GPT-3在300B token上训练175B参数,而Chinchilla在1.4T token上仅训练70B参数便实现了更优性能。

Kaplan: C^0.73

Kaplan: C^0.27

Chinchilla: C^0.50

Chinchilla: C^0.50

计算预算 C

模型大小 N_opt

训练数据 D_opt

偏重参数扩展

参数与数据均衡

模型过大 数据不足

计算最优分配

1.2 稠密计算的根本性瓶颈

稠密模型的核心特征是:在推理时,每一个输入token都需要经过所有参数的计算。这意味着一个175B参数的模型,每次前向传播都需要执行约 3.5 × 10 11 3.5 \times 10^{11} 3.5×1011次浮点运算(按每个参数2次FLOPs估算)。这种"全员参与"的计算模式带来了三个根本性瓶颈。

首先是计算效率的边际递减。根据Chinchilla缩放定律,要将损失从 L 1 L_1 L1降低到 L 2 L_2 L2,所需的计算量增长为:

C 2 C 1 = ( L 1 L 2 ) 1 / ( a ⋅ α N ) \frac{C_2}{C_1} = \left(\frac{L_1}{L_2}\right)^{1/(a \cdot \alpha_N)} C1C2=(L2L1)1/(aαN)

由于 α N \alpha_N αN值很小(约0.076),每降低一个固定量的损失所需的计算量呈指数增长。换言之,从损失3.0降到2.9所需的计算量,远大于从4.0降到3.0所需的计算量。这种边际递减效应意味着,仅靠扩大稠密模型来提升性能的路径正在变得越来越不经济。

其次是能源与成本的不可持续性。训练一个稠密大模型的能源消耗已经达到了令人警觉的水平。人脑以约20瓦特的功率实现了通用智能,而训练一个大型稠密模型的能耗可达数吉瓦时——这相当于数千个家庭一年的用电量。推理阶段的能耗同样惊人:部署一个70B参数的稠密模型进行大规模服务,其GPU集群的持续功耗可达数百千瓦。这种能源消耗模式在生态和经济上都是不可持续的。

第三是硬件利用率的物理极限。当前GPU的内存带宽已经成为稠密推理的主要瓶颈。以NVIDIA A100为例,其FP16计算能力为312 TFLOPS,但内存带宽仅为2 TB/s。对于一个70B参数的模型,仅加载模型权重就需要约140GB的显存,而每次推理需要读取全部权重,导致计算单元大量时间在等待数据加载——这就是所谓的"内存墙"问题。

瓶颈类型 具体表现 量化指标 根本原因
计算边际递减 损失降低所需计算指数增长 α N ≈ 0.076 \alpha_N \approx 0.076 αN0.076 幂律指数极小
能源不可持续 训练+推理能耗巨大 训练耗电数GWh 全参数激活
内存墙 推理受限于内存带宽 A100: 312TFLOPS vs 2TB/s 全权重加载
稀疏性浪费 大量参数对特定输入无贡献 ReLU后>90%为零 稠密架构设计

1.3 稀疏性:被忽视的效率维度

一个关键但长期被忽视的事实是:在稠密模型中,绝大多数神经元对特定输入的贡献接近于零。以ReLU激活函数为例,在训练好的网络中,通常有90%以上的神经元输出为零。这意味着,即使我们只激活10%的参数,理论上也能获得大部分的信息处理能力。这种"大多数休眠、少数觉醒"的模式并非缺陷,而是深度网络高效信息编码的自然结果。

从信息论的角度看,稀疏表示具有显著优势。给定一个信号 x ∈ R d \mathbf{x} \in \mathbb{R}^d xRd,其稀疏表示 s ∈ R m \mathbf{s} \in \mathbb{R}^m sRm m ≫ d m \gg d md)满足 ∥ s ∥ 0 ≪ m \|\mathbf{s}\|_0 \ll m s0m,即只有少数分量非零。根据压缩感知理论,当稀疏度足够高时,我们可以从远少于Nyquist采样率的观测中完美重建原始信号。这一理论启示我们:与其让所有参数以微小幅度参与计算,不如让少量参数以显著幅度参与——这正是"休眠-觉醒"架构的核心思想。

更深层地看,稠密模型的参数冗余并非偶然。在稠密架构中,模型需要用同一组参数处理所有可能的输入,这迫使参数在功能上产生重叠和干扰。而稀疏架构通过条件计算机制,允许不同的输入激活不同的参数子集,从而实现功能解耦和专业化。这种从"通用参数"到"专用参数"的转变,是提升参数效率的根本途径。

2 生物学启示:大脑的"休眠-觉醒"编码策略

2.1 稀疏编码:大脑的信息处理基石

神经科学数十年的研究揭示了一个惊人的一致性:生物大脑采用极端稀疏的编码策略。在视觉皮层V1区,对任何给定的视觉刺激,仅有约1%-5%的神经元同时处于高活跃状态。在嗅觉系统中,每个气味仅激活嗅觉皮层中约3%-5%的神经元。甚至在负责高级认知功能的前额叶皮层,稀疏性同样是主导模式——单个神经元在自然场景中的放电率通常低于其最大放电率的5%。

稀疏编码(Sparse Coding)的理论框架最早由Olshausen和Field在1996年系统提出。其核心思想是:给定输入信号 x \mathbf{x} x,寻找一个过完备字典 Φ ∈ R n × m \mathbf{\Phi} \in \mathbb{R}^{n \times m} ΦRn×m m > n m > n m>n)和稀疏系数 s \mathbf{s} s,使得:

min ⁡ s ∥ x − Φ s ∥ 2 2 + λ ∥ s ∥ 1 \min_{\mathbf{s}} \|\mathbf{x} - \mathbf{\Phi}\mathbf{s}\|_2^2 + \lambda \|\mathbf{s}\|_1 sminxΦs22+λs1

其中 λ \lambda λ控制稀疏性与重建质量之间的权衡。这个优化问题揭示了一个深刻原理:通过允许字典过完备(即 m > n m > n m>n,远超传统基的数目),并约束系数的稀疏性,我们可以获得比完备基更高效、更具解释性的表示。大脑的神经元群体正是这样一个过完备字典——860亿个神经元提供了极其丰富的表示能力,但对任何特定刺激,只有极少数被"唤醒"。

稀疏编码

稠密编码

对比

大脑选择

输入信号

所有神经元激活

低效率 高能耗

输入信号

少数神经元激活

高效率 低能耗

2.2 能量效率:20瓦特的奇迹

人脑以约20瓦特的功率实现了当前最先进AI系统需要数百万倍能量才能实现的认知功能。这种惊人的能量效率差异并非来自神经元本身的计算速度——单个神经元的放电频率约为200Hz,远低于GPU的GHz级别——而是来自大脑的组织原则:稀疏激活。

大脑的能量消耗主要来自动作电位(即"放电")的产生和突触传递。每个动作电位约消耗 4 × 10 9 4 \times 10^9 4×109个ATP分子。如果大脑中所有860亿个神经元都以最大频率放电,其能量消耗将比实际高出约1000倍。因此,稀疏编码不仅是一种信息编码策略,更是一种能量优化策略——大脑在进化压力下选择了"最小化能量消耗"与"最大化信息编码"之间的帕累托最优。

研究表明,稀疏神经编码模式反映了能量效率的最大化,即以最少的能量编码最多的信息。2025年发表在Nature Communications上的研究进一步证实,受神经启发的动态稀疏性可以实现能效AI计算。该研究指出,大脑稀疏放电模式的核心特征是:大部分神经元在大部分时间处于"休眠"状态(低膜电位,不发放动作电位),仅在接收到足够强的输入时才"觉醒"(发放动作电位)。这种"休眠-觉醒"的动态切换,正是大脑实现超低功耗计算的关键机制。

对比维度 人脑 GPT-4级别稠密模型
功耗 ~20瓦特 数百千瓦(推理)
神经元/参数数量 ~860亿神经元 ~1.8万亿参数
同时激活比例 1%-5% 100%
能量/计算量 极低 极高
编码策略 稀疏编码 稠密编码
功能组织 专业化模块 通用参数

2.3 从生物学到工程:关键映射

大脑的"休眠-觉醒"机制为AI架构设计提供了三个核心启示。

第一是模块化专业化。大脑并非一个均匀的计算网络,而是由功能特化的区域组成——视觉皮层处理视觉信息,布洛卡区负责语言产生,海马体负责记忆形成。这种功能专业化意味着,当执行特定任务时,只有相关脑区被高度激活,其余区域处于低活跃状态。映射到AI系统,这就是混合专家(MoE)架构的生物学基础——不同的"专家"网络负责处理不同类型的输入。

第二是动态路由。大脑中信息流动的路径并非固定不变,而是根据输入内容动态调整。注意力机制本身就是一种动态路由——前额叶皮层根据任务需求选择性地增强或抑制不同感觉区域的信号。映射到AI系统,这就是MoE中路由器(Router/Gating Network)的生物学对应——根据输入内容选择激活哪些专家。

第三是稀疏-稠密协同。大脑并非完全稀疏的——某些核心通路(如视觉皮层V1到V2的投射)是相对稠密的,负责处理所有输入共享的基础特征;而更高层的处理则是稀疏的,负责提取任务特异性的高级特征。映射到AI系统,这就是DeepSeekMoE中"共享专家隔离"策略的灵感来源——保留少量共享专家处理通用特征,其余专家按需激活处理特化特征。

MoE架构

生物大脑

映射

映射

映射

映射

映射

感觉输入

初级皮层
稠密处理

高级皮层
稀疏专业化

前额叶
动态路由

运动输出

Token输入

共享专家
通用特征

路由专家
稀疏激活

路由器
动态选择

输出

3 条件计算:从理论构想到工程实践

3.1 条件计算的理论起源

条件计算(Conditional Computation)的概念最早由Bengio等人于2013年系统提出,并在2015年的论文"Conditional Computation in Neural Networks for Faster Models"中进一步完善。其核心思想是:在神经网络中,不是所有单元都需要对每个输入进行计算,而是根据输入的内容有条件地激活部分单元。Bengio等人将条件计算形式化为:

给定输入 x \mathbf{x} x,网络中的每个计算单元 i i i关联一个二值门控变量 g i ( x ) ∈ { 0 , 1 } g_i(\mathbf{x}) \in \{0, 1\} gi(x){0,1},该变量决定单元 i i i是否被激活。网络的输出为:

y = ∑ i g i ( x ) ⋅ f i ( x ) \mathbf{y} = \sum_{i} g_i(\mathbf{x}) \cdot f_i(\mathbf{x}) y=igi(x)fi(x)

其中 f i ( x ) f_i(\mathbf{x}) fi(x)是单元 i i i的输出。当 g i ( x ) = 0 g_i(\mathbf{x}) = 0 gi(x)=0时,单元 i i i的计算可以被完全跳过,从而节省计算资源。关键挑战在于:门控变量 g i ( x ) g_i(\mathbf{x}) gi(x)本身也需要计算,且其梯度在离散空间中无法直接传播。

Bengio等人提出了随机时间平滑(Stochastic Times Smooth, STS)神经元来解决梯度估计问题。STS神经元使用连续松弛来近似离散门控:

g i ( x ) = σ ( log ⁡ u − log ⁡ ( 1 − u ) + h i ( x ) τ ) g_i(\mathbf{x}) = \sigma\left(\frac{\log u - \log(1-u) + h_i(\mathbf{x})}{\tau}\right) gi(x)=σ(τlogulog(1u)+hi(x))

其中 u ∼ Uniform ( 0 , 1 ) u \sim \text{Uniform}(0,1) uUniform(0,1)是随机噪声, h i ( x ) h_i(\mathbf{x}) hi(x)是门控logit, τ \tau τ是温度参数。当 τ → 0 \tau \to 0 τ0时, g i g_i gi趋近于离散的 { 0 , 1 } \{0,1\} {0,1};当 τ > 0 \tau > 0 τ>0时, g i g_i gi是连续可微的,允许梯度反向传播。这种技巧后来成为MoE路由器训练的理论基础。

3.2 从条件计算到稀疏门控MoE

2017年,Shazeer等人在里程碑式论文"Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer"中,将条件计算的思想推向了工程实用化。他们引入了稀疏门控混合专家层(Sparsely-Gated MoE Layer),由多达数千个前馈子网络(专家)组成,但每次只激活其中少数几个。

Shazeer等人的关键创新在于门控网络的设计。给定输入 x \mathbf{x} x,门控网络 G ( x ) G(\mathbf{x}) G(x)输出一个 N N N维向量( N N N为专家数量),其第 i i i个分量为:

G ( x ) i = softmax ( W g ⋅ x + noise ) i G(\mathbf{x})_i = \text{softmax}(W_g \cdot \mathbf{x} + \text{noise})_i G(x)i=softmax(Wgx+noise)i

其中 W g ∈ R N × d W_g \in \mathbb{R}^{N \times d} WgRN×d是门控权重矩阵,噪声项用于探索。稀疏性通过仅保留Top- k k k个最大值实现:

G ( x ) i = { softmax ( W g ⋅ x + noise ) i if  i ∈ Top k ( G ( x ) ) 0 otherwise G(\mathbf{x})_i = \begin{cases} \text{softmax}(W_g \cdot \mathbf{x} + \text{noise})_i & \text{if } i \in \text{Top}k(G(\mathbf{x})) \\ 0 & \text{otherwise} \end{cases} G(x)i={softmax(Wgx+noise)i0if iTopk(G(x))otherwise

MoE层的输出为:

y = ∑ i = 1 N G ( x ) i ⋅ E i ( x ) \mathbf{y} = \sum_{i=1}^{N} G(\mathbf{x})_i \cdot E_i(\mathbf{x}) y=i=1NG(x)iEi(x)

其中 E i ( x ) E_i(\mathbf{x}) Ei(x)是第 i i i个专家网络的输出。由于 G ( x ) G(\mathbf{x}) G(x)是稀疏的(只有 k k k个非零值),实际只需要计算 k k k个专家,大大降低了计算量。

Shazeer等人还引入了两个重要的辅助技术:噪声Top- k k k门控(在softmax之前加入可调高斯噪声以促进探索)和负载均衡损失(防止路由崩塌到少数专家)。这些技术成为后续所有MoE架构的标准组件。

3.3 条件计算的理论分析

从理论角度,条件计算的有效性可以从多个维度理解。

从计算复杂度角度看,一个具有 N N N个专家、每次激活 k k k个的MoE层,其计算量为 O ( k ⋅ d expert ) O(k \cdot d_{\text{expert}}) O(kdexpert),其中 d expert d_{\text{expert}} dexpert是单个专家的参数量。而一个等参数量的稠密层的计算量为 O ( N ⋅ d expert ) O(N \cdot d_{\text{expert}}) O(Ndexpert)。因此,稀疏激活带来的计算加速比为 N / k N/k N/k。例如,当 N = 8 , k = 2 N=8, k=2 N=8,k=2时,理论加速比为4倍。

从表示能力角度看,MoE模型的函数空间可以表示为:

F MoE = { x ↦ ∑ i ∈ S ( x ) G ( x ) i ⋅ E i ( x ) : S ( x ) ⊆ { 1 , . . . , N } , ∣ S ( x ) ∣ = k } \mathcal{F}_{\text{MoE}} = \left\{ \mathbf{x} \mapsto \sum_{i \in S(\mathbf{x})} G(\mathbf{x})_i \cdot E_i(\mathbf{x}) : S(\mathbf{x}) \subseteq \{1,...,N\}, |S(\mathbf{x})| = k \right\} FMoE= xiS(x)G(x)iEi(x):S(x){1,...,N},S(x)=k

这个函数空间远大于任何单个专家的函数空间,因为不同的输入可以激活不同的专家组合。当 N N N个专家中选 k k k个时,可能的组合数为 ( N k ) \binom{N}{k} (kN),这为模型提供了指数级的表示多样性。

从泛化理论角度看,MoE模型的泛化界与有效参数量相关,而非总参数量。由于每次推理只激活 k k k个专家,有效参数量约为 k ⋅ d expert k \cdot d_{\text{expert}} kdexpert,远小于总参数量 N ⋅ d expert N \cdot d_{\text{expert}} Ndexpert。这意味着MoE模型可以在保持大模型表示能力的同时,享受小模型的泛化优势——这正是"休眠-觉醒"架构的理论优势所在。

Bengio 2013
条件计算理论

STS神经元
梯度估计

Shazeer 2017
稀疏门控MoE

Top-k路由
噪声门控

负载均衡损失

核心思想
按需激活

休眠-觉醒范式

4 稀疏混合专家架构:核心原理与数学框架

4.1 MoE层的数学形式化

混合专家(Mixture of Experts, MoE)架构的核心组件是MoE层,它替代了Transformer中标准的前馈网络(FFN)层。一个MoE层由以下元素组成:一组专家网络 { E 1 , E 2 , . . . , E N } \{E_1, E_2, ..., E_N\} {E1,E2,...,EN},一个路由器(或称门控网络) G ( ⋅ ) G(\cdot) G(),以及一个组合机制。

给定输入token的表示 x ∈ R d \mathbf{x} \in \mathbb{R}^d xRd,MoE层的完整计算过程可以形式化为:

步骤1:路由计算

h = W g x + b g \mathbf{h} = W_g \mathbf{x} + \mathbf{b}_g h=Wgx+bg

其中 W g ∈ R N × d W_g \in \mathbb{R}^{N \times d} WgRN×d是路由权重矩阵, b g ∈ R N \mathbf{b}_g \in \mathbb{R}^N bgRN是偏置向量。

步骤2:专家选择

S ( x ) = Top k ( softmax ( h ) ) S(\mathbf{x}) = \text{Top}k(\text{softmax}(\mathbf{h})) S(x)=Topk(softmax(h))

选择softmax得分最高的 k k k个专家的索引集合。

步骤3:门控权重归一化

g i = exp ⁡ ( h i ) ∑ j ∈ S ( x ) exp ⁡ ( h j ) , i ∈ S ( x ) g_i = \frac{\exp(h_i)}{\sum_{j \in S(\mathbf{x})} \exp(h_j)}, \quad i \in S(\mathbf{x}) gi=jS(x)exp(hj)exp(hi),iS(x)

仅对被选中的 k k k个专家进行softmax归一化。

步骤4:专家计算与组合

MoE ( x ) = ∑ i ∈ S ( x ) g i ⋅ E i ( x ) \text{MoE}(\mathbf{x}) = \sum_{i \in S(\mathbf{x})} g_i \cdot E_i(\mathbf{x}) MoE(x)=iS(x)giEi(x)

其中 E i ( x ) E_i(\mathbf{x}) Ei(x)是第 i i i个专家对输入 x \mathbf{x} x的输出。

这个形式化揭示了MoE架构的三个关键特性:第一,路由决策是输入依赖的(input-dependent),不同的输入会激活不同的专家组合;第二,门控权重 g i g_i gi是归一化的,确保输出值的尺度合理;第三,未被选中的专家完全不参与计算,实现了真正的计算稀疏性。

4.2 专家网络的设计空间

专家网络 E i E_i Ei的架构设计是MoE系统的核心决策之一。在大多数现代MoE Transformer中,每个专家是一个标准的前馈网络(FFN),通常包含两个线性变换和一个非线性激活:

E i ( x ) = W i ( 2 ) ⋅ GeLU ( W i ( 1 ) ⋅ x + b i ( 1 ) ) + b i ( 2 ) E_i(\mathbf{x}) = W_i^{(2)} \cdot \text{GeLU}(W_i^{(1)} \cdot \mathbf{x} + \mathbf{b}_i^{(1)}) + \mathbf{b}_i^{(2)} Ei(x)=Wi(2)GeLU(Wi(1)x+bi(1))+bi(2)

其中 W i ( 1 ) ∈ R d ff × d W_i^{(1)} \in \mathbb{R}^{d_{\text{ff}} \times d} Wi(1)Rdff×d W i ( 2 ) ∈ R d × d ff W_i^{(2)} \in \mathbb{R}^{d \times d_{\text{ff}}} Wi(2)Rd×dff d ff d_{\text{ff}} dff是FFN的隐藏维度。

专家网络的设计涉及几个关键选择:

专家粒度:传统MoE使用少量大专家(如8个大专家),而DeepSeekMoE提出了细粒度专家分割策略——将每个大专家分割为 m m m个小专家,从而将专家数量从 N N N增加到 m N mN mN,同时保持总参数量不变。这种设计增加了路由的灵活性,因为每个token可以从更多但更小的专家中选择。DeepSeekMoE的实验表明,细粒度分割显著提升了专家专业化程度和模型性能。

共享专家:DeepSeekMoE还引入了共享专家隔离策略——将 K s K_s Ks个专家设为共享专家,对所有token始终激活,用于捕获通用知识;其余 N − K s N - K_s NKs个专家作为路由专家,按需激活。这种设计的数学表达为:

MoE ( x ) = ∑ i = 1 K s E i shared ( x ) + ∑ j ∈ S ( x ) g j ⋅ E j routed ( x ) \text{MoE}(\mathbf{x}) = \sum_{i=1}^{K_s} E_i^{\text{shared}}(\mathbf{x}) + \sum_{j \in S(\mathbf{x})} g_j \cdot E_j^{\text{routed}}(\mathbf{x}) MoE(x)=i=1KsEishared(x)+jS(x)gjEjrouted(x)

共享专家的引入解决了路由专家之间的知识冗余问题——当多个路由专家都需要学习相同的通用特征时,这些特征可以被共享专家统一处理,从而释放路由专家的容量用于学习更专业化的知识。

设计维度 传统MoE DeepSeekMoE 设计动机
专家数量 少量大专家(8-16) 大量小专家(64-256) 增加路由灵活性
专家粒度 粗粒度 细粒度分割 促进专业化
共享专家 有(1-2个) 减少知识冗余
激活专家数 Top-2 Top-6至Top-8 平衡效率与性能
总参数/激活比 4-8倍 10-20倍 更高参数效率

4.3 稀疏激活的缩放定律

稠密模型的缩放定律已经得到了充分研究,但稀疏激活模型的缩放行为直到最近才被系统探索。2023年,Frantar等人提出了稀疏连接基础模型的缩放定律,其核心发现是:稀疏模型的最优稀疏度 S opt S_{\text{opt}} Sopt与推理计算预算相关。

他们的缩放定律形式为:

L ( N , S ) = A ( N ⋅ ( 1 − S ) ) α + L ∞ L(N, S) = \frac{A}{(N \cdot (1-S))^{\alpha}} + L_{\infty} L(N,S)=(N(1S))αA+L

其中 N N N是总参数量, S S S是稀疏度(被零化的参数比例), A A A α \alpha α L ∞ L_{\infty} L是常数。这个公式揭示了一个重要结论:对于给定的推理计算预算,存在一个最优稀疏度 S opt S_{\text{opt}} Sopt,使得在总参数量 N N N和稀疏度 S S S之间取得最佳平衡。

2024年,NeurIPS上发表的论文"Scaling Laws for Fully Sparsely-Activated Large Language Models"进一步发现,稀疏激活模型在45.58%的稀疏度下可以达到最优性能,同时保持与稠密模型相当的质量。更重要的是,随着模型规模增大,最优稀疏模型与最优稠密模型之间的性能差距在缩小——这意味着在足够大的规模下,稀疏模型可以在使用更少计算量的情况下达到与稠密模型相当甚至更优的性能。

这些缩放定律的发现具有深远的实践意义:它们为"何时选择稀疏架构而非稠密架构"提供了理论指导,也为稀疏模型的设计(如专家数量、激活比例的选择)提供了定量依据。

5 路由机制:从Token选择到专家选择的演进

5.1 Token-Choice路由:经典范式

Token-Choice路由是MoE中最经典的路由范式,即每个token独立选择自己要激活的专家。其数学表达为:

对于输入token x t \mathbf{x}_t xt,路由器计算亲和度得分:

s t , i = softmax ( W g x t ) i = exp ⁡ ( w i T x t ) ∑ j = 1 N exp ⁡ ( w j T x t ) s_{t,i} = \text{softmax}(W_g \mathbf{x}_t)_i = \frac{\exp(\mathbf{w}_i^T \mathbf{x}_t)}{\sum_{j=1}^{N} \exp(\mathbf{w}_j^T \mathbf{x}_t)} st,i=softmax(Wgxt)i=j=1Nexp(wjTxt)exp(wiTxt)

然后选择Top- k k k个专家:

S t = Top k ( { s t , 1 , s t , 2 , . . . , s t , N } ) S_t = \text{Top}k(\{s_{t,1}, s_{t,2}, ..., s_{t,N}\}) St=Topk({st,1,st,2,...,st,N})

Token-Choice路由的优势在于实现简单、计算高效,但它存在一个根本性问题:无法保证负载均衡。当所有token都倾向于选择同一组专家时,会导致"路由崩塌"(Routing Collapse)——少数专家过载,多数专家闲置。

Switch Transformer(Fedus et al., 2021)对Token-Choice路由进行了极致简化:将 k k k设为1,即每个token只路由到一个专家。这种"Switch"路由的数学表达为:

Switch ( x t ) = s t , arg ⁡ max ⁡ i s t , i ⋅ E arg ⁡ max ⁡ i s t , i ( x t ) \text{Switch}(\mathbf{x}_t) = s_{t, \arg\max_i s_{t,i}} \cdot E_{\arg\max_i s_{t,i}}(\mathbf{x}_t) Switch(xt)=st,argmaxist,iEargmaxist,i(xt)

Switch路由将MoE的计算量进一步降低,同时简化了路由逻辑,使得分布式训练中的通信开销大幅减少。Fedus等人证明,Switch Transformer在相同计算预算下,可以达到比稠密T5模型4-7倍的加速。

5.2 Expert-Choice路由:反转视角

2022年,Zhou等人在NeurIPS上发表了"Mixture-of-Experts with Expert Choice Routing",提出了一个根本性的路由范式转变:不是让token选择专家,而是让专家选择token。

Expert-Choice路由的核心思想是:每个专家有一个固定的容量 C C C(即每个专家最多处理 C C C个token),专家根据自身与token的亲和度得分选择Top- C C C个token。数学表达为:

对于专家 i i i,计算其与所有 T T T个token的亲和度矩阵:

A i , t = w i T x t , t = 1 , 2 , . . . , T A_{i,t} = \mathbf{w}_i^T \mathbf{x}_t, \quad t = 1, 2, ..., T Ai,t=wiTxt,t=1,2,...,T

专家 i i i选择亲和度最高的 C C C个token:

T i = Top C ( { A i , 1 , A i , 2 , . . . , A i , T } ) T_i = \text{Top}C(\{A_{i,1}, A_{i,2}, ..., A_{i,T}\}) Ti=TopC({Ai,1,Ai,2,...,Ai,T})

Expert-Choice路由具有三个显著优势。第一,完美负载均衡:每个专家处理恰好 C C C个token,不存在过载或闲置问题。第二,自适应计算分配:不同token可以被不同数量的专家处理——"困难"token可能被多个专家选中,"简单"token可能只被少量专家处理。第三,无需辅助负载均衡损失:由于负载天然均衡,不需要引入额外的正则化项。

然而,Expert-Choice路由也有其局限性:它在自回归解码中难以直接应用,因为解码时token是逐个生成的,无法同时看到所有token来让专家进行选择。这限制了它在推理阶段的使用。

5.3 混合路由与动态容量

在实际系统中,纯Token-Choice或纯Expert-Choice路由都有局限,因此出现了多种混合策略。

容量因子(Capacity Factor):GShard(Lepikhin et al., 2021)引入了专家容量的概念。每个专家的容量定义为:

C = ⌈ T N ⋅ CF ⌉ C = \left\lceil \frac{T}{N} \cdot \text{CF} \right\rceil C=NTCF

其中 T T T是token总数, N N N是专家数量, CF \text{CF} CF是容量因子(通常设为1.0-1.5)。当路由到某个专家的token数超过 C C C时,多余的token被丢弃或传递到下一层。容量因子提供了负载均衡的硬约束。

辅助负载均衡损失:Switch Transformer引入了辅助损失来鼓励负载均衡:

L aux = α ⋅ N ⋅ ∑ i = 1 N f i ⋅ P i L_{\text{aux}} = \alpha \cdot N \cdot \sum_{i=1}^{N} f_i \cdot P_i Laux=αNi=1NfiPi

其中 f i = 1 T ∑ t = 1 T 1 [ i ∈ S t ] f_i = \frac{1}{T}\sum_{t=1}^{T} \mathbb{1}[i \in S_t] fi=T1t=1T1[iSt]是专家 i i i被选中的频率, P i = 1 T ∑ t = 1 T s t , i P_i = \frac{1}{T}\sum_{t=1}^{T} s_{t,i} Pi=T1t=1Tst,i是专家 i i i的平均路由概率, α \alpha α是辅助损失系数(通常设为0.01)。当所有专家被均匀选中时, f i = P i = 1 / N f_i = P_i = 1/N fi=Pi=1/N,辅助损失最小。

DeepSeek-V3的无辅助损失策略:2024年,DeepSeek-V3提出了一种创新的辅助损失无关负载均衡策略。该方法为每个专家引入一个可学习的偏置项 b i b_i bi,在路由决策时将其加到亲和度得分上:

s t , i = softmax ( W g x t + b ) i s_{t,i} = \text{softmax}(W_g \mathbf{x}_t + \mathbf{b})_i st,i=softmax(Wgxt+b)i

偏置项 b \mathbf{b} b不参与梯度计算,而是通过一个简单的在线更新规则调整:如果专家 i i i的负载超过目标值,则减小 b i b_i bi;反之则增大 b i b_i bi。这种策略避免了辅助损失对主训练目标的干扰,同时实现了有效的负载均衡。

混合策略

Expert-Choice路由

Token-Choice路由

Token

计算亲和度

选择Top-k专家

问题: 负载不均

专家

计算亲和度

选择Top-C Token

优势: 完美均衡

容量因子约束

辅助负载均衡损失

无辅助损失偏置调整

工程实用

6 训练稳定性与负载均衡:稀疏架构的关键挑战

6.1 路由崩塌:稀疏训练的头号敌人

路由崩塌(Routing Collapse)是MoE训练中最常见也最致命的问题之一。其表现为:在训练过程中,路由器逐渐将绝大多数token路由到少数几个专家,导致这些专家过载而其余专家"死亡"——即几乎不被选中,其参数得不到有效更新。

路由崩塌的根本原因可以从优化动力学角度理解。考虑一个简单的场景:两个专家 E 1 E_1 E1 E 2 E_2 E2,初始时 E 1 E_1 E1的输出略优于 E 2 E_2 E2。路由器会倾向于将更多token路由到 E 1 E_1 E1,使 E 1 E_1 E1获得更多训练机会,进一步拉大与 E 2 E_2 E2的差距。这种正反馈循环导致"富者愈富"的马太效应,最终 E 2 E_2 E2完全被遗弃。

从数学角度看,路由崩塌可以理解为优化景观中的不良吸引子。当路由器参数 W g W_g Wg和专家参数 { W i } \{W_i\} {Wi}联合优化时,存在两类不动点:一类是负载均衡的"好"不动点,另一类是路由崩塌的"坏"不动点。没有正则化的情况下,"坏"不动点往往具有更大的吸引域,使得随机初始化更容易收敛到路由崩塌状态。

路由崩塌的后果是多方面的。首先是参数浪费:死亡专家占据大量参数但不贡献计算,使得模型的参数效率大幅下降。其次是性能退化:由于只有少数专家参与计算,模型的表示能力被严重限制。第三是训练不稳定:过载专家的梯度可能爆炸,而死亡专家的梯度消失,导致训练过程不稳定。

6.2 负载均衡策略的演进

针对路由崩塌问题,研究者们发展了一系列负载均衡策略,从简单的启发式方法到复杂的理论驱动方法。

噪声注入:Shazeer等人在原始MoE论文中提出,在路由logit中加入可调高斯噪声:

h i = w i T x + ϵ , ϵ ∼ N ( 0 , σ 2 ) h_i = \mathbf{w}_i^T \mathbf{x} + \epsilon, \quad \epsilon \sim \mathcal{N}(0, \sigma^2) hi=wiTx+ϵ,ϵN(0,σ2)

噪声增加了路由决策的随机性,使得即使某个专家的期望得分较低,也有一定概率被选中,从而促进探索。噪声标准差 σ \sigma σ通常设为1,并在Top- k k k选择后移除噪声以进行精确的门控权重计算。

辅助负载均衡损失:如前所述,Switch Transformer的辅助损失 L aux = α N ∑ i f i P i L_{\text{aux}} = \alpha N \sum_i f_i P_i Laux=αNifiPi通过惩罚负载不均来鼓励均衡。但这种方法存在一个根本性矛盾:辅助损失系数 α \alpha α的选择需要在负载均衡和模型性能之间权衡—— α \alpha α太大,模型被迫均匀路由,牺牲了专业化; α \alpha α太小,负载均衡效果不足。

专家丢弃与Token丢弃:GShard引入了两种处理过载的机制。当路由到某个专家的token数超过容量 C C C时,多余的token被丢弃(Token Dropping),其表示直接传递到下一层。同时,如果某个专家长时间未被选中,可以将其丢弃(Expert Dropping)并重新初始化,以回收参数资源。

Z-loss正则化:ST-MoE(Zoph et al., 2022)发现,路由logit的幅度在训练过程中可能增长到非常大的值,导致softmax函数进入饱和区,梯度消失。他们引入了Z-loss来约束路由logit的幅度:

L z = 1 T ∑ t = 1 T ( log ⁡ ∑ i = 1 N exp ⁡ ( h t , i ) ) 2 L_z = \frac{1}{T} \sum_{t=1}^{T} \left(\log \sum_{i=1}^{N} \exp(h_{t,i})\right)^2 Lz=T1t=1T(logi=1Nexp(ht,i))2

Z-loss鼓励路由logit的log-partition-function接近零,防止logit幅度过大,从而提高训练稳定性。

策略 提出者 机制 优势 局限
噪声注入 Shazeer 2017 路由logit加高斯噪声 简单有效 探索效率低
辅助损失 Fedus 2021 惩罚 f i ⋅ P i f_i \cdot P_i fiPi 理论清晰 超参敏感
容量因子 Lepikhin 2021 硬约束专家容量 工程友好 Token丢弃
Z-loss Zoph 2022 约束logit幅度 稳定训练 不直接均衡
偏置调整 DeepSeek-V3 可学习偏置在线调整 无辅助损失 需要调参

6.3 稀疏模型的微调与迁移学习

MoE模型的微调面临独特挑战。ST-MoE论文系统研究了稀疏专家模型的微调行为,发现了几个重要现象。

首先是专家特化在微调中的变化。在预训练阶段,不同专家倾向于处理不同类型的输入(如不同语言、不同领域)。但在微调阶段,这种特化可能被破坏——当微调数据分布与预训练数据差异较大时,路由器可能需要重新学习路由策略,导致预训练阶段获得的专业化知识丢失。

其次是微调稳定性问题。稀疏模型在微调时比稠密模型更容易出现训练不稳定,特别是当学习率较大时。Zoph等人发现,这主要是因为微调数据量远小于预训练数据量,路由器在少量数据上容易过拟合,导致路由决策退化。

第三是稀疏上循环(Sparse Upcycling)技术。2023年,Komatsuzaki等人提出了一种将预训练稠密模型转换为稀疏MoE模型的方法:将稠密FFN层的参数复制到多个专家中(加入不同随机扰动),然后继续训练。这种方法可以在不从头训练的情况下获得MoE模型,显著降低了训练成本。数学上,对于稠密FFN参数 W ( 1 ) , W ( 2 ) W^{(1)}, W^{(2)} W(1),W(2),初始化第 i i i个专家的参数为:

W i ( 1 ) = W ( 1 ) + ϵ i ( 1 ) , W i ( 2 ) = W ( 2 ) + ϵ i ( 2 ) W_i^{(1)} = W^{(1)} + \epsilon_i^{(1)}, \quad W_i^{(2)} = W^{(2)} + \epsilon_i^{(2)} Wi(1)=W(1)+ϵi(1),Wi(2)=W(2)+ϵi(2)

其中 ϵ i ( 1 ) , ϵ i ( 2 ) \epsilon_i^{(1)}, \epsilon_i^{(2)} ϵi(1),ϵi(2)是小幅随机扰动。这种初始化确保了MoE模型在转换初期的行为与原始稠密模型一致,然后通过继续训练逐步发展出专家专业化。

稠密预训练模型

Sparse Upcycling

参数复制+扰动

MoE继续训练

专家专业化

直接微调

路由器不稳定

专业化丢失

7 从Switch Transformer到DeepSeek-V3:里程碑式系统演进

7.1 第一代:开创性探索

MoE在Transformer中的应用经历了清晰的代际演进。第一代系统以Shazeer等人2017年的工作和GShard为代表,主要解决"能否将MoE扩展到大规模"的基本问题。

GShard(Lepikhin et al., 2021)是第一个将MoE成功应用于大规模Transformer的系统。它将多语言神经机器翻译模型扩展到超过6000亿参数,使用了2048个专家。GShard的关键贡献在于分布式训练的工程实现:它引入了专家并行(Expert Parallelism),将不同专家分布到不同设备上,并设计了高效的all-to-all通信模式来在设备间传递token。

GShard的路由策略采用了Top-2门控,即每个token被路由到2个专家。为了处理负载不均,GShard引入了容量因子和残差连接——当token被丢弃时,其表示通过残差连接直接传递到下一层,确保信息不会完全丢失。GShard的实验表明,在相同计算预算下,MoE模型在多语言翻译任务上显著优于稠密模型。

然而,第一代系统面临严重的训练不稳定性问题。路由崩塌频繁发生,辅助损失的调参非常困难,训练过程中经常出现loss spike。这些问题使得第一代MoE模型难以可靠地训练到收敛。

7.2 第二代:稳定性与效率

第二代系统以Switch Transformer(Fedus et al., 2021)和GLaM(Du et al., 2022)为代表,核心目标是提升训练稳定性和推理效率。

Switch Transformer做出了一个大胆的简化:将Top-2路由改为Top-1路由(即Switch路由)。这个看似简单的改变带来了多重好处:计算量减半(每个token只激活1个专家),通信量减半(只需与1个专家的设备通信),路由逻辑简化(无需处理两个专家的加权组合)。Fedus等人证明,Switch Transformer在相同计算预算下,训练速度比稠密T5模型快4-7倍,并将模型扩展到了万亿参数级别。

Switch Transformer还系统研究了MoE的缩放特性。他们发现:增加专家数量(而非增加单个专家的大小)是最有效的缩放维度——将专家数量从8增加到128,几乎不增加计算量,但显著提升了模型质量。这是因为更多的专家提供了更细粒度的专业化,同时稀疏激活保证了计算量不变。

GLaM(Du et al., 2022)则从另一个角度推进了MoE的实用化。GLaM是一个通用语言模型家族,最大版本拥有1.2万亿参数(64个专家,Top-2路由),但每次推理仅激活约970亿参数。GLaM的关键贡献在于证明了MoE模型在零样本和少样本学习任务上可以达到甚至超越GPT-3(175B稠密模型)的性能,同时仅使用约1/3的训练能耗。

ST-MoE(Zoph et al., 2022)专注于稀疏模型的稳定性和可迁移性。它将稀疏模型扩展到269B参数(计算量相当于32B稠密模型),并系统研究了训练稳定性技术(如Z-loss)和微调策略。ST-MoE的一个重要发现是:稀疏模型在微调时比稠密模型更容易过拟合,需要更小的学习率和更多的正则化。

7.3 第三代:专业化与工程突破

第三代系统以Mixtral 8x7B(Jiang et al., 2024)和DeepSeekMoE(DeepSeek-AI, 2024)为代表,核心突破在于专家专业化和工程优化。

Mixtral 8x7B是一个具有里程碑意义的开源MoE模型。它有8个专家,每个token激活2个,总参数量约46.7B,但激活参数量仅约12.9B。Mixtral的关键贡献在于证明了:一个精心训练的中小规模MoE模型,可以在大多数基准测试上超越远大于它的稠密模型(如Llama 2 70B)。Mixtral 8x7B在数学推理、代码生成和多语言任务上均展现出显著优势,且推理速度约为同等性能稠密模型的2-3倍。

DeepSeekMoE则从架构层面重新思考了专家设计。它提出了两个核心创新:细粒度专家分割和共享专家隔离。在2B参数的小规模实验中,DeepSeekMoE将每个FFN专家分割为更小的子专家,将专家数量从传统的8个增加到64个(Top-6路由),同时保留2个共享专家始终激活。这种设计使得模型总参数量与标准稠密模型相当,但激活参数量仅为稠密模型的约28.5%。

DeepSeekMoE的实验揭示了几个重要发现。第一,细粒度专家确实实现了更高的专业化——不同专家对输入的响应模式差异更大,专家间的余弦相似度更低。第二,共享专家有效减少了知识冗余——没有共享专家时,多个路由专家倾向于学习相似的通用特征;引入共享专家后,路由专家更专注于特化知识。第三,DeepSeekMoE 2B在相同训练数据下达到了与稠密2B模型相当的性能,但仅使用了约28.5%的计算量。

7.4 第四代:大规模工程化

DeepSeek-V3(DeepSeek-AI, 2024)代表了当前MoE架构的最高工程水平。它拥有671B总参数,但每个token仅激活37B参数——激活比仅约5.5%。这是迄今为止激活参数比最低的大规模MoE模型之一。

DeepSeek-V3的架构创新包括:256个路由专家(Top-8路由)+ 1个共享专家,细粒度专家分割,以及辅助损失无关的负载均衡策略。在训练效率方面,DeepSeek-V3在14.8T token上训练,使用了2048块H800 GPU,总训练成本仅约557万美元——远低于同规模稠密模型的训练成本。

DeepSeek-V3的性能令人瞩目:在多项基准测试上,它达到了与GPT-4o和Claude-3.5-Sonnet相当甚至更优的水平,而其推理成本仅为这些稠密模型的一小部分。这有力地证明了"休眠-觉醒"架构的实用价值:通过稀疏激活,我们可以在保持大模型表示能力的同时,大幅降低计算和能源成本。

模型 年份 总参数 激活参数 专家数 路由方式 核心创新
GShard 2021 600B - 2048 Top-2 专家并行
Switch 2021 1.6T - 2048 Top-1 简化路由
GLaM 2022 1.2T 97B 64 Top-2 能效优化
ST-MoE 2022 269B 32B等效 - Top-2 训练稳定性
Mixtral 2024 46.7B 12.9B 8 Top-2 开源高效
DeepSeekMoE 2024 2B/16B 0.3B/2.4B 64 Top-6 细粒度+共享
DeepSeek-V3 2024 671B 37B 256+1 Top-8 无辅助损失
第一代 2017 Shazeer MoE<br/>稀疏门控理论 2021 GShard<br/>600B参数 2048专家 第二代 2021 Switch Transformer<br/>Top-1路由 万亿参数 2022 GLaM<br/>1.2T参数 能效优化 2022 ST-MoE<br/>训练稳定性 第三代 2024 Mixtral 8x7B<br/>开源高效 2024 DeepSeekMoE<br/>细粒度+共享专家 第四代 2024 DeepSeek-V3<br/>671B/37B 无辅助损失 MoE架构演进时间线

8 未来展望:稀疏激活范式的深远影响

8.1 超越Transformer:稀疏激活的通用性

"休眠-觉醒"架构的价值远不限于Transformer中的MoE层。稀疏激活作为一种通用的计算组织原则,正在向多个方向扩展。

在视觉领域,稀疏卷积网络已经证明了稀疏激活在空间维度上的有效性——仅对图像中有信息的区域(非零像素)进行计算,可以在保持精度的同时大幅提升速度。在多模态模型中,不同模态的输入可以路由到不同的专家子网络,实现模态特化的高效处理。

在强化学习中,稀疏激活与"休眠神经元"问题密切相关。2024年发表在arXiv上的研究"Neuroplastic Expansion in Deep Reinforcement Learning"发现,在持续学习场景中,标准深度网络会逐渐丧失可塑性——越来越多的神经元变为"休眠"状态(输出恒为零),导致网络无法学习新任务。该研究提出了"神经可塑性扩展"机制:动态检测休眠神经元并重新初始化,使其"觉醒"并恢复学习能力。这种"休眠-觉醒"的动态管理,正是稀疏激活范式在持续学习中的自然延伸。

在推理时计算(Test-Time Compute)方面,稀疏激活提供了一种新的缩放维度。传统方法通过增大模型来提升性能,而稀疏激活允许在推理时动态调整计算量——对"困难"输入激活更多专家,对"简单"输入激活更少专家。这种自适应计算分配与人类认知的"认知负荷"理论高度一致:面对简单问题,大脑只激活少量相关区域;面对复杂问题,大脑会动员更多脑区协同工作。

8.2 硬件-架构协同设计

稀疏激活架构的充分发挥需要硬件层面的支持。当前GPU主要针对稠密计算优化,对稀疏计算的支持仍然有限。虽然NVIDIA Ampere及后续架构引入了结构化稀疏支持(2:4稀疏模式,即每4个权重中恰好2个为零),但这种固定稀疏模式与MoE的动态稀疏模式并不匹配。

未来的硬件-架构协同设计可能沿以下方向发展:

动态稀疏加速器:专门设计支持MoE路由的硬件单元,能够在运行时根据路由决策动态选择计算路径,跳过未激活专家的计算。这需要硬件支持条件执行和动态数据路由,类似于大脑中神经回路的选择性激活机制。

近存计算与专家分布:将不同专家的参数存储在不同的存储单元中,仅在需要时将token发送到对应专家的计算单元。这种"数据不动、计算就位"的模式可以大幅减少数据搬运,降低能耗。这类似于大脑中不同功能区域的空间组织——视觉信息直接路由到视觉皮层处理,而非在全局广播。

稀疏感知通信:在分布式MoE训练中,all-to-all通信是主要瓶颈。稀疏感知通信协议可以只传输被路由的token,而非整个batch的数据,从而将通信量降低 k / N k/N k/N倍。

8.3 理论前沿:从经验到原理

尽管MoE架构在工程上取得了巨大成功,但其理论基础仍然薄弱。几个关键的理论问题亟待解决。

第一是专家数量的最优选择。当前实践中,专家数量(8、64、256)的选择主要基于经验,缺乏理论指导。一个可能的理论框架是将MoE视为对函数空间的稀疏近似:给定目标函数 f ∗ f^* f,我们希望找到 N N N个基函数(专家) { E 1 , . . . , E N } \{E_1, ..., E_N\} {E1,...,EN}和一个路由函数 G G G,使得对任意输入 x \mathbf{x} x

f ∗ ( x ) ≈ ∑ i ∈ S ( x ) G ( x ) i ⋅ E i ( x ) f^*(\mathbf{x}) \approx \sum_{i \in S(\mathbf{x})} G(\mathbf{x})_i \cdot E_i(\mathbf{x}) f(x)iS(x)G(x)iEi(x)

最优专家数量 N ∗ N^* N与目标函数的复杂度、输入分布的多样性以及计算预算之间的关系,目前尚不清楚。

第二是路由器的表达能力边界。当前路由器通常是简单的线性函数( W g x W_g \mathbf{x} Wgx),其表达能力有限。更复杂的路由器(如多层感知机)理论上可以做出更精确的路由决策,但也会增加计算开销和过拟合风险。路由器表达能力的理论上界和下界是什么?是否存在"最优"路由器复杂度?

第三是稀疏-稠密等价性。在什么条件下,一个稀疏MoE模型可以完美等价于一个稠密模型?从表示理论的角度,MoE模型的函数空间与稠密模型的函数空间之间的包含关系是什么?这些问题的答案不仅具有理论意义,也将指导未来的架构设计。

8.4 从"休眠-觉醒"到"持续学习"

“休眠-觉醒"架构的一个深远影响在于持续学习(Continual Learning)。2024年发表在Nature上的研究"Loss of Plasticity in Deep Continual Learning"发现,标准深度学习方法在持续学习场景中会逐渐丧失可塑性——网络逐渐变得"僵化”,无法有效学习新任务。该研究将此归因于网络中大量神经元进入"休眠"状态,丧失了响应新输入的能力。

"休眠-觉醒"架构为持续学习提供了一种自然的解决方案。在MoE框架中,当新任务到来时,可以动态添加新专家("觉醒"新能力),同时保留旧专家("休眠"旧知识)。路由器可以学习将新任务的输入路由到新专家,而旧专家继续处理旧任务的输入。这种"专家增长"策略避免了传统持续学习中的灾难性遗忘问题。

更深层地看,"休眠-觉醒"范式暗示了一种新的AI系统设计哲学:AI系统不应是一个静态的、固定的计算图,而应是一个动态的、可生长的、具有生命周期的系统。就像大脑在一生中不断形成新的神经连接、修剪旧的连接一样,AI系统也应该能够根据任务需求动态调整其计算结构——在需要时"觉醒"新的能力,在不需要时"休眠"冗余的功能。

这种从"静态架构"到"动态架构"的转变,可能是通向通用人工智能的关键一步。毕竟,人类智能的核心特征之一就是适应性——我们不是用同一组固定参数处理所有问题,而是根据情境动态调整我们的认知策略。而"休眠-觉醒"架构,正是将这种适应性嵌入AI系统底层设计的第一步。

休眠-觉醒范式

稀疏MoE
按需激活

持续学习
动态专家增长

自适应计算
推理时缩放

硬件协同
稀疏加速器

参数效率提升

可塑性保持

计算量自适应

能效突破

下一代AI系统

参考文献

  1. Jacobs R A, Jordan M I, Nowlan S J, et al. Adaptive mixtures of local experts[J]. Neural Computation, 1991, 3(1): 79-87. 链接: https://www.cs.toronto.edu/~fritz/absps/jjnh91.pdf

  2. Bengio E, Bacon P L, Pineau J, et al. Conditional computation in neural networks for faster models[EB/OL]. arXiv:1511.06297, 2015. 链接: https://arxiv.org/abs/1511.06297

  3. Shazeer N, Mirhoseini A, Maziarz K, et al. Outrageously large neural networks: The sparsely-gated mixture-of-experts layer[EB/OL]. arXiv:1701.06538, 2017. 链接: https://arxiv.org/abs/1701.06538

  4. Lepikhin D, Lee H, Xu Y, et al. GShard: Scaling giant models with conditional computation and automatic sharding[EB/OL]. arXiv:2006.16668, 2021. 链接: https://arxiv.org/abs/2006.16668

  5. Fedus W, Zoph B, Shazeer N. Switch transformers: Scaling to trillion parameter models with simple and efficient sparsity[J]. Journal of Machine Learning Research, 2022, 23(120): 1-40. 链接: https://arxiv.org/abs/2101.03961

  6. Du N, Huang Y, Dai A M, et al. GLaM: Efficient scaling of language models with mixture-of-experts[C]. ICML, 2022. 链接: https://arxiv.org/abs/2112.06905

  7. Zhou Y, Neiswanger W, Ermon S. Mixture-of-experts with expert choice routing[C]. NeurIPS, 2022. 链接: https://arxiv.org/abs/2202.09368

  8. Zoph B, Bello I, Kumar S, et al. ST-MoE: Designing stable and transferable sparse expert models[EB/OL]. arXiv:2202.08906, 2022. 链接: https://arxiv.org/abs/2202.08906

  9. Jiang A Q, Sablayrolles A, Roux A, et al. Mixtral of experts[EB/OL]. arXiv:2401.04088, 2024. 链接: https://arxiv.org/abs/2401.04088

  10. DeepSeek-AI. DeepSeekMoE: Towards ultimate expert specialization in mixture-of-experts language models[C]. ACL, 2024. 链接: https://arxiv.org/abs/2401.06066

  11. DeepSeek-AI. DeepSeek-V3 technical report[EB/OL]. arXiv:2412.19437, 2024. 链接: https://arxiv.org/abs/2412.19437

  12. Kaplan J, McCandlish S, Henighan T, et al. Scaling laws for neural language models[EB/OL]. arXiv:2001.08361, 2020. 链接: https://arxiv.org/abs/2001.08361

  13. Hoffmann J, Borgeaud S, Mensch A, et al. Training compute-optimal large language models[C]. NeurIPS, 2022. 链接: https://arxiv.org/abs/2203.15556

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐