Mixtral 8x7B 发布说明

Mixtral 8x7B 发布说明

Mixtral 8x7B 是一款高性能的大型语言模型,采用 Mixture of Experts(MoE)架构,以实现开放获取模型的最新水平。它在许多基准测试中超越 Llama 2 70B,并匹配或超过 GPT-3.5,提供了在 Apache 2.0 许可证下的商业宽松替代方案。

Mixture of Experts(MoE)架构

Mixtral 8x7B 使用稀疏的 Mixture of Experts(MoE)技术,用包含路由网络的 MoE 层取代标准的前馈层。该路由器在每个时间步选择两个专家,以最高效地处理 token。

虽然名称暗示有 56B 参数,但模型实际约有 45B 参数。这是因为仅复制了前馈块;其他参数与 7B 模型保持相同。该架构使得 Mixtral 即使拥有更大的有效参数量,也能以 12B 参数密集模型的解码速度运行。

关键能力与性能

Mixtral 8x7B 提供基础版和 Instruct 版,规格如下:

  • 上下文窗口: 支持 32k token 的上下文长度。
  • 多语言支持: 精通英语、法语、德语、西班牙语和意大利语。
  • 编码能力: 在 HumanEval 基准上取得 40.2%。
  • 基准性能:
    • 基础模型在 Open LLM Leaderboard 上得分 68.42,超过 Llama-2-70b(67.87)。
    • Mixtral Instruct 在 MT-Bench 上得分 8.30,超越所有其他开放获取模型,性能可比拟 GPT-3.5-turbo-0613(8.32)。

推理与硬件需求

可以通过 Hugging Face pipeline() 函数或使用 Text Generation Inference(TGI)进行生产级部署来进行推理。由于模型体积,VRAM 需求随精度而异:

精度 所需 VRAM
float16 >90 GB
8-bit >45 GB
4-bit >23 GB

对于硬件受限的用户,可以使用 bitsandbytes 或 GPTQ 进行 4 位量化。GPTQ 量化特别避免对专家门控层进行量化,以保持性能,导致困惑度为 4.40,而半精度模型为 4.25。

微调与优化

Mixtral 可以使用 Hugging Face TRL 库在单个 A100 GPU 上进行微调。为优化内存,推荐使用 4 位量化和 QLoRA。技术指南规定仅应针对注意力块中的线性层(q_proj、k_proj、v_proj、o_proj),不应针对 MLP 层,因为它们是稀疏的且与 Parameter-Efficient Fine-Tuning(PEFT)配合不佳。

实现细节

提示格式

基础模型没有特定的提示格式。Instruct 模型需要特定的对话结构以有效使用:

<s> [INST] User Instruction 1 [/INST] Model answer 1</s> [INST] User instruction 2[/INST]

已知限制

目前尚未公开关于预训练数据集规模、组成或预处理方法的细节。此外,关于 Instruct 模型的微调数据集以及监督微调(SFT)和直接偏好优化(DPO)的超参数细节也未披露。

Sources