Mixtral of Experts


TL;DR

本文提出了一种名为 Mixtral 8x7B 的稀疏专家混合 (Sparse Mixture of Experts, SMoE) 模型,该模型在推理时仅激活一小部分参数(13B),却在性能上超越了参数量大得多的密集模型(如 Llama 2 70B),显著提升了模型的计算效率和性能。

关键定义

相关工作

当前的大语言模型领域,SOTA(State-of-the-Art)模型如 Llama 2 70B 和 GPT-3.5,通过不断增大模型参数量来提升性能。然而,这导致了巨大的计算成本和高昂的推理延迟,限制了它们在实际应用中的部署和可及性。

本文旨在解决这一核心问题:如何在不显著增加推理计算成本的前提下,继续扩大模型的参数规模以提升其性能。具体来说,本文试图通过稀疏激活的方式,构建一个既拥有大模型知识容量、又具备小模型推理效率的语言模型。

本文方法

Mixtral 8x7B 是一个基于 Transformer 架构的仅解码器 (decoder-only) 模型。其核心创新在于将 Transformer 层中的标准前馈网络 (FFN) 替换为了稀疏专家混合 (SMoE) 层。

Mixture of Experts Layer

架构细节

Mixtral 的整体架构与 Mistral 7B 相似,但关键区别在于 FFN 层的替换。其主要参数如下表所示。模型支持 32k tokens 的上下文长度。

参数
维度 (dim) 4096
层数 (n_layers) 32
头数 (n_heads) 32
FFN 隐藏层大小 (hidden_dim) 14336
kv 头数 (n_kv_heads) 8
窗口大小 (window_size) 32768
词表大小 (vocab_size) 32000
专家数量 (n_experts) 8
每 token 激活专家数 (num_experts_per_tok) 2

创新点:稀疏专家混合层

该方法的核心是 SMoE 层的设计。对于每一层的每一个输入 token \(x\),其输出 \(y\) 的计算过程如下:

  1. 路由选择 (Routing):一个路由器网络(可学习的线性层 \(W_g\))计算每个 token 与8个专家的相关性分数。然后,通过 \(TopK\) 函数选择分数最高的 K=2 个专家。

    \[G(x) := \text{Softmax}(\text{TopK}(x \cdot W_g))\]

    其中 \(TopK\) 函数会将未被选中的专家的 logits 设为 \(−∞\)。

  2. 专家计算 (Expert Computation):被选中的两个专家(每个都是一个 SwiGLU 网络)分别对输入 token \(x\) 进行计算,得到各自的输出 \(E_i(x)\)。

  3. 加权组合 (Weighted Combination):最终的层输出是这两个专家输出的加权和,权重由路由器的 Softmax 输出决定。

    \[y = \sum_{i=0}^{n-1} G(x)_i \cdot E_i(x) = \sum_{i \in \text{Top2}} \text{Softmax}(\text{logits})_i \cdot \text{SwiGLU}_i(x)\]

    由于路由器是稀疏的(只选择2个),因此在每一层,每个 token 只需调用8个专家中的2个,极大地减少了计算量。

优点

实验结论

性能对比

Mixtral 在广泛的基准测试中表现出色,其性能通常优于或持平于 Llama 2 70B 和 GPT-3.5。

Performance Comparison

模型 激活参数 MMLU GSM8K HumanEval MBPP
LLaMA 2 70B 70B 69.9% 13.8% 29.3% 49.8%
GPT-3.5 - 70.0% 57.1% - 52.2%
Mixtral 8x7B 13B 70.6% 28.4% 40.2% 60.7%

Efficiency Comparison

多语言能力

通过在预训练数据中有意增加多语言数据的比例,Mixtral 在多语言基准测试中显著优于 Llama 2 70B。

模型 Arc-c (French) HellaS (German) MMLU (Spanish)
LLaMA 2 70B 49.9% 68.7% 66.0%
Mixtral 8x7B 58.2% 73.0% 72.5%

长上下文能力

在 Passkey 检索任务中,Mixtral 能够在长达 32k tokens 的上下文中实现 100% 的信息检索准确率,证明了其强大的长程依赖建模能力。

Long Range Performance

指令微调

经过指令微调和直接偏好优化(DPO)后得到的模型 Mixtral 8x7B – Instruct,在 MT-Bench 上得分 8.30,并在 LMSys 平台上的人类评估中超越了 GPT-3.5 Turbo、Claude-2.1 和 Gemini Pro,成为当时最强的开源指令模型。

Model Arena Elo rating License
Claude-2.1 1117 Proprietary
GPT-3.5-Turbo-0613 1117 Proprietary
Gemini Pro 1111 Proprietary
Llama-2-70b-chat 1077 Llama 2
Mixtral-8x7b-Instruct-v0.1 1121 Apache 2.0

路由器分析

对路由器行为的分析显示,专家们并没有像预想中那样形成基于主题(如数学、生物学)的明确分工。不同主题的文本在各层的专家分配分布非常相似。然而,模型展现出了一定的句法结构和位置局部性:例如,代码中的缩进、特定关键词(如 \(self\))以及连续的 token 倾向于被分配给相同的专家。这表明专家的特化可能发生在更底层的模式上,而非高级语义概念。

Expert Assignment Examples

最终结论

本文成功地证明,Mixtral 8x7B 作为首个性能达到 SOTA 水平的开源 SMoE 模型,能够在性能上超越规模远大于自身的密集模型,同时保持了极高的推理效率。这一成果为开发兼具强大能力和高效部署的大语言模型提供了新的范式。