《
deepseek原理应用与实践》
10.deepseek极限潜能 - DeepEP
deepseek开源周,继Flash-MLA之后,开源了
第二弹DeepEP
。
画外音:上一顿还没消化完,新的大餐又来了。
今天简单聊聊:
1. 吃瓜:
DeepEP是干嘛的?
2. 技术:
DeepEP是怎么做到的?
3. 普通人有什么用:
对写提示词有什么启示?
【1】
DeepEP是干嘛的?
DeepEP,
Distributed Expert Parallel Communication Library
,是为
混合专家MOE
与
并行专家EP
量身定制
(tailored)
的
通信库
(communication library)
。
DeepEP通讯库能达到什么效果?
1. 降低延时;
2. 提升吞吐量;
其背后就是:训练/计算更快,成本更低,模型迭代更快。
【2】
它是怎么做到的
?
核心思路:优化MOE混合专家节点间的数据分发与合并。
混合专家,Mixture of Experts,该模型思路
不再追求大而全,转而追求多而专精
。它会将任务动态路由给各个领域专家,并将各个领域专家的输出进行组合。
混合专家模型
:Java,FE,QA,DBA,OP工程师...
如今:训练多专家Expert(例如:1万个专家,每个专家
单一职责
SRP)
2.
动态路由
(需要一个
门控网络
作为协调者,
Gating Network
),分发任务给专家,专家
并行计算
;
新的模式,不管是训练阶段还是执行阶段,专家节点之间都
需要进行大量的通讯,而DeepEP就好比节点间的智能物流
:
1. NVLink优化,好比建成城际高铁
,负责同一节点内专家高速通讯,交换数据,带宽高达160GB/s,接近硬件极限;
2. RDMA
优化
,好比
建成
跨城磁悬浮
,负责跨节点专家高速通讯,跨节点直接访问内存,带宽高达50GB/s;
3. FP8
优化
,低精度运算,好比货物压缩
,更省空间,能交换更多信息;
专家分发
(Dispatch)
:数据快速精准分配给多个专家;
数据合并
(Combine)
:汇总各个专家的处理结果,统筹形成最终数据;
为了充分发挥deepseek的混合专家MOE的最大潜力,可以
显性告诉它,你希望它扮演哪些专家角色来回复问题。
good case
:
假设你是由以下专家组成的团队
:
请分别从各自领域提出5项技术选型建议,并组合
设计
方案满足每秒10万次交易,数据满足最终一致性,故障恢复时间小于30秒的系统。
没错,你不止可以让deepseek扮演一个角色,你甚至
可以让他扮演专家团的多个角色
。此时
处理时间并不会显著增长,但输出质量会显著提高
。
节省训练资源,缩短回复时间,提升回答质量,多个专家还能够交叉验证(大而全模型可能过拟合)
,deepseek创新性使用MOE之后,很快就得到了业界的广泛认可与复制。
稍作总结
1.
DeepEP,是为
混合专家MOE
量身定制
的
通信库
;
2.
DeepEP的核心思路是:
优化MOE混合专家节点间的数据分发与合并;