文献阅读:Mixtral of Experts

1. 文章简介

这篇文章是今年1月份的时候由Mixtral发布的一篇文章,基本也是在挑战Transformer架构在LLM领域的统治地位,不过不同于RetNet以及Mamba,这篇文章在模型结构上并没有特别夸张的改动,主要是在应用层面进行创新,引入SMoE的机制,使用小模型在效果上逼近了GPT4,算是另辟蹊径向OpenAI发出了挑战吧,感觉对于创业者或者我们这种打工人影响会更大一些。

至于前文说的SMoE方法,全称即为Sparse Mixture of Experts,应该是受到了系综模型的启发,核心思想上还是将多个模型进行整合,然后期待整合后的模型效果优于原始的各个模型。

但是,原始的系统方法往往会引入更大的参数量,而这里则是将多个小模型进行整合,并在infer过程中进行剪枝,从而使得在增加有限开销的前提下效果获得显著提升,追上以GPT4为代表的典型大模型的效果。

下面,我们就来看一下文中对于SMoE的具体实现和对应的实验结果。

2. 方法介绍

首先,关于文中的SMoE的方法,事实上是在前作Mistral 7B进行的一个优化,关于这个工作,我之前也已经写了一篇小文章简单的介绍了一下这个工作(文献阅读:Mistral 7B),这里就不过多的展开赘述了。

而关于SMoE的话,就是在上述Mistral 7B模型的基础上对其进行整合,具体来说的话,就是将基于Transformer架构的Mistral 7B模型的FFN结构换成一个SMoE层。

而一个SMoE层,具体来说,就是将多个Mistral的层的输出经过一个sparse dense layer进行整合输出,也就是通过一个加权合并进行输出,整体结构如下图所示:

在这里插入图片描述

其公式表达如下:

y = ∑ i = 0 N − 1 G ( x ) i ⋅ E i ( x ) y = \sum\limits_{i=0}^{N-1} G(x)_i \cdot E_i(x) y=i=0N1G(x)iEi(x)

其中, E i ( x ) E_i(x) Ei(x)是每一个expert的输出结果, G ( x ) i G(x)_i G(x)i是第 i i i个expert的输出权重,其定义为:

G ( x ) = s o f t m a x ( t o p K ( x ⋅ W g ) ) G(x) = \mathop{softmax}(\mathop{topK}(x \cdot W_g)) G(x)=softmax(topK(xWg))

放到具体的模型当中,我们取Top2的结果,并使用SwiGLU作为激活函数,具体公式即为:

y = ∑ i = 0 N − 1 s o f t m a x ( t o p 2 ( x ⋅ W g ) ) i ⋅ S w i G L U ( x ) y = \sum\limits_{i=0}^{N-1} \mathop{softmax}(\mathop{top2}(x \cdot W_g))_i \cdot \mathop{SwiGLU}(x) y=i=0N1softmax(top2(xWg))iSwiGLU(x)

而SMoE的具体参数设置则如下所示:

在这里插入图片描述

3. 实验考察 & 结果

下面,我们来看一下文中给出的具体实验。

1. 基础实验

首先,我们来看一下文中给出的基础实验考察,即在几个常见的NLP任务下考察SMoE与其他大模型(GPT以及LLama)之间的效果对比:

  1. Commonsense Reasoning (0-shot)
  2. World Knowledge (5-shot)
  3. Reading Comprehension (0-shot)
  4. Math
  5. Code
  6. Popular aggregated results

得到实验结果如下:

  1. VS LLama

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

  2. VS GPT

    在这里插入图片描述

可以看到:

  • 在上述各类任务下,SMoE都达到了不输于LLama 2 70B以及GPT3.5的效果,还是非常不容易的,关键是参数量确实少啊,参数量明显少于其他两个模型的情况下达到不输于他们的效果,这个还是厉害的。

2. 细节特性考察

然后,文章展开看了一下SMoE的具体表现。

1. 多语言下的效果

首先,文中考察了一下多语言下的SMoE的效果如下:

在这里插入图片描述

可以看到,多语言的情况下似乎放大了SMoE的优势,其效果明显优于LLaMA 70B的模型效果。

2. Long Range考察

然后,文中还考察了一下长文本下的SMoE效果,得到结果如下:

在这里插入图片描述

可以看到,SMoE是长程有效的,PPL随着文本的增加持续是能够变好的。

3. Bias分析

最后,文中还考察了一下Bias的问题,即SMoE在有偏见问题下的效果,得到结果如下:

在这里插入图片描述

可以看到,除了在涉及宗教的问题上,SMoE都是全面优于LLama 70B的效果的。

3. 打榜结果

然后,文中将SMoE 8x7B模型进行了instruction finetune,然后去实际打了个榜,得到战绩如下:

在这里插入图片描述

可以看到,其效果仅次于claude和GPT4模型,确实是非常可以了。

4. routing分析

最后的话,文中还考察了一下SMoE的routing问题。

如前所述,SMoE本质上是一个MoE模型,引入了多个expert,然后通过softmax每次只激活2个expert,因此,这里主要就是想考查一下不同的任务下是否激活的expert会有所区分,也就是说,不同的expert是否会专注于不同类型的问题。

文中考察了一下不同层下在各个语料当中不同的expert被激活的比例,得到结果如下:

在这里插入图片描述

在这里插入图片描述

可以看到:

  1. 在多数问题下,expert的分工并没有特别明显,但是在数学问题上,expert的分工还是比较明显的;
  2. 且层数越往上,expert的分工越为明显;

文中还给出了两个具体的生成case来说明了一下expert的分工上并没有太大的差异性。

在这里插入图片描述

可以看到,不同的expert被激活的比例还是比较平均的,并没有看出特别的功能性差异。

4. 结论 & 思考

综上,文中给出了一个SMoE的系综模型,将多个Mistral 7B模型组装到了一起,并通过调整Softmax的TopK的方式,使得在有效参数和效果上取得一个balance,在infer成本不显著增加的情况下获得最优的模型效果。

这个文章之前感觉还是挺火的,各类公众号上均有转发,且由于模型是完全开源的,使用上也非常的友好,不过效果的话暂时我还没试过,后面再看看吧,蹲一波后续发展好了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值