解碼專家混合模型 Mixtral:完整指南

解碼專家混合模型 Mixtral:完整指南

Mixtral 專家混合模型指的是採用 SMoE 技術的 Mixtral 8x7B 和 Mixtral 8x22B。在我們的部落格中探索 Mixtral 專家混合模型的功能與應用。

重點摘要

  • Mixtral 8x7B 和 Mixtral 8x22B 是由 Mistral AI 開發的領先開源語言模型。
  • 這些模型採用稀疏混合專家 (SMoE) 架構,其中 Mixtral 8x22B 在 141B 總參數中僅使用 39B 活躍參數。
  • Mixtral 在各種任務中表現出色,包括程式碼生成、多語言理解和長上下文處理,其性能超越了更大的語言模型。
  • 其卓越的性能,加上開源特性,使 Mixtral 成為開發人員尋求將進階 AI 功能整合到應用程式中的強大工具。

簡介

自然語言處理領域不斷演進,新進展持續提升我們的能力,而 Mixtral 模型正是一個典範。本指南將詳細探討在 Transformer 架構中採用專家混合方法的 Mixtral,內容涵蓋其特性、功能,以及在依賴語言處理的產業中的潛在應用。

什麼是 Mixtral 專家混合模型?

什麼是 Mixtral 7B 和 Mixtral 8x22B?

由 Mistral AI 開發的 Mixtral 8x7B 和 Mixtral 8x22B 是先進的大型語言模型。Mixtral 8x7B 和 Mixtral 8x22B 是開源權重模型,以高效率著稱。這些模型採用 Apache 2.0 授權,提高了可及性。它們對於需要自訂和微調的任務尤其有價值,具有更快的效能、更高的可攜性和更好的控制等關鍵特性。

什麼是稀疏混合專家?

Mixtral 採用稀疏混合專家 (SMoE) 方法來提升效率。它不是同時使用所有參數,而是採用路由器網路為每個輸入標記選擇一小組專家。這種精準選擇能專注於相關的模型元件來提升效能,並由 MoE 層中的門控網路完成。透過僅啟用必要的參數,Mixtral 實現了更高的吞吐量,能更快地處理資訊,非常適合處理大型資料集的複雜 NLP 任務。

稀疏混合專家架構

Mixtral 的能力

借助分組查詢注意力和滑動視窗注意力等創新技術,Mixtral 能夠透過模型並行化快速處理複雜任務。Mixtral 可以利用先進的訓練策略將複雜問題分解為較簡單的問題。MoE 層中來自不同專家輸出結果的加權總和,增強了其捕捉單一結構模型可能遺漏的複雜性的能力。

Mixtral 專家混合模型的技術特性

Mixtral 8x7B

  • 多語言能力:英文、法文、義大利文、德文和西班牙文
  • 強大的程式碼生成能力
  • 微調為指令遵循模型
  • 32K 標記的上下文視窗

Mixtral 8x22B

  • 64K 標記的上下文視窗
  • 精通英文、法文、義大利文、德文和西班牙文
  • 強大的數學和程式碼能力
  • 原生支援函式呼叫

Mixtral 的效能基準

下圖為 Mixtral 8x22B 和 Mixtral 8x7B 的效能圖表,數據來自社群提供的模型。Mixtral 8x22B 是 Mistral 開源模型系列中的最新模型。憑藉稀疏激活模式,它是 70B 模型更強大的替代方案,且超越了其他開源權重模型。其作為基礎模型的可用性,使其非常適合針對各種使用案例進行微調。

Mixtral 8x22B 和 Mixtral 8x7B 效能(MMLU)

在推理能力方面,Mixtral 8x7B 和 Mixtral 8x22B 也優於 Llama 2 70B,後者是當前將大型語言模型擴展到廣泛使用但在訓練數據中代表性不足的語言的基礎模型。

Mixtral 8x7B 和 Mixtral 8x22B 常識與推理基準

這些 Mixtral 專家混合模型在程式碼和數學能力方面表現出色。Mixtral 每個標記僅使用 130 億活躍參數,就超越了其前身 Llama 2 70B,從 700 億參數大幅減少,節省了運算成本。

Mixtral 8x7B 和 Mixtral 8x22B 程式碼效能

Novita AI 提供這兩個模型,您可以查看我們的 LLM Model API 了解詳細資訊。

Novita AI Mixtral 8x22B 模型描述、價格

Novita AI Mixtral 8x7B 模型描述、價格

Mixtral 的實際應用

Mixtral 的技術實力不僅限於其自身能力。它生成類人文字的能力使其非常適合程式碼生成、語言翻譯和內容創作。作為開源模型,Mixtral 可廣泛應用於各行業。開發人員可以根據特定需求調整模型,因為它有助於開發新的方法和應用。

內容生成

Mistral of Experts 及任何 LLM 的主要應用之一是根據初始提示生成文字。此功能的核心在於模型在包含來自各個領域的大量文字的多樣化資料集上進行了廣泛訓練。透過這種廣泛訓練,模型可以掌握不同的寫作風格、主題和語言結構,使其能夠在滿足特定語氣或內容要求方面表現出色。

Novita AI Mixtral 8x22B 內容生成測試

情緒分析

Mistral 的情緒分析基於深度學習,能夠在對話中準確檢測文字中的正面、負面和中性情緒。它利用對多樣化資料集的廣泛訓練來推斷情緒語氣,並區分不同內容類型中的情緒。您可以要求 Mistral 分析特定文字的情緒。

Novita AI Mixtral 8x22B 情緒分析測試

Mixtral 8x22B 範例程式碼

from openai import OpenAI
  
client = OpenAI(
    base_url="https://api.novita.ai/v3/openai",
    # 取得 Novita AI API 金鑰,請參考:/docs/get-started/quickstart.htmll#_3-create-an-api-key
    api_key="<YOUR Novita AI API Key>",
)

model = "cognitivecomputations/dolphin-mixtral-8x22b"
stream = True # or False
max_tokens = 512

chat_completion_res = client.chat.completions.create(
    model=model,
    messages=[
        {
            "role": "system",
            "content": "Act like you are a helpful assistant.",
        },
        {
            "role": "user",
            "content": "Hi there!",
        }
    ],
    stream=stream,
    max_tokens=max_tokens,
  )

if stream:
    for chunk in chat_completion_res:
        print(chunk.choices[0].delta.content or "", end="")
else:
    print(chat_completion_res.choices[0].message.content)

文字翻譯與多語言任務

Mistral 在處理多語言任務方面也表現優異。經過專門訓練,Mistral 能夠理解和生成多種語言的文字,特別是法文、德文、西班牙文和義大利文。對於需要以多種語言溝通的企業和使用者來說,Mistral 尤其有價值。

Novita AI Mixtral 8x7B 文字翻譯與多語言測試

程式碼生成

根據給定的輸入,Mistral of Experts 模型在程式碼生成方面表現出色,能將高階描述轉換為多種程式語言的高效程式碼。它利用程式碼倉庫、技術文件和開發者論壇的訓練資料來滿足需求,並確保功能性和最佳化。

Novita AI Mixtral 8x7B 程式碼生成測試

Mixtral 8x7B 範例程式碼

from openai import OpenAI
  
client = OpenAI(
    base_url="https://api.novita.ai/v3/openai",
    # 取得 Novita AI API 金鑰,請參考:/docs/get-started/quickstart.htmll#_3-create-an-api-key
    api_key="<YOUR Novita AI API Key>",
)

model = "Nous-Hermes-2-Mixtral-8x7B-DPO"
stream = True # or False
max_tokens = 512

chat_completion_res = client.chat.completions.create(
    model=model,
    messages=[
        {
            "role": "system",
            "content": "Act like you are a helpful assistant.",
        },
        {
            "role": "user",
            "content": "Hi there!",
        }
    ],
    stream=stream,
    max_tokens=max_tokens,
  )

if stream:
    for chunk in chat_completion_res:
        print(chunk.choices[0].delta.content or "", end="")
else:
    print(chat_completion_res.choices[0].message.content)

開發人員使用 Mixtral 指南:LLM API

將 Mixtral 模型整合到應用程式中對開發人員來說是一個令人興奮的機會。它是開源的,可以根據特定需求進行客製化。為了有效利用 Mixtral,開發人員必須瞭解其功能和 API。我們推薦使用 Novita AI,它提供經濟高效的 LLM API 整合,這個 AI API 平台配備了特色模型和價格實惠的 LLM 解決方案。

開始使用 Novita AI API

  • 步驟 1:進入 Novita AI 並建立帳戶。您可以使用 Google 或 GitHub 登入。首次登入將建立一個新帳戶。使用電子郵件地址註冊也沒問題。

Novita AI 網站,登入或註冊

  • **步驟 2:管理 API 金鑰 **。Novita AI 使用請求標頭中的 API 金鑰進行 Bearer 認證來驗證 API 存取。前往 “Key Management” 管理您的金鑰。首次登入後,會自動建立一個預設金鑰。您也可以點擊 “+ Add new key” 新增金鑰。

Novita Ai 金鑰管理,API 金鑰

  • 步驟 3:**進行 API 呼叫 **。前往 Model API Reference,輸入您的 API 金鑰以繼續後續任務。

Novita AI LLM API,開發人員參考、範例、範例程式碼

以下是使用 Novita AI Chat Completions API 的 Python 用戶端範例。

pip install 'openai>=1.0.0'
from openai import OpenAIclient = OpenAI(
    base_url="https://api.novita.ai/v3/openai",
    # 取得 Novita AI API 金鑰,請參考:https://novita.ai/docs/get-started/quickstart.html#_2-manage-api-key.
    api_key="<YOUR Novita AI API Key>",
)model = "Nous-Hermes-2-Mixtral-8x7B-DPO"
stream = True # or False
max_tokens = 512chat_completion_res = client.chat.completions.create(
    model=model,
    messages=[
        {
            "role": "system",
            "content": "Act like you are a helpful assistant.",
        },
        {
            "role": "user",
            "content": "Hi there!",
        }
    ],
    stream=stream,
    max_tokens=max_tokens,
 )if stream:
    for chunk in chat_completion_res:
        print(chunk.choices[0].delta.content or "", end="")
else:
    print(chat_completion_res.choices[0].message.content)
  • **步驟 4:充值點數 **。如第一步所述,您會獲得一張包含點數的優惠券來試用我們的產品,但點數有限。若要增加點數,請前往 Billing and Payments,並遵循 Payment Methods 指南。

結論

總之,以 MoE 為核心架構的 Mixtral 專家混合模型是一項新技術,它將智能的 AI 功能與不同行業的實際應用相結合。它在特定任務(如生成程式碼、故事和翻譯)上表現更好,使其成為當今機器學習數位世界中獨特的工具。企業可以透過將 Mixtral 與現有系統整合並遵循良好實踐來充分利用其力量,這將有助於他們更具創造力並保持競爭優勢。擁抱 Mixtral 的力量,在快速發展的 AI 世界中取得成功。

常見問題

Mistral 和 Mixtral 有什麼不同?

採用稀疏混合專家架構的 Mixtral 相較於 Mistral 具有更強的能力。它能以更快的速度和效率處理複雜的語言任務,且計算需求更低。

Mixtral 是用什麼訓練的?

Mixtral 使用 32,000 個標記的廣泛上下文大小進行訓練,並在各項基準測試中表現出與 Llama 2 70B 和 GPT-3.5 相當的性能。

Mixtral 需要 GPU 嗎?

要使用 Mixtral 8X22B 進行推理,需要至少 300GB 記憶體的 GPU。對於 Mixtral 8x7B,根據標準指南,通常需要約 94GB 的 VRAM。

Mixtral 可以用於商業用途嗎?

Mixtral 8x7B 和 Mixtral 8x7B — Instruct 均採用 Apache 2.0 授權,允許學術和商業用途。

Novita AI 是滿足您 AI 抱負的全方位雲端平台。整合 API、無伺服器、GPU 實例 — 您需要的經濟高效工具。消除基礎設施,免費開始,讓您的 AI 願景成真。

推薦閱讀

  1. 介紹 Mixtral-8x22B:最新且最大的專家混合大型語言模型

  2. Mixtral 8x22b 秘密揭露:全面指南

  3. 介紹 Mistral 的 Mixtral 8x7B 模型:您需要知道的一切