跳到正文

MoE 专家网络怎么动态路由?

多模态扩散模型高噪/低噪专家选择机制与路由条件

原题:如果某多模态扩散模型中采用了‘高噪专家’与‘低噪专家’的混合专家(MoE)结构,请问在不同去噪阶段是如何动态选择相应专家网络的?路由机制可能基于哪些条件?

多模态 · 百度真题

回答与解析

先给结论

高噪专家和低噪专家的切换,最稳妥的主信号是扩散日程中的 tsigma_t 或 log-SNR。固定日程下,同一个 t 的理论信号系数与噪声系数已经确定,不能再说“同一 t 的样本噪声水平不同”。内容条件可以加入路由器,但它表示的是内容相关特征,不应冒充噪声水平。

路由信号

  • 日程信号:把 tsigma_t 或 log-SNR 编码后送入 gate。log-SNR能统一表达不同噪声参数化,但三者选一个定义清楚即可。
  • 共享特征:如果模型先经过共享 trunk,可以对中间激活池化后参与路由;这属于可学习内容路由,效果必须用消融实验验证。
  • 多模态条件:文本或图像条件向量可以作为辅助输入,但“CLIP范数越大=语义越复杂”不是成立的通用规则。

两种实现

方案 做法 边界
硬路由 t 或 log-SNR 区间只启用一个专家 计算清晰,但阈值附近可能不连续
软路由 gate输出权重,做加权或top-k稀疏选择 更灵活,但要防专家塌缩并计算路由开销

若只有两个按噪声区间训练的专家,硬路由就是可解释的基线;软路由是否更好不能预设。训练时要保证各区间有足够样本,并监控专家利用率、各噪声桶损失和生成质量。若共享backbone、只拆部分block,要说明节省的是专家参数和激活,而不是自动减少全部计算。

面试中的工程判断

先用日程信号建立可复现基线,再决定是否加入内容特征;上线时按噪声桶比较质量、延迟和负载。高噪阶段更偏全局结构、低噪阶段更偏局部细节,是常见经验解释,不是对所有模型都成立的定理。

口语版讲法(约4分钟)

  • 先澄清固定日程下t与噪声水平的关系
  • 说明日程信号与内容信号的边界
  • 比较硬路由和软路由
  • 解释训练监控与部署取舍
  • 给出可复现的选型顺序

这道题我会先把一个容易混淆的点说清楚:如果扩散模型使用固定噪声日程,那么给定时间步t,对应的信号系数、噪声系数和理论log-SNR就已经确定了。因此不能说同一个t下,不同样本的理论噪声水平还不一样。样本内容当然不同,但那是内容条件,不是噪声日程本身。

在这个前提下,最直接、也最容易复现的路由信号就是t、sigma或者log-SNR。三者不需要全堆进去,选一个和模型参数化一致的即可。假设只设高噪和低噪两个专家,我会先按log-SNR区间建立硬路由基线:落在高噪区间就走高噪专家,落在低噪区间就走低噪专家。这样计算路径清楚,也方便分别检查两个专家有没有学到东西。

第二种是软路由。可以把时间步编码和共享主干的中间特征送给一个小gate,输出两个专家的权重,或者只选top-k专家。软路由的优势是阈值附近能平滑过渡,但代价是路由器和多个专家可能都要参与计算,还会出现负载不均衡甚至专家塌缩。所以要监控每个专家的激活比例、路由熵和分噪声桶损失,并在确实需要时加负载均衡约束。

多模态条件也可以参与路由,例如文本条件向量或跨模态融合后的共享特征。不过我要强调,不能直接把CLIP向量范数叫作语义复杂度,也不能据此断言复杂语义一定要调用更多低噪专家。这类内容特征只能作为候选设计,必须通过消融来回答:加入之后,在相同计算预算下,质量有没有提高,专家利用是不是更合理。

专家结构上,我会从共享大部分backbone、只拆部分block开始,避免参数量直接翻倍。所谓高噪阶段偏全局结构、低噪阶段偏纹理细节,是有用的经验解释,但不是普遍定理。训练采样要覆盖各个噪声区间,评测也要按区间看,而不是只看最终一张图的主观分数。

所以我的落地顺序是:先用时间步或log-SNR做硬路由基线,再试软路由,最后才加入内容特征。每一步都比较生成质量、延迟、显存、专家负载和阈值附近的连续性。只有这些证据支持时,我才会说动态路由优于单模型或固定分段,而不会先假定某种方案天然最好。

另外,推理步的访问频率也会影响系统设计:即使两个专家参数相同,不同采样器访问各噪声区间的次数也可能不同,容量规划应按真实调用分布完成。

关键一句:如何证明内容条件真的改善路由,而不是增加参数后带来的表面收益。

核验来源

  1. Denoising Diffusion Probabilistic Models
  2. eDiff-I: Text-to-Image Diffusion Models with an Ensemble of Expert Denoisers

面试官还可能这样问

  1. 问法 1 · 场景切入

    假设一个多模态扩散模型包含高噪与低噪两个专家,并且噪声日程已知。你会用 t、sigma 还是 log-SNR 作为主路由信号?硬路由与软路由分别怎样实现和验证?

  2. 问法 2 · 层层追问

    固定日程下怎样表示当前噪声水平?……除时间信号外能否加入共享特征或条件向量?……硬路由和 top-k 软路由各有什么代价?……如何监控专家利用率、质量和阈值边界?

  3. 问法 3 · 直球技术

    设计高噪/低噪专家的扩散 MoE 路由机制,说明路由信号、训练方式、负载均衡、专家塌缩风险和分噪声桶评测。

同模块相关题目