反直觉: MoE混合专家模型和场景没什么关系

原文链接:

最近各家方案都提到了MoE模型方案 – 混合专家模型,直觉上很多人都理解成某个场景对应一个专家模型,针对当前不同场景交给不同专家模型去解决,跑高速用高速模型,跑城区用城区模型。但实际上这个专家模型分专家的过程和场景不但没有什么关系,更忌讳用“每个场景一个专家”的方式去处理。根本上混合专家模型是一种稀疏注意力的手段,用来提高计算效率,达到小算力跑大模型的目标。

1. 【场景限制】假如我有8个moe子模型,那只能处理八个场景?遇到没有见过的场景怎么办?所以在one model的大背景下进行分场景训练是不现实的,或者说如果我们划分场景做多个小模型分别训练处理的话,并不是一般意义上的MoE结构。

2. 【均匀分配】假如我这次只跑城市不跑高速,是不是有一半参数量都没用上?如果有一个专家设计上是跑山的但我就不跑山,是不是永远用不上这个专家?所以实际应用中不仅不应“专人专用”,反而应该尽量让工作能均匀分配到每一个专家上,不然如果有一个专家触发几率很低,不如不要这个专家,把对应的参量和算力分配给激活更频繁的专家。

3. 【多专家共同激活】MoE模型并不是每次只能激活一个专家,甚至每次可能激活不同数量的专家,这样不仅能让算力分布更均匀,也可以将更多的算力分配到更难的问题上,对效率和最终效果都有正向效果。

MoE本质上的成立原因是因为实际的矩阵计算中数的参数计算显著决定了最终结果,而大量的计算对最终输出结果的影响微乎其微,所以提前选取针对当前数据能起决定作用的少量参数,只计算这部分参数去逼近全部计算的结果,这样的近似对最终效果影响非常小,所以本质上属于一种稀疏模型,提高计算效率,加速的手段。

但是其实我们描述成“不同专家有对应不同擅长的场景或操作”非常易于理解,也一定程度上有符合实际情况的可能性,实际情况中确实有可能高速场景下用某个子模型频率高,超车场景下用另一个子模型频率高,这样方便去理解,但并不是我们主观去这样设计的,是“果”不是“因”。

加微信,进群深度交流理想实际经营情况与长期基本面。不是智驾群,不是车友群。

图片
© 版权声明

相关文章

暂无评论

none
暂无评论...