💡

文章摘要

2025-2026 年,Mixture of Experts(MoE)从研究概念变成了前沿模型的默认架构——DeepSeek V4(671B 总参/37B 活跃)、Qwen3-235B-A22B、Llama 4 Maverick 和 GLM-4.5 都选择了 MoE。但 MoE 的部署工程与密集模型截然不同:显存需求由总参数量决定而非活跃参数量,expert 并行需要成熟的推理框架支持,量化策略需要重新设计,微调比密集模型更脆弱。本文从实际生产视角拆解 MoE 部署的五个核心工程挑战——显存规划、expert 并行、推理框架选型、量化策略和微调模式——给出可操作的决策框架。

一、MoE 部署的核心矛盾:显存按总参数算,计算按活跃参数算

Mixture of Experts 的核心承诺是:用接近小模型的推理成本,获得接近大模型的质量。 这个承诺在 2025-2026 年得到了大规模验证——Presenc AI 的统计显示,2025-2026 年发布的 50B 以上开源模型中约 70% 采用 MoE 架构,而 2024 年这一比例仅约 25%(来源:Presenc AI, 2026-05)。

但部署 MoE 时,团队最常犯的错误是用活跃参数量估算硬件需求。 DeepSeek V4 的活跃参数约 37B,如果按 37B 密集模型规划硬件,你会发现自己严重低估了显存需求。事实是:MoE 模型的所有 expert 权重都必须加载到显存中,因为不同 token 会路由到不同的 expert。DeepSeek V4 的总参数量约 671B,这意味着你需要按 671B 模型的显存需求来规划 GPU 集群——即使每个 token 实际只用到 37B 参数。

这个矛盾产生了 MoE 部署的第一个工程约束:显存容量决定能否跑起来,计算带宽决定跑得有多快。 两者需要分别优化,不能混为一谈。

实际案例:假设你的团队需要部署 Qwen3-235B-A22B。 如果你错误地按 22B 活跃参数规划硬件,可能会购买 4 张 A100-80GB(共 320GB 显存),认为足够运行一个"22B 模型"。但实际部署时你会发现,Qwen3-235B 的 235B 总参数需要约 470GB 显存(FP16 精度),4 张 A100 根本装不下。正确的规划是按 235B 总参数计算,至少需要 6 张 A100-80GB(480GB 显存)或使用 INT8 量化后 3 张 A100-80GB(240GB 显存,仍有 30GB 余量用于 KV cache)。

为什么计算需求按活跃参数算? 因为每个 token 的推理只激活 k 个 expert(如 DeepSeek-V3 的 k=8),其他 expert 不参与计算。这意味着虽然显存中加载了 671B 参数,但实际执行的 FLOPs 只与 37B 参数相关。这就是 MoE 的成本优势来源——你用大模型的显存,获得了小模型的计算成本。

2026 年主流 MoE 模型的参数结构如下:

模型 总参数 活跃参数 稀疏比 显存需求(FP16)
DeepSeek V4 ~671B ~37B ~18x ~1.3TB
DeepSeek V3 ~671B ~37B ~18x ~1.3TB
Qwen3-235B-A22B ~235B ~22B ~11x ~470GB
Llama 4 Maverick ~400B ~17B ~24x ~800GB
GLM-4.5 ~355B ~32B ~11x ~710GB
Mixtral 8x22B ~141B ~39B ~3.6x ~282GB
Mixtral 8x7B ~47B ~13B ~3.6x ~94GB

稀疏比(总参数/活跃参数)从 2024 年的 3.6x(Mixtral)演进到 2026 年的 10x-30x(DeepSeek V4、Llama 4 Maverick)。 更高的稀疏比意味着更好的成本-质量比,但也意味着显存规划与计算需求之间的鸿沟更大。Mixtral 8x7B 的 94GB 显存需求可以在两张 A100-80GB 上运行;DeepSeek V4 的 1.3TB 需求则需要至少 16 张 H100-80GB 或等效配置。

这个显存-计算鸿沟对硬件采购和云资源规划有直接影响。 如果你按密集模型的思维估算 GPU 需求,会发现 MoE 模型的实际显存占用远超预期。例如,一个 400B 总参数、17B 活跃参数的 Llama 4 Maverick 模型,虽然推理时的计算量只相当于 17B 密集模型,但你需要 800GB 显存来加载所有权重——这相当于 10 张 A100-80GB 或 5 张 H100-80GB 的显存总量。如果你只按 17B 活跃参数规划了 4 张 GPU,模型根本无法加载。

因此,MoE 部署的第一个决策点是:你的显存预算是否足够容纳总参数量? 如果显存不足,你需要考虑量化(INT8 或 INT4)来压缩权重,或者选择稀疏比更低的模型。量化可以在一定程度上缓解显存压力,但会引入质量损失和额外的工程复杂度——这是下一节要讨论的问题。

图表加载中…

二、Expert 并行:MoE 部署的核心分布式策略

密集模型的分布式推理通常使用张量并行tensor parallelism):将每一层的权重矩阵切分到多张 GPU 上。 MoE 模型也可以用张量并行处理共享的注意力层,但 expert 层的分布式策略有本质区别——expert 天然适合按「整个 expert」为单位分配到不同 GPU,这就是 expert 并行(expert parallelism)。

Expert 并行的工作原理是:每个 GPU 持有部分 expert 的完整权重,router 计算出 token 应该被发送到哪些 expert 后,token 的隐藏状态通过 All-to-All 通信被路由到持有对应 expert 的 GPU 上,计算完成后再通过 All-to-All 将结果收集回来。

这个过程的通信开销是 MoE 部署的核心瓶颈。 All-to-All 通信意味着每个 GPU 都需要向其他所有 GPU 发送数据。在 8 卡 NVLink 互联的节点内,All-to-All 的延迟通常在 1-5 微秒量级,可以接受;但如果跨节点通过 InfiniBand 或 RoCE 进行 All-to-All,延迟会飙升到 10-50 微秒,严重拖慢推理速度。这就是为什么 MoE 部署的最佳实践是将 expert 并行限制在 NVLink 节点内,节点间使用更粗粒度的流水线并行数据并行

DeepSeek-V3 的架构将 expert 并行推到了极致:256 个路由 expert 加 1 个共享 expert,每个 token 激活 8 个路由 expert 和 1 个共享 expert(来源:PyShine, 2026-08-14)。 这意味着在 16 张 GPU 的集群上,每张 GPU 持有 16 个路由 expert,每个 token 需要与所有 16 张 GPU 通信——All-to-All 通信量与 GPU 数量成正比。

这个架构带来了两个工程挑战:

第一,负载不均衡。 如果 router 将大量 token 路由到少数几个 expert,持有这些 expert 的 GPU 会成为瓶颈,其他 GPU 空闲等待。Mixtral 论文就指出了这个问题:router 倾向于「偏爱」某些 expert,导致训练和推理效率下降(来源:arXiv 2401.04088)。DeepSeek-V3 采用了无辅助损失(auxiliary-loss-free)的负载平衡策略,通过强制路由机制确保 expert 利用率均匀,同时不干扰模型质量。

第二,通信开销。 All-to-All 通信的延迟与 GPU 间互联带宽直接相关。在 NVLink 互联的节点内(如 8 张 H100 通过 NVLink 连接),All-to-All 延迟可接受;跨节点的 InfiniBand/RoCE 互联会显著增加延迟。因此,MoE 部署的最佳实践是将 expert 并行限制在 NVLink 节点内,节点间使用更粗粒度的流水线并行数据并行

在实际部署中,expert 并行的效率高度依赖于 GPU 互联拓扑。 NVLink 在单节点内提供 600-900 GB/s 的双向带宽(取决于具体型号),而跨节点的 InfiniBand HDR 仅提供 200 Gb/s(约 25 GB/s)。这意味着跨节点的 All-to-All 通信延迟可能比节点内高 20-40 倍。如果你的 MoE 部署被迫跨节点进行 expert 并行,推理延迟会显著增加,token 吞吐量会大幅下降。

混合并行策略是大规模 MoE 部署的常见模式。DeepSeek-V3 为例,在一个 16 卡(2 节点 × 8 卡)的集群上,推荐的并行策略是:节点内 8 卡使用 expert 并行(每张 GPU 持有 32 个路由 expert 中的 16 个),节点间使用数据并行(两个节点各自独立处理不同的请求 batch)。这种策略最大化了 NVLink 带宽的利用率,同时避免了跨节点 All-to-All 的延迟惩罚。

图表加载中…

三、推理框架选型:SGLang、vLLM 和 TensorRT-LLM 的 MoE 支持对比

MoE 部署对推理框架有特殊要求:需要支持 expert 并行的分布式调度、All-to-All 通信、动态路由和变长 batch 的 expert 分配。 不是所有推理框架都原生支持这些特性。2026 年,三个主流框架的 MoE 支持已经成熟,但各有侧重。

SGLang 是目前 MoE 部署的首选框架。 它在 2024 年下半年开始重点优化 MoE 支持,核心特性包括:(1)RadixAttention 前缀缓存,对 MoE 的多轮对话场景特别有效——共享的 attention 前缀可以跨请求复用,减少重复计算;(2)原生的 expert parallelism 支持,与 DeepSeek-V3 团队有直接合作优化;(3)连续批处理continuous batching)与 MoE expert 调度的深度集成。DeepSeek 官方推荐的部署方案就是基于 SGLang

vLLM 从 0.7 版本开始提供成熟的 MoE 支持。 vLLM 的优势在于社区生态和 PagedAttention 显存管理——它将 KV cache 按页管理,减少显存碎片。对于 MoE 模型,vLLM 支持 expert parallelismtensor parallelism 的混合并行策略。如果你的团队已经在使用 vLLM 部署密集模型,升级到 MoE 模型的迁移成本较低。

TensorRT-LLM 提供最高性能的 MoE 推理,但灵活性最低。 它通过深度优化 CUDA kernel(包括分组矩阵乘法 grouped GEMM、expert 级别的 kernel fusion)实现最低延迟。缺点是:(1)需要针对特定 GPU 型号编译优化;(2)模型转换流程复杂;(3)对新模型架构的支持滞后于 SGLang/vLLM。适合已确定模型和硬件、追求极致性能的生产环境。

框架选型的核心决策因素是:模型确定性和性能要求的权衡。 如果模型可能频繁更换(如需要快速跟进新发布的开源 MoE 模型),SGLangvLLM 的灵活性更重要;如果模型和硬件已锁定且需要最低延迟TensorRT-LLM 的优化更值得投入。

特性SGLangvLLM (0.7+)TensorRT-LLM

Expert Parallelism

原生支持,DeepSeek 合作优化

原生支持,混合并行

原生支持,kernel 级优化

前缀缓存

RadixAttention,深度优化

Automatic Prefix Caching

有限支持

连续批处理

完整支持

完整支持

完整支持

模型更新响应速度

快,社区活跃

快,社区最大

慢,需编译优化

峰值性能

中高

最高(特定硬件)

部署复杂度

DeepSeek-V3 官方推荐

适合场景

前沿模型快速部署

通用 MoE 部署

锁定的高性能场景

四、MoE 量化:比密集模型更复杂的权衡

量化是降低 MoE 显存需求的关键手段,但 MoE量化比密集模型更复杂。 原因在于:MoE 模型中不同 expert 的权重分布可能差异很大——某些 expert 专门处理代码,某些处理自然语言,某些处理数学。全局统一的量化策略(如对整个模型使用相同的 INT8 校准)可能忽略 expert 级别的分布差异。

2026 年 MoE 量化的三种主流策略

策略一:均匀量化所有权重(包括 expert)。 这是最简单的方法,使用 GPTQAWQFP8 对所有权重进行统一量化DeepSeek-V3 原生支持 FP8 训练和推理,这意味着 FP8 量化对 DeepSeek 系列模型的质量损失最小——因为模型在训练时就已经适应了 FP8 精度。对于 Mixtral 等后训练量化的模型,INT8 量化通常可以将显存需求降低约 50%,质量损失在大多数基准测试中小于 2%。

策略二:只量化非 expert 权重,expert 保持高精度。 这个策略的逻辑是:expert 权重是 MoE 模型质量差异的核心来源(不同 expert 代表不同的知识模块),对 expert 量化可能破坏路由决策的精度。非 expert 权重(注意力层、共享 FFNrouter)的量化对质量影响较小。这种策略显存节省较少(约 20-30%),但质量保留更好。

策略三:expert 级别的选择性量化 根据每个 expert 的使用频率和重要性分配不同的量化精度——高频使用的 expert 保持 FP16/BF16,低频 expert 量化到 INT8 或 INT4。这需要分析实际工作负载的 expert 激活分布,实施复杂度最高,但可以在显存节省和质量保留之间找到最优平衡点。

量化策略的选择需要基于实际工作负载分析。 不同应用场景的 expert 激活模式差异很大。例如,代码生成任务可能主要激活少数几个代码相关的 expert,而通用对话可能均匀使用所有 expert。如果你的部署场景高度专业化,策略三可能带来显著的显存节省;如果是通用场景,策略一的均匀量化更简单可靠。

实践建议:对于大多数生产场景,FP8 或 INT8 均匀量化是最佳起点。 DeepSeek 系列优先使用 FP8(原生支持);其他模型使用 AWQGPTQ 的 INT8 量化。只有在显存预算极度紧张时才考虑 expert 级别的选择性量化

图表加载中…

五、MoE 微调:LoRA 是生产环境的默认选择

在生产环境中部署 MoE 模型后,团队通常需要针对特定领域或任务进行微调MoE微调比密集模型更棘手——全参数微调需要加载所有 expert 的梯度和优化器状态,显存需求可能是推理时的 3-4 倍。对于 DeepSeek-V3 这样 671B 总参数的模型,全参数微调需要超过 4TB 显存,这超出了大多数团队的能力。

参数高效微调PEFT),特别是 LoRA,是 MoE 生产微调的默认模式。 Presenc AI 的研究明确指出:「Parameter-efficient fine-tuning (LoRA on the dense backbone, optionally on expert weights) is the dominant production pattern for MoE customisation」(来源:Presenc AI, 2026-05)。

MoE 上应用 LoRA 的两种模式:

模式一:仅在共享层(注意力层)应用 LoRA 这是最保守的策略——LoRA 适配器只添加到注意力层的 Q/K/V/O 投影矩阵中,expert 权重完全冻结。优点是显存开销最小、训练最稳定(不会破坏 expert 的负载平衡);缺点是适应能力有限,因为 expert 层(通常是模型知识的主要载体)没有被调整。

模式二:在共享层和 expert 层都应用 LoRA 更激进的策略——每个 expert 都有自己的 LoRA 适配器。这提供了更强的适应能力,但显存开销与 expert 数量成正比(DeepSeek-V3 的 256 个 expert 意味着 256 组 LoRA 权重)。训练时需要注意 expert 级别的负载平衡——如果某些 expert 在微调数据中很少被路由到,对应的 LoRA 适配器可能无法充分训练。

微调 MoE 的关键陷阱:

第一,学习率需要比密集模型更低。 MoErouter学习率非常敏感——过高的学习率会导致 router 策略剧烈变化,破坏预训练阶段建立的 expert 分工。建议从密集模型学习率的 1/5 到 1/10 开始。

第二,监控 expert 利用率。 如果微调后某些 expert 的利用率从预训练时的均匀分布变成了极端偏斜(如 80% 的 token 只路由到 20% 的 expert),说明微调正在破坏 MoE 的稀疏性优势。这通常意味着需要降低学习率或增加负载平衡正则化

第三,优先考虑数据质量而非数据量。 MoE 的 expert 分工意味着不同领域的数据会影响不同的 expert。低质量数据不仅影响模型整体表现,还可能破坏特定 expert 的专业化能力。1000 条高质量领域数据通常优于 10000 条混合质量数据。

第四,微调后必须重新验证推理性能。 微调可能改变 expert 的路由分布,导致推理时的负载不均衡。建议在微调完成后,使用实际工作负载数据重新测量推理延迟吞吐量,确保微调没有引入性能退化。如果推理性能显著下降,可能需要调整 LoRA 的秩(rank)或学习率,或者回退到仅在共享层应用 LoRA 的保守策略

六、部署决策框架:从模型选择到硬件规划

将以上工程挑战整合成一个完整的部署决策流程,可以帮助团队避免常见的 MoE 部署陷阱。

第一步:确定模型规模。 2026 年的经验法则是:30B 以下用密集模型(Qwen3-3B、Phi-4、Llama 3.2 8B),50B 以上用 MoE(DeepSeek V4、Qwen3-235B-A22B、Llama 4 系列)。30B-50B 之间是灰色地带,需要根据具体任务的质量需求和延迟预算决定。

第二步:计算显存需求。 按总参数量计算:FP16 精度下,每 1B 参数约需 2GB 显存;加上 KV cache激活值,实际部署需要额外 20-30% 的显存余量。如果使用 INT8 量化显存需求减半;INT4 量化减至 1/4。

第三步:规划 GPU 拓扑。 Expert 并行应限制在 NVLink 节点内(通常 4 或 8 张 GPU)。跨节点使用数据并行流水线并行DeepSeek-V3(1.3TB FP16)至少需要 2 个 8×H100 节点;Qwen3-235B-A22B(470GB FP16)可以在 1 个 8×A100-80GB 节点内完成。

第四步:选择推理框架 前沿模型快速迭代选 SGLang;已有 vLLM 生态的团队继续用 vLLM;锁定的高性能场景选 TensorRT-LLM

第五步:确定量化策略 DeepSeek 系列用 FP8;其他模型从 INT8 均匀量化开始;显存紧张时考虑 expert 级别选择性量化量化策略的选择应基于实际工作负载分析——不同应用场景的 expert 激活模式差异很大,代码生成任务可能主要激活少数代码相关 expert,而通用对话可能均匀使用所有 expert。

第六步:规划微调方案。 默认使用 LoRA;优先在共享层应用;需要更强适应能力时在 expert 层也应用 LoRA,同时严格监控 expert 利用率。

MoE 部署的核心认知是:它不是密集部署的简单扩展,而是一套不同的工程范式。 显存规划、分布式策略量化方法和微调模式都需要针对 MoE 的稀疏特性重新设计。忽视这些差异的团队会发现,即使模型质量在基准测试中表现出色,生产环境的延迟、成本和稳定性目标仍然无法达成。成功的 MoE 部署需要基础设施团队、模型团队和应用团队之间的紧密协作——从硬件采购到框架选型,从量化验证到微调监控,每个环节都需要针对 MoE 的特殊性做出调整。

图表加载中…

七、局限与风险

MoE 部署的工程经验仍在快速积累中,以下局限和风险需要持续监控:

第一,MoE延迟可预测性低于密集模型。 密集模型每个 token 的计算量是固定的;MoE 的计算量虽然也固定(每个 token 激活 k 个 expert),但 All-to-All 通信的延迟取决于 batch 内的路由分布——不同请求的 expert 选择差异会导致通信模式波动。对延迟敏感的应用(如实时对话)需要在 SLA 中预留更大的 P99 延迟余量。

第二,MoE 模型的生态支持仍在追赶。 虽然 SGLangvLLM 已经提供成熟的 MoE 支持,但一些边缘工具(如可解释性分析、activation probing、safety filtering)对 MoE 的支持不如密集模型完善。团队在采用 MoE 前应确认关键工具链的兼容性。

第三,expert collapse 是训练和微调阶段的真实风险。 如果负载平衡机制失效,模型可能退化为只使用少数 expert 的「伪密集」模型,失去 MoE 的稀疏性优势。DeepSeek-V3 的无辅助损失负载平衡是目前最有效的解决方案,但它增加了模型设计的复杂度。

第四,MoE 模型的版本迭代速度可能影响部署稳定性。 2025-2026 年间,MoE 架构的设计模式快速演进——从 Mixtral 的 8 expert 到 DeepSeek-V3 的 256 expert,从辅助损失负载均衡到无辅助损失策略。如果你的生产环境依赖某个特定版本,需要评估模型升级时的迁移成本。建议在生产环境中使用模型版本锁定,并在测试环境持续跟踪最新版本的变化。

第五,本文的硬件建议基于 2026 年 8 月的 GPU 市场。 Nvidia 的下一代产品(如 B200/B300)可能显著改变 MoE 部署的经济性——更大的显存容量(单卡 192GB+)和更高的 NVLink 带宽可以减少所需的 GPU 数量。团队在做长期规划时应关注硬件路线图。

MoE 部署的工程经验仍在快速积累中。 本文提供的决策框架和最佳实践基于 2025-2026 年的生产经验,但随着新架构、新框架和新硬件的出现,具体的技术细节可能需要调整。团队应保持对 MoE 生态的持续关注,及时更新部署策略。建议每个季度重新评估一次推理框架版本和量化策略,确保与最新的社区实践保持同步。

参考资料:

延伸阅读:

  • DeepSeek-V3 技术报告中的 expert 并行实现细节
  • SGLang 官方文档中的 MoE 部署最佳实践
  • vLLM 0.7+ 版本发布说明中的 MoE 支持特性

🎯 相关面试题

结合本篇技术观点,备战 AI 岗位面试。