Mixtral 8x7B 發行說明
Mixtral 8x7B 是一款高效能的大型語言模型,採用混合專家(MoE)架構,以在開放存取模型中達到最先進的成果。它在多項基準測試中超越 Llama 2 70B,並與或超過 GPT-3.5,提供在 Apache 2.0 許可下的商業寬容替代方案。
混合專家(MoE)架構
Mixtral 8x7B 採用稀疏的混合專家(MoE)技術,以 MoE 層取代標準的前饋層,該 MoE 層包含一個路由網路。此路由器在每個時間步選擇兩位專家,以最有效率地處理 token。
雖然名稱暗示有 56 億參數,實際上模型約有 45 億參數。這是因為僅複製了前饋區塊;其他參數與 7B 模型相同。此架構使 Mixtral 即使有效參數量較大,仍能以相當於 12 億參數密集模型的解碼速度運行。
主要功能與效能
Mixtral 8x7B 提供基礎版與指令版兩種,具備以下規格:
- 上下文窗口: 支援 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 層不應被針對,因其為稀疏結構且與參數效率微調(PEFT)相容性不佳。
實作細節
提示格式
基礎模型沒有特定的提示格式。指令模型需要特定的對話結構才能有效使用:
<s> [INST] User Instruction 1 [/INST] Model answer 1</s> [INST] User instruction 2[/INST]
已知限制
目前尚未公開有關預訓練資料集大小、組成或前處理方法的細節。此外,指令模型的監督式微調(SFT)與直接偏好優化(DPO)所使用的微調資料集與超參數細節亦未公開。