仅用于站内搜索,没有排版格式,具体信息请跳转上方微信公众号内链接
春招和日常实习已开启。
不同以往的是,当前职场已不再是那个双向奔赴时代了。求职者在变多,HC在变少,岗位要求还更高了。
最近,我们又陆续整理了很多大厂的面试题,帮助一些球友解惑答疑,分享技术面试中的那些弯弯绕绕。
专家混合(MoE)是一种流行的架构,比如最近火爆天的DeepSeekV3和R1就是这类模型。它利用不同的“专家”来改进Transformer模型。
下面的示意图展示了它们与Transformer的不同之处。
Transformer和MoE在decoder块中有所不同:
Transformer使用前馈网络。
MoE使用experts,它们是前馈网络,但与Transformer中的网络相比更小。
在推理过程中,将选择专家的子集。这使得MoE中的推理速度更快。
由于网络包含多个解码器层:
文本会在不同的层中经过不同的专家。
每个token选择的专家也各不相同。
但是,模型如何决定哪些专家是理想的呢?
这由路由器(Router)来完成。接下来我们来讨论它。
路由器就像一个多分类分类器,它对专家生成softmax分数。根据这些分数,我们选择前K个专家。
路由器与网络一起训练,并学习如何选择最合适的专家。
但这并不简单。让我们来看看其中的挑战!
挑战1)注意训练初期的这一模式:
模型选择“专家2”
该专家变得稍微更好
可能会再次被选中
该专家学到更多知识
又被选中
学到更多知识
如此循环!
许多专家因此训练不足!
我们通过两个步骤来解决这个问题:
在路由器的前馈输出中添加噪声,使其他专家的logits更高。
将除前K个之外的所有logits设为负无穷大,这样在softmax之后,这些分数就变为零。
这样,其他专家也有机会参与训练。
挑战2)某些专家可能会比其他专家处理更多的token,导致部分专家训练不足。
我们通过限制每个专家可处理的token数量来避免这种情况。
如果某个专家达到上限,输入的token就会被传递给下一个最合适的专家。
MoE具有更多的参数需要加载,但由于每次仅选择部分专家,因此只有一部分参数被激活。
这使得推理速度更快。@MistralAI的Mixtral8x7B就是一个基于MoE的知名大型语言模型(LLM)。
下面是对比Transformer和MoE的示意图!
(完)