最近几周我自学了deepseek的原理、应用和实践,现在和大家分享一下我的成果:
关于小众关心的deepseek核心技术原理; 关于大众关心的提示词如何编写。今天我们来聊聊deepseek的核心机制之一——混合专家(MOE)。
什么是混合专家(MOE)?
混合专家(Mixture of Experts)是一种不再追求大而全,而是追求多而专精的模型思路。它会将任务动态路由给各个领域的专家,并将各个专家的输出进行组合。
这个概念可能有点抽象,举个容易理解的例子。
大而全模型:全栈工程师。
混合专家模型:Java工程师、前端工程师、测试工程师、数据库管理员、运维工程师...
大而全模型有什么不足之处?
训练时间长:培养一个“全栈”工程师需要很长时间; 计算性能差:面对一个产品需求,设计、编码、上线的周期较长; 回复不深入:什么都懂,但都不精,往往浅尝辄止。而混合专家模型则能够很好地解决上述几个问题:
培养一个Java工程师的周期更短; 需求评审后,Java、前端、测试等多个专家可以并行设计、编码、上线; Java、前端、测试等专人专岗,专业性更高。有了MOE之后,对LLM的架构有哪些影响?
在学习与训练阶段:
之前:追求多参数。
如今:训练多个专家(例如:1万个专家,每个专家单一职责SRP)。
在计算与执行阶段:
之前:收到提示词input,直接开始处理。
如今:
先判断需要几个专家(分类任务,很容易); 动态路由(需要一个门控网络作为协调者,Gating Network),分发任务给专家,专家并行计算; 组合专家输出,协调者再统筹输出。input[提示词] --> 专家分类{专家E1E2...En}
门控网络 --> E1E2...En
E1 --> O1[输出1]
E2 --> O2[输出2]
...
En --> On[输出n]
O1O2...On --> 统筹输出[output]
MOE对我们写提示词,获取更佳的回答质量有什么启示呢?
如果觉得AI回复缺乏深度,可以明确告诉它,你希望它扮演什么专家角色来回答问题。
画外音:模型分类出来的专家角色不一定100%准确。
bad case:如何设计高并发高可用系统?
这样的提示词,你会得到一个泛泛而谈的回答。
good case:假设你是由以下专家组成的团队:
分布式领域系统架构师 电商领域业务架构师 资深DBA请分别从各自领域提出5项技术选型建议,并组合设计方案满足每秒10万次交易,数据满足最终一致性,故障恢复时间小于30秒的系统。
节省训练资源,缩短回复时间,提升回答质量,多个专家还能够交叉验证(大而全模型可能过拟合),deepseek创新性使用MOE之后,很快就得到了业界的广泛认可与复制。
deepseek,流弊!
总结:
MOE是deepseek的核心创新应用之一; 从此大模型从“大而全”转向“多而精”; 通过在提示词中明确指定deepseek的专家角色,能够最大化发挥MOE的潜力。一切的一切,提示词只有适配了AI的认知模式,才能最高效地发挥最大的作用。
知其然,知其所以然。
思路比结论更重要。
补充阅读材料:
《MOE简述》
https://www.php.cn/link/8b78421d9ab29962ef6082f8233fbcec
以上就是别TM浪费算力了,这样才能最大限度发挥deepseek的潜能 - MOE(第3讲)的详细内容,更多请关注楠楠科技社其它相关文章!