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)的超参数细节也未披露。