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)所使用的微調資料集與超參數細節亦未公開。

Sources