上周中的时候, 同事给我了一份线上DeepSeek-R1推理的Expert激活的数据用来研究一些专家负载均衡的算法, 当然这些线上数据来自于公司内部的请求, 从中观测出前面10层专家基本上是相对均衡的, 而越到后面不均衡程度差异越大. 当时讨论到这个问题时, 是怀疑内部的一些请求是否专注于电商领域而带来的不平衡特性, 于是做了一些研究. 恰好搜到Intel的一篇论文
《Semantic Specialization in MoE Appears with Scale: A Study of DeepSeek-R1 Expert Specialization》
[1]
有一些基于语义的MoE分析专家的专业性相关的问题, 再加上前几天看到某个公众号采访某院长的一个比较有趣的说法:“Dense模型适合toB业务,MoE模型适合toC业务”. 因此做了一些分析, 在此记录下来.
1. 专家Overlap分析
从这篇论文的第一个Word-in-Context的实验来看, DeepSeek-R1的前面十层专家Overlap的概率相对于较高, 和线上的一些数据分析是一致的.
比较特别的是在第十层后,不同语义和相似语义之间的区分度完全显现出来了, 而模型本身因为细粒度MoE(256选8)而产生的区分度也显著降低了, 同时论文还对比了Mistral的两个MoE模型, 它采用8选2的方式, 看来语义间对不同专家的区分度有很大的差距. 这个结论也支撑了DeepSeek逐渐向更加细粒度专家的技术路线的正确性, DeepSeek MoE相关的技术演进以前写过一篇
《详细谈谈DeepSeek MoE相关的技术发展》
当然产生这样的结果有几方面可能的因素:
-
Shared Expert的重要性, 通过Shared Expert消除了一些专家之间的影响, 使得Routed Expert Overlap的概率降低?
-
-
R1强化学习的工作流对于Expert Specialization进一步增强了?
但是值得注意的是另一个问题是, 在模型的后面20层内, 层间的Overlap的差异还是很大的, 并且没有进一步的下降, 这个和我拿到的线上的数据分布也是相似的.
这里引入一个思考, 每一层模型的AlltoAll通信时间实际上是受到分布式部署的带宽和延迟约束的, 因此模型深度过深后将会影响到TPOT, 虽然可以用一些ScaleUP的办法来解决, 但是看看GB200的可靠性和成本, 这种取舍是不太恰当的.另一方面, 看到上图中第40层overlap有明显的抖动, 一方面是模型在后面的层中还可以更加稀疏来进一步降低Overlap, 是否也会有一个类似的ScalingLaw我们在稍微后面的章节来分析.
2. SAE分析
这篇论文另一个亮点是基于Sparse Auto Encoder的特征来分析专家的路由模式. 关于SAE以前写过几篇分析
《谈谈大模型可解释性》
《谈谈DeepMind会做算法导论的TransNAR并引出基于SAE-GNN的可组合Transformer猜想》
从论文中SAE的分析来看, 能够得出不同的专家在负责不同的推理以及认知专业化的结论, 这和DeepSeek设计细粒度MoE和专家专业化的初衷是匹配的.
其实渣B一直在建议从SAE的角度来分析大模型, 并通过对SAE Activation的约束来作为强化学习工作流的一种手段,
SAE对于概念的可视化解释, Anthropic和OAI都做了相应的可视化展示, 例如Anthropic的多模态对金门大桥的概念
OAI和Claude都在这方面有了蛮长时间的布局, 而国内相对还是落后了一些.
3. 从范畴论的视角看R1
这是一个烂尾很久的专题, 一直想抽一周的时间来好好分析并写一篇笔记, 但是最近几个月不停的在各种项目的死线上挣扎. 先简短的写一些吧. 其实R1的整个训练流程从范畴论的意义上来看:
-
首先是V3-Base的模型本质上是通过一系列数据集的Pre-train流程构成了一个预层范畴(Presheaf).
-
R1-Zero是基于V3-Base的Presheaf上来强化了一些Morphism的权重, 而这些权重在MoE模型的底子上使得模型具有了更强的泛化能力.
-
然后在V3-Base的基础上混合R1-Zero的Coldstart数据和一些General samples来构建最终的R1
比较好奇的是在整个后训练的过程中, 不知道DeepSeek是否记录了梯度更新的情况, 感觉这个地方配合SAE做一些分析可能会有更多的发现, 个人觉得虽然ORM取得了很好的结果, 而PRM本身还有一些过程上的缺陷, 是否可以在SAE的视角上来看出更多的原因, 并且某种意义上还可以给ORM训练输出一些更加抽象泛化的约束能力.