视频字幕
去年开始MOE的模型特别火,我们熟悉的DeepSeek也是MOE架构的。那到底什么叫MOE呢?如果简单理解的话,MOE其实类似于让专人做专事。所以核心思想就是我们有很多的模型,然后让我们的输入选择一个合适的模型,然后得到相应的输出。
我来举个例子,比如我们有一个患者,然后他去了医院,然后说了一下自己的病情。然后呢,导诊的医生告诉他跟他病情相应的一些科室,然后根据个人的病情导诊说他可能要去看呼吸科。因为是感冒,然后根据他的症状也有可能跟感染相关,所以他也建议去看感染科。
那么下面把这个流程呢我们映射到MOE的流程。那跟patient对应的在这里是token。就是每一个token进来之后,我需要做一个处理,处理完之后呢,我们会输出一个结果叫output。所以在这里一个token它首先进入一个所谓的叫导诊系统,那对应的导诊系统在这里我们把它叫router。
然后这个router它会根据当前的token会去从这么多的模块里面会选择可能我们几个2到3个模块进行触发。所以对于这个token来讲,它会进入其中的可能两个模块。那剩下的模块呢对这个token来讲,它是不起到作用的,是没有被激活的。如果我们形象的描述的话,可能有token,像数字类的那第二个expert它可能会擅长。
但相反训练这类的模型,其实它的难度也是比较大的那为什么呢?那这里就涉及到我们在设计这套系统中的一些原则。那这里面有几个原则,第一个我们把它叫做sparse,叫稀疏。第二个diverse就是多样化。然后第三个,合理的分配。如何通过训练保证这些特性,是在MOE的大模型训练过程里面必须要考虑的点。
我来举个例子,比如我们有一个患者,然后他去了医院,然后说了一下自己的病情。然后呢,导诊的医生告诉他跟他病情相应的一些科室,然后根据个人的病情导诊说他可能要去看呼吸科。因为是感冒,然后根据他的症状也有可能跟感染相关,所以他也建议去看感染科。那这里的呼吸科医生,我们可以把它看作是一个expert,叫专家。那类似的感染科医生呢,也可以把它看作是一个专家。那假如看完了医生,那最终可能有一个诊断的结果以及治疗方案。
那么下面把这个流程呢我们映射到MOE的流程。那跟patient对应的在这里是token。就是每一个token进来之后,我需要做一个处理,处理完之后呢,我们会输出一个结果叫output。所以在这里一个token它首先进入一个所谓的叫导诊系统,那对应的导诊系统在这里我们把它叫router。然后这个router会决定我这个token适合要去找哪个expert。
在MOE模型里面呢,一般我们会有不同的模块,这是我们的第一个模块。第二个、第三个可能很多。然后这个router它会根据当前的token会去从这么多的模块里面会选择可能我们几个2到3个模块进行触发。所以对于这个token来讲,它会进入其中的可能两个模块。那剩下的模块呢对这个token来讲,它是不起到作用的,是没有被激活的。然后最后这两个模块的结果,我们会把它合在一起,最后给一个输出。
但相反训练这类的模型,其实它的难度也是比较大的那为什么呢?那这里就涉及到我们在设计这套系统中的一些原则。那这里面有几个原则,第一个我们把它叫做sparse,叫稀疏。然后第二个diverse就是多样化。然后第三个,合理的分配。如何通过训练保证这些特性,是在MOE的大模型训练过程里面必须要考虑的点。而且这种思想其实并不是一个很新的思想。比如说在传统的AI里面呢,我们有一个分支叫集成学习。虽然集成学习跟这种学习会有一些区别,但是核心的理念是差不多的,就是让多个expert共同去做决策。