【AI杂谈】你们怎么都MoE了?
花师小哲-中二
编辑于 2024年02月20日 23:08
收录于文集
共39篇

最近值得发专栏的论文不是很多,但是AI相关专栏确实一段时间没写了,最近比较重大的事件可能就是Gemini 1.5和Sora,后者应该还挺出圈的,不过我不打算讲,CV真的不熟,但是今天看到了这么一篇文章:

好嘛,一次蹭三个模型,这次借着Gemini 1.5来谈谈MoE

1.Gemini简介

为了避免有些人不认识Gemini,简单介绍下,Gemini是谷歌发布的对标GPT-4的模型,在语言能力方面基本能和GPT-4掰掰手腕(虽然目前看一些群里的反馈,基本上是各有千秋,但我个人是看到不少人更喜欢GPT-4),并且Gemini是高贵的原生多模态大模型,能做很多GPT-4还做不来的事情。

前不久,谷歌又展示了Gemini 1.5,虽然1.5只有Pro版本,但性能能够比肩Gemini 1.0 Ultra,其实谷歌之所以能够这么快出新模型,主要是因为不需要新的数据来训练。

另一个特点是Gemini 1.5的输入token非常长,百万token,而且还能够准确发现信息,这个确实厉害

2.大家开始用MoE

其实很早之前我就提到过MoE,而且业界不少人也都知道这个模型,但是长久以来很少模型用MoE架构,原因其实很简单,一写论文中也都有作者谈过,即Transformer的生态太好了,你要搞MoE还要另起炉灶搞其他的东西,包括前不久也是很火的Mamba(可恶,mamba论文我还没来得及看呢)以及更早的RetNet、RWKV没火起来一定程度上也是这个原因。

而最近我们可以看到很多模型都开始用MoE了,甚至GPT-4基本半实锤是MoE了(主要疑点是参数量到底多少、多少分支之类的),其他的还有DeepSeekMoE等等。其实近期MoE模型出来好几个应该主要是Mistral的功劳,因为Mistral先开源了一个MoE,然后大家就开始效仿了。毕竟从Transformer转到MoE是不需要重新收集数据的,所以出的往往也比较快。

不过谷歌在自己的Gemini 1.5报告中写到“谷歌其实一直都有在关注MoE哦”,这个也确实,毕竟MoE某种程度上确实是前几年谷歌重新挖掘出来的,例如GLaM。

3.MoE是什么

不过说了那么多,MoE到底是什么意思呢?翻译其实有很多种,我这里采用“混合专家”。

简单来说,我们之前训练的模型往往只有一个专家,我们希望这个专家能够回答一切领域的一切问题,例如ChatGPT,虽然每个领域都没有真的专家那么专业,但是在知识的广度上真的能吊打各路专家。

听说过模型集成的朋友可能知道,“三个臭皮匠,顶个诸葛亮”,没错,往往几个弱模型合在一起就能够比较强模型。

MoE也是类似于集成的思想,现在我们不需要一个全知全能的专家,我们找一群各个领域的专家,然后遇到具体的问题时看情况请教对应的几个专家就够了。当然,在模型训练中每个专家干什么不是事先约定好的,而是训练出来的(虽然也有Pangu-Σ这样可以即插即用专家的方法),而且实际上是每层都分专家,而不是简单的总结下好几个模型的输出就行了。

没错,有些朋友已经注意到了,MoE实际上并不是一个和Transformer这样的架构互斥的架构,而是正交架构,也就是我们可以杂交MoE+Transformer、MoE+Mamba等,甚至不同的专家的架构也可以不同,我们所说的MoE往往是MoE+Transformer。

MoE有什么特点呢?一个是所需的存储空间更大但计算用到的参数更少。举个简单的例子,GPT-3是175B的参数,我们假设一个和GPT-3性能差不多的MoE,那么它的架构可能是这样的,一个专家50B,一共8个专家(当然,还是记住,MoE是每层都是8个专家的配置,这里只是方面说明),那么参数总共是400B,但是我们的MoE模型一次只激活一个专家,实际用于计算的参数只有50B,这个就比175B小多了;另一个是研究显示MoE的泛化性能等是要比Transformer好的。