背景

最近deepseek比较火,导致moe也比较热门,这里简单看看原理以及如何优化。

算法

整体思路比较简单,以前attention后面接的是一个FFN网络,现在是的原理如下:
在这里插入图片描述
1、首先每个token经过线性层和softmax选择自己的专家id
2、然后根据id选择不同的矩阵参数乘
3、最后再根据不同专家的权重做一个合并

优化

实际推理的时候可能会出现如下状况:
在这里插入图片描述
在前向传播的时候,需要做如下三个矩阵乘法:
在这里插入图片描述
可以发现这三个矩阵的A矩阵尺寸不一样,不能用batched gemm,所以这里需要用grouped gemm来做,接下来可以看看为什么grouped gemm比batch gemm效果好。

未完待续

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐