尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

MoE大模型服务实战:小白也能看懂的核心流程与优化技巧(收藏版)

发布时间:2026/9/29 8:48:47

资讯中心
01
ARTICLE

MoE大模型服务实战:小白也能看懂的核心流程与优化技巧(收藏版)

MoE大模型服务实战:小白也能看懂的核心流程与优化技巧(收藏版)
MoE通过稀疏激活降低每个token的计算量但增加了服务系统的复杂度。本文跟随一个Token走完路由、分发、专家计算到合并和多机放置的整条路径覆盖专家并行、分组GEMM、拓扑感知放置、内存需求、推理优化等关键内容并探讨延迟与吞吐的权衡。从稠密模型到MoE服务的转变路由器为每个token打分只有被选中的专家才执行计算。文章深入分析了MoE层的结构与token路由、批次如何变成各专家专属的矩阵、单机MoE执行流水线、模型权重的驻留与运行时内存、专家并行的分发与合并、网络拓扑与专家放置、张量并行、专家并行与数据并行的执行布局、专家负载不均衡与rank级尾延迟、推理优化与模型正确性的边界、基准测试设计与瓶颈诊断等关键点为读者提供了全面的MoE服务优化指南。跟随一个Token走完从路由、分发、专家计算到合并和多机放置的整条路径。本文内容覆盖专家并行、分组GEMM、拓扑感知的放置、内存需求、推理优化以及决定延迟与吞吐的各种取舍。从稠密模型到MoE服务稠密Transformer对每个token都套用同一个前馈网络。批处理改变的是输入矩阵的维度而不是哪些权重会被执行。MoE层把这个前馈网络换成多个专家。路由器会为每个token给这些专家打分。只有被选中的专家才为该token执行计算。这样每个token消耗的专家计算量就降下来了。不过路由本身并不能决定下一个Token需要哪些权重所以推理服务仍然要为每一个可能被选中的专家留出位置。以Qwen3-30B-A3B为例总参数305亿激活参数33亿。每个token从128个路由专家中选8个。服务器依然要提供完整的模型。它需要注意力权重、词嵌入、专家权重、临时缓冲区以及不断增长的KV缓存。33亿这个数字大致描述的是活跃计算量它并不代表这次部署的内存占用也不代表专家权重本身。激活参数量估算的是一个token走过的执行路径。常驻参数量才决定这次部署需要多少权重内存。MoE层的结构与token路由Transformer层在做前馈计算之前先做注意力。注意力在token位置之间混合信息。前馈网络随后独立地变换每个token位置。MoE层把一个稠密前馈网络换成多个专家。每个专家本身就是一个独立的前馈网络。注意力仍然要处理每一个token。路由器只控制专家这一条分支。所以专家侧的稀疏激活并不会让注意力路径也变稀疏。先看一个只有四个专家的示意层。路由器会为某个token向量给每个专家打分该层挑出得分最高的两个专家。这两个专家各自独立处理同一个token向量该层再把它们的输出合并起来。各自的贡献由模型自己的路由权重决定。加权后的专家输出可以写成下面这样。其中x是这个token的输入向量。S(x) 是它被选中的专家集合。E_e是专家ew_e(x) 是它的路由权重。输出向量是y。求和只覆盖被选中的专家。每个专家都在变换同一个输入向量它的路由权重在相加之前缩放该专家的贡献。路由器挑出若干个专家函数该层对它们的输出做加权求和。不同架构对这些权重采用不同的归一化规则。token到专家的路由发生在每个MoE层内部。这和整个请求层面的模型路由不是一回事后者会为整个请求挑一个LLM。为了读起来简单这个玩具层用top-two路由。Qwen3-30B-A3B则是每个token从128个专家里选8个。它的模型卡还写明共有48层。有些架构里还有共享专家。这类专家不看路由器打分每个token都要经过它们。DeepSeekMoE就在路由专家之外另设了隔离的共享专家。共享专家对每个token都执行路由专家只在被选中时执行。只有设计上就带共享专家的模型才有这种划分。不要假设每个模型都有共享专家。先去看它的架构和推理服务实现。路由器改变了每个MoE层内部的前馈计算。批量推理因此要调度大量的token与专家配对而每个配对的去向专家和矩阵大小都不一样。一个批次如何变成各专家专属的矩阵路由器要为每个token做一次决策。GPU没办法一次只高效地跑一个极小的专家运算所以推理服务会把路由决策整理成更大的、按专家分组的矩阵。假设四个token进入一个四专家、top-two路由的层。路由器的选择是T1选中E1权重0.7选中E3权重0.3。T2选中E1权重0.4选中E3权重0.6。T3选中E1权重0.7选中E2权重0.3。T4选中E2权重0.8选中E4权重0.2。运行时手上现在有八个分配项而不是四个。每个分配项包含三样东西token向量、被选中的专家、以及路由权重。运行时按专家把这些分配项分组。E1收到T1、T2、T3E2收到T3、T4E3收到T1、T2E4收到T4。这些分组分别变成三行、两行、两行、一行的矩阵。每个专家处理自己的矩阵。运行时会在每一行旁边保留原始token ID用它记录每个结果该回到哪里。T1会从E1拿到一个结果从E3拿到另一个结果。运行时把它们分别乘以0.7和0.3。再把两份贡献相加就得到T1最终的专家输出。每个token都要走同样的合并步骤。这个分组的步骤叫分发返回的步骤叫合并两者都在同一块GPU内完成。多块GPU会在它们之间再加一层网络传输。一个专家批次统计的是分配项数量而不是不同的源token数。用top-two路由时每个token都会在专家矩阵里贡献两行。预填充一次处理很多提示词token所以专家拿到的矩阵行数可以很多。矩阵越大GPU通常利用得越充分。解码则为每个活跃请求新增一个token。并发低的时候某个专家可能只有一两行为这么点活儿启动一次矩阵内核是在浪费GPU算力。并发更高时每一步产生的分配项更多。分组通用矩阵乘法也就是分组GEMM能在一次启动里跑完多个专家矩阵。即使行数各不相同它也能减少启动开销。有些引擎会把专家矩阵填充到固定尺寸。固定形状让内核更容易调度代价是要在没有token的填充行上白算一遍。预填充和解码没有固定的性能画像。提示词长度和请求数量会改变它们的专家矩阵大小隐藏层宽度和硬件则决定这些矩阵跑得有多高效。分组GEMM能把已有的专家工作打包成更少的启动次数但它没法为没收到token的专家凭空造出工作。小结路由产生分配项分发把它们整理成专家矩阵合并把结果送回原来的token。下一节跟着这些矩阵走一遍单块GPU里的流程。单机MoE执行流水线MoE层要做的事远不止专家矩阵乘法。它还要挑专家、重排token行、执行专家、再把token顺序还原回来每个阶段都可能吃掉可观的时间。路由器先为每个候选专家生成一个分数。top-k操作留下被选中的专家索引及其权重。运行时随后重排token行让每个专家拿到一块连续矩阵。这个重排叫置换。它读取token向量再按专家顺序写出去同时记下一份逆映射供合并步骤使用。解码批次很小时搬行花掉的时间和乘法本身差不多。分组GEMM在一次内核启动里执行多个专家矩阵这些矩阵的行数可以不同。分组只减少启动次数不改变矩阵内容。接下来专家做自己的激活和输出投影。运行时用逆映射把token顺序还原应用路由权重并把相同token ID的贡献累加起来。分组GEMM不改变分配项的数量它只是用更少的启动次数执行已有的专家批次。内核融合把原本要分开启动的算子合成一个。融合路径可以不必把中间激活值写回显存因此既省启动开销也省显存带宽。融合是有条件的。一个内核可能只支持特定数据类型、批次形状或量化格式不受支持的组合只能退回更模块化的路径。激活量化又带来一个选择运行时可以在分发之前先量化发出去的就是更少的字节也可以按更高精度分发等专家计算之前再量化。前者省带宽但把转换的工作提前了。解码通常只给每个专家一个小矩阵此时权重读取、搬行和内核启动会占大头。预填充给的行数通常更多矩阵效率因此变得更要紧。融合路径消除了算子之间那些受支持的边界。它不会增大专家批次也不会改变路由器的选择或分配项数量。把路由、置换、专家GEMM和合并分开来测。只测一个合并后的MoE总耗时定位不出到底是哪一段慢。小结专家GEMM只是单机执行的一部分。批次很小时搬运和启动的开销往往就露出来了。模型权重的驻留与运行时内存MoE部署涉及三种不同的参数量。总参数量描述检查点激活参数量描述一个token的执行路径常驻参数量描述推理服务当前可用的权重。这几个数字不必一致。一个token只碰到一小部分专家下一个token可能选到另一批。全量常驻的部署要把每个可选的专家都留在它的GPU上此外还要存注意力、词嵌入、归一化和输出权重。稀疏路由并不会让其中任何一项权重消失。把Qwen3-30B-A3B的305亿参数按每个2字节存下来光权重就需要大约610亿字节也就是61 GB按二进制算约合56.8 GiB。下面的表达式给出权重存储的下界。B(weights) 是存储权重所占的字节数。P是总参数量。B(stored) 是每个被存储的参数占用的字节数。这个表达式把参数量乘以每参数字节数。代入Qwen的数字得到610亿字节。按十进制换算成GB就是除以十亿。这个结果只覆盖权重。部署还需要临时的激活值和通信缓冲区内存分配器也要预留额外空间而KV缓存要为活跃序列保存注意力状态。这些都没有算进那61 GB里。做这个估算时绝不能用33亿去替换305亿。激活参数量决定不了检查点里存了多少字节的权重。权重量化让每个参数用更少的字节存储权重分片把权重摊到多块GPU上。两者都不改变检查点里有多少参数。稀疏激活减少了专家计算却不减少权重的总存储。即便活跃FLOPs不算大模型仍然可能需要权重分片。专家卸载把一部分专家留在CPU内存里。路由选中它时运行时再把它搬到某块GPU上。这省下了显存代价是多了一条更慢的搬运路径。某个专家不在显存里时它的权重搬运会让解码停在原地。同一个专家被反复选中时缓存能帮上忙。只有未来的选择可预测时预取才有意义。这些数字并不隐含一个固定的GPU数量。精度、分片、预留内存和KV容量都会改变答案。小结激活参数量估算计算量常驻参数量决定权重内存。分片通过摊开权重解决容量问题但被路由到的激活值从此要在GPU之间来回走。专家并行的分发与合并专家并行把不同的专家分配到不同的GPU上。设想四个专家、两块GPUGPU A持有E1和E2GPU B持有E3和E4。一个token从GPU A出发选中了E1和E3。它的E1分配项留在GPU AE3分配项必须走到GPU B。网络记录里带着token向量和路由元数据。元数据标明这个token、目标专家、来源GPU和路由权重。目标端要靠这些字段才能把结果正确送回去。每块GPU把本地的和收到的分配项按专家分组为每个活跃的本地专家执行一个矩阵。远程结果随后走回各自的来源GPU。来源GPU用存下来的标识恢复token顺序应用每个路由权重把匹配的贡献相加至此完成合并。GPU数量一多每块GPU可能同时向多个对端发送分配项这就形成了all-to-all的通信模式。合并则在计算完成后把专家结果发回去。专家权重通常留在被分配到的GPU上。网络搬的是token激活值和元数据而不是专家权重。填充和临时缓冲区会增加实际传输的字节数。下面这个上界用来估算分发阶段的激活负载。B(dispatch) 是分发出去的激活负载。T是进入这个MoE层的token数。K是每个token选中的专家数。H是隐藏层宽度。最后b是每个激活值占用的字节数。这个乘积按每个分配项算一个完整的隐藏向量是不考虑局部性时的上界。留在同一块GPU上的分配项不消耗网络带宽。真实流量取决于有多少分配项是远程的。元数据和填充会增加字节数专家副本能让一部分分配项留在本地合并还会在返回方向上再加一份流量。这个估算只覆盖激活负载不含协议开销在没有拓扑和消息大小测量的情况下也预测不了延迟。每个MoE层都要重复一次这样的交换。很小的分发延迟在整个模型里会累积起来。有可独立计算的任务时重叠能把一部分延迟藏起来。DeepEP为大批次和小批次提供了分离的通信路径。它的吞吐路径面向较大的传输量低延迟路径面向启动时间更关键的解码步骤。内核带宽不等于端到端的服务速度。一个完整请求还包括注意力、调度、采样、缓存操作以及模型里的每一层。小结专家并行让权重原地不动只搬运分配项。它提升了分布式的权重容量代价是反复出现的激活流量。网络拓扑与专家放置并不是每条GPU链路的成本都一样。同一台服务器内的GPU可能走NVLink或NVSwitch不同服务器的GPU之间可能走InfiniBand或以太网。跨服务器传输通常比服务器内传输更贵。专家放置决定每个专家存在哪块GPU上这个选择决定了路由有多频繁地跨过较慢的链路。一种常见布局是把频繁出现的专家流量留在NVLink域内另一种并行布局则把各层分散到多台服务器。哪种边界更合适取决于模型和集群。放置在不改变路由器输出的前提下改变物理去向。经常被选中的专家可以挪到更靠近它token来源的位置运行时也可以为一个逻辑专家建几个物理副本。路由约束是另一回事因为它限制的是模型的选择。DeepSeek-V3用节点受限路由每个token只能到达有限几个节点上的专家。这条规则属于训练出来的架构。节点受限路由是那个模型训练架构的一部分。训练之后再补上类似的限制可能会改变被选中的专家和模型质量。做放置需要路由轨迹和拓扑测量。路由轨迹显示哪些专家接到了工作拓扑测量显示每个目的地的成本。只看专家热度是看不出链路成本的。把热门专家放在一起可能减少网络流量也可能让某台服务器过载。分散开会平衡计算但可能增加跨服务器流量。只有在还有空闲显存时副本才有帮助。按通信域分别测字节数和时间。一个集群级的流量计数器分不出廉价的节点内搬运和昂贵的跨节点搬运。还要记录是哪些专家对产生了这些流量因为放置需要有稳定的模式才能利用。小结放置想把频繁流量留在快速链路上同时又必须把工作摊到多块GPU上。路由轨迹能说明某种布局能否同时满足这两个目标。最后当下AI大模型是当下实打实的优质风口岗位缺口大、发展前景广、薪资待遇突出对比内卷严重、涨薪晋升困难的传统技术岗是普通人转行逆袭的绝佳选择。但很多想要入局大模型领域的朋友都面临无系统学习路径、无实战资源、求职无方向的难题一个人硬啃最容易走弯路、浪费大量时间精力。这里我结合多年一线实战与教学经验整理出一套零基础大模型专属资料包含系统化学习路线图零基础到精通大模型学习书籍 文档电子版2026 最新行业报告项目实战 配套源码大厂面试真题需要的朋友微信扫描下方 CSDN 官方认证二维码免费领取保证 100% 免费。扫码免费领取全部内容下面简单介绍一下资料包含的内容1、大模型系统化学习路线图专属定制从零基础入门到企业级实战的全阶段学习体系划分清晰的四大学习阶段规避碎片化学习弊端适配新手2、0基础到进阶视频教程配套完整高清实操教程覆盖Prompt提示工程、RAG知识库搭建、Agent智能体开发、模型微调、部署落地等核心知识点所有课程搭配实操演示零基础也能轻松看懂、上手实操。3、大模型学习书籍 文档汇总30本行业经典AI、大模型、深度学习精选书籍涵盖理论原理、开发实战、算法基础、AI产品思维等各类内容4、AI大模型最新行业报告整理2024-2026年最新大模型行业白皮书、市场分析报告清晰展现行业发展趋势、技术迭代方向、岗位需求变化帮助学习者精准把握行业风口找准学习和就业方向5、大厂面试真题汇总了常见的AI大模型面试问题、知识点梳理和面经参考方便求职时针对性准备。6、大模型项目实战 配套源码包含GPT应用开发、RAG私有知识库、智能问答系统等多个企业级实战项目配套完整可运行源码从简易Demo到完整商业应用全覆盖帮助学习者将理论转化为落地实战能力积累项目经验。7、适合谁学传统后端 / Java / 前端开发想转型 AI 应用大学生、应届生想拿更好的 offer产品经理、运营想武装职业竞争力技术负责人想给团队落地提效学习是反人性的但回报是真金白银。技术会更新赛道会切换但只要你先动手机会就永远站在你这边。8、这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。想要入局AI大模型赛道、抢占行业红利的朋友微信扫描下方CSDN官方认证二维码即可100%免费领取全套学习资料
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。