2

一条磁力链爆全网,Mixtral 8x7B论文来了!碾压Llama 2 70B,每token仅需激活13B参数

 8 months ago
source link: https://www.aixinzhijie.com/article/6843322
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
2024-01-10 09:59

一条磁力链爆全网,Mixtral 8x7B论文来了!碾压Llama 2 70B,每token仅需激活13B参数

原文来源:新智元

FuIP3oCaR0iOab00jvFZXNQwXknZ.png

图片来源:由无界 AI生成

爆火社区的Mixtral 8x7B模型,今天终于放出了arXiv论文!所有模型细节全部公开了。

还记得一个月前,Mistral AI突然公布的一条磁力链接,引爆了整个AI社区。

紧接着,Mixtral 8x7B的技术细节随之公布,其表现不仅优于Llama 2 70B,而且推理速度提高了整整6倍。

甚至,它在大多数标准基准测试上与GPT-3.5打平,甚至略胜一筹。

今天,这家法国初创正式发布了Mixtral 8x7B混合专家模型(Mixtral of Experts)的论文。

FrMSIN-YQG5q6p3oSv_PXVG9di3-

论文地址:https://arxiv.org/abs/2401.04088

网友纷纷表示,最好的开源模型论文终于发布了。

Fol7OjC-8ePhcgnfJmyR4CENiW1i

具体技术细节,我们一探究竟。

架构

Mixtral是一个稀疏的混合专家网络,而且是一个纯解码器模型。其中前馈块从一组8个不同的参数组中进行选择。

在每一层,对于每个token,路由网络都会选择其中的两个组「专家」来处理token,并将它们的输出相加。

这项技术不仅增加了模型的参数数量,而且控制了成本和延迟,因为模型每处理一个token只会使用部分参数。

具体来说,Mixtral使用32000个token的上下文信息时进行了预训练。在多项基准测试中,它的性能达到或超过Llama 2 70B和GPT-3.5。

尤其,Mixtral在数学、代码生成和多语言理解任务方面,表现卓越,并在这些领域显着优于Llama 2 70B。

而且研究表明,Mixtral能够成功地从32k token的上下文窗口中检索信息,无论序列长度和信息在序列中的位置如何。

架构细节

Mixtra基于Transformer架构打造,并使用了「Mistral 7B」论文中一些模型修改方法。

但明显不同的是,Mixtral完全支持32k token的全密集上下文长度,并且前馈块被混合专家层(Mixture-of-Expert layer)所取代。先看如下表1,汇总了模型架构的具体参数。

Fq65DondEHYBw2qKGU_gbeTB24aV

稀疏混合专家

下图所示,研究人员具体介绍了混合专家层。

这是一个处理输入数据的特殊层,在这里,每个输入数据点都会被分配给8个处理单元(称为「专家」)中的2个。

这个分配过程是由一个路由完成的,但这里的路由并不是我们通常说的网络设备,而是神经网络中的一个组件,它负责决定哪些「专家」来处理特定的数据点。

FuFvBO00i4he8mI5MfA6jna-eeux

每个「专家」实际上是一个处理模块,它们各自独立处理被分配的数据,并输出结果。

最终,这层的输出结果是由这2个被选中的「专家」的输出经过特定的加权计算后得到的。

在Mixtral这个系统中,每个「专家」其实就是一个标准的前馈网络模块,这种模块也被用在了我们所说的标准Transformer模型架构中。

Fhn391YrzcXbZWzQmjh-OUlvyRe7

混合专家层(Mixture of Experts Layer)

MoE层可以在具有高性能专用内核的单个GPU上高效运行。

比如Megablocks将MoE层的前馈网络(FFN)操作转换为大型稀疏矩阵乘法,显着提高了执行速度,并自然地处理不同专家获得分配它们的可变数量token的情况。

此外,MoE层可以通过标准模型并行技术以及一种称为专家并行(EP)的特殊分区策略分布到多个GPU。

在MoE层执行期间,本应由特定专家处理的token将被路由到相应的GPU进行处理,并且专家的输出将返回到原始token位置。

结果

研究人员对Mixtral和Llama进行了对比研究,为了确保比较的公正性,并重新运行了所有的基准测试,这一次采用了内部开发的评估流程。

研究人员在多种不同的任务上进行了性能评估,这些任务可以分为以下几类:

- 常识推理(零样本):包括Hellaswag,Winogrande,PIQA,SIQA,OpenbookQA,ARC-Easy,ARC-Challenge,以及CommonsenseQA

- 世界知识(少样本,5个样本):涵盖了NaturalQuestions和TriviaQA

- 阅读理解(零样本):BoolQ和QuAC

- 数学:GSM8K(少样本,8个样本)使用了多数投票法(maj@8),以及MATH(少样本,4个样本)同样采用了多数投票法(maj@4)

- 编程代码:Humaneval(零样本)和MBPP(少样本,3个样本)

- 综合性测试:MMLU(少样本,5个样本),BBH(少样本,3个样本),还有AGI Eval(少样本,3至5个样本,仅限英语选择题)

可以看到,在所有基准测试中,Mixtral的表现都超过,或至少与Llama 2 70B相当。值得一提的是,在数学和代码生成这两个领域,Mixtral显著优于Llama 2 70B。

FppBM0qRGB3LSSO-HOEHQ5ROpADy

Mixtral与不同参数的Llama模型在一系列基准测试中的性能对比

如下表2展示了Mixtral 8x7B、Mistral 7B以及Llama 2 7B/13B/70B和Llama 1 34B的详细结果。

Fo2zgttkIzDmORTNRlD4y4aazMYL

模型参数规模与效率对比

研究人员将Mixtral模型的性能与Llama 2系列做了对比,目的是要探究Mixtral在成本与性能比上的高效性(图3)。

作为一种稀疏的混合专家模型(Sparse Mixture-of-Experts model),Mixtral每处理一个token只需激活13B参数。尽管活跃参数减少了5倍,但Mixtral在大部分领域的表现仍然超过了Llama 2 70B。

此外,需要指出的是,这项分析主要关注活跃参数的数量,这个数量直接关联到推理阶段的计算成本,不过并未涉及内存成本和硬件的使用效率。

用于运行Mixtral的内存成本与其稀疏参数的总数有关,总共为47B,这仍然比Llama 2 70B参数要少。

关于硬件的使用率,研究人员注意到由于专家模型的路由机制,SMoEs层会引入额外的计算成本。

而且当每个硬件设备运行多个专家模型时,由于内存需求增加,也会带来更高的成本。这种模型更适用于可以实现高运算密度的批量处理任务。

与Llama 2 70B和GPT-3.5的性能比较

在表3中,研究人员展示了Mixtral 8x7B与Llama 2 70B、GPT-3.5在性能上的对比结果。

通过对比,研究人员还发现Mixtral在多个方面表现媲美,甚至超越了另外两个模型。

在多模态学习理解(MMLU)的评测中,Mixtral尽管在模型参数量上较小(47B token对比70B),性能却更胜一筹。

至于机器翻译评测(MT Bench),研究人员则是报告了当前最新的GPT-3.5-Turbo模型,即gpt-3.5-turbo-1106版本的性能数据。

FjIOQq150CQUpZeH4Y5c3Tp5xqjq

可以看到,在所有基准测试中,Mixtral的表现普遍优于Llama 2 70B,唯一的例外是在阅读理解基准测试中,当其激活参数数量仅为Llama 2 70B的1/5时。

特别是在代码和数学领域,Mixtral显著胜过Llama 2 70B。

Fu7MZKZQgLhwNLcRqSvB_7NgCR1E

Mixtral(7B/8x7B)与 Llama 2(7B/13B/70B)在MMLU、常识推理、世界知识、阅读理解、数学和代码方面的比较结果

多语言基准

与Mistral 7B相比较,研究人员在模型预训练阶段,显著提高了多语言数据的比重。

这种增加的模型参数让Mixtral在多语种的性能评估中表现出色,同时还不损失对英语的准确度。

尤其值得一提的是,Mixtral在处理法语、德语、西班牙语和意大利语的任务上,明显胜过了Llama 2 70B,具体成绩可以参见表4。

Fs5T1cJYaJDRSbrgxdAu2myXCzzh

长距离性能

为了检验Mixtral在处理涉及广泛信息的情境下的表现,研究人员还提出了一项称为passkey检索的任务对其进行测试。

这项任务是专门设计来评估模型在面对一个包含随机插入的passkey的长篇提示信息时,恢复passkey的能力。

图4(左)的结果表明,无论上下文有多长或者passkey出现在文本序列的哪个位置,Mixtral都能保持100%的恢复精度。

而图4(右)则展示了Mixtral在proof-pile数据集的一个子集上的困惑度(perplexity),随着上下文量的增加,其困惑度呈现出单调下降的趋势。

FsdIZjDdLwFeT38TXuWjjfqTiYoC

指令微调

此外,研究人员还开发了Mixtral–Instruct模型,首先在一个指令数据集上进行了监督微调(SFT),然后在一个成对的反馈数据集上采用了直接偏好优化(DPO)。

在MT-Bench的评估中,Mixtral–Instruct取得了8.30的高分(表2),成为了截至2023年12月表现最佳的开源权重模型。

LMSys进行的人工评估结果显示在图6,结果表明Mixtral–Instruct的表现超越了GPT-3.5-Turbo、Gemini Pro、Claude-2.1以及Llama 2 70B chat模型。

FpQy_Vj7gmsmCfhouENlJsYjfQms

路由分析

最后,研究人员对路由器如何选择「专家」进行了简要分析。特别是在训练期间,是否会有「专家」选择专攻某些特定的领域(如数学、生物学、哲学等)。

为了探究这一点,研究人员对The Pile验证数据集的不同子集进行了「专家」选择分布的测量,结果如图7所示。涉及模型的第0层、第15层和第31层(最后一层)。

出乎意料的是,这里并没有发现明显的基于主题分配「专家」的模式。

比如,在所有层中,无论是arXiv论文(用LaTeX编写)、生物学领域(PubMed摘要)还是哲学领域(PhilPapers文件),「专家」的分配分布都非常相似。

只有在数学领域(DM Mathematics)中,「专家」的分布略有不同。

研究人员认为,这种差异可能是因为数据集本身是合成的,且对自然语言的覆盖上有限,尤其是在模型的第一层和最后一层,隐藏状态分别与输入和输出嵌入高度相关。

而这也表明,路由器确实表现出了一些结构化的句法行为。

FhuE_D7Ejc0V584cmnt8R9J_8GXU

图8展示了不同领域(Python 代码、数学和英语)的文本示例。其中,每个token都用不同的背景色标注,便于查看对应分配到的「专家」。

可以发现,像Python中的「self」和英文中的「Question」这样的词语,虽然包含有多个token,但往往被分配给同一个「专家」。同样,相邻的token也会被分配给同一位「专家」。

在代码中,缩进的token也总是被指派给相同的「专家」,这一点在模型的第一层和最后一层尤为显著,因为这些层的隐藏状态与模型的输入和输出更加紧密相关。

此外,根据The Pile数据集,研究人员还发现了一些位置上的邻近性(positional locality)。

Fr3GxebZx04gMDImtQFT9JSU9e7_

表5展示了在不同领域和网络层中,连续token被同一个「专家」选中的比例。

在网络的上层,这种连续性的重复分配远高于随机分配的概率。这一现象对于模型的优化——加速训练和推理过程,有重要的启示。

例如,在专家并行(Expert Parallelism)处理中,那些位置上具有高邻近性的情况更容易导致某些「专家」被过度使用。不过,这种邻近性也可以用于缓存技术。

Fixo60xiezw2QV2pGn9maZ0yxyCf

关于这些「专家」被选择的频率,图10提供了一个更全面的视角,涵盖了所有网络层和不同的数据集。

FrLd-mbB8EXKwx7vVp30yAy26rwP

结论

在这篇论文中,研究人员介绍了第一个性能达到SOTA的开源专家混合网络——Mixtral 8x7B。

在人类评估基准中,Mixtral 8x7B Instruct的表现超越了Claude-2.1、Gemini Pro以及GPT-3.5-Turbo。

Mixtral的一大特点是,它在处理每个token时,仅激活使用13B参数,而这一数值远低于Llama 2 70B所使用的70B参数。

现在,研究人员已经把训练和微调后的模型在Apache 2.0开源许可下公开,以便社区成员可以自由使用。

FkD3D0TEWflK0-F2Yujq04wSGXsJ

参考资料:

https://arxiv.org/abs/2401.04088

https://github.com/mistralai/mistral-src

https://mistral.ai/news/mixtral-of-experts/


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK