適用於基礎模型的 Mosaic AI Model Training

重要

這項功能在下列區域開放公開預覽centraluseastuseastus2northcentraluswestus

透過 Mosaic AI Model Training (前身為 Foundation Model Training),您可以用自己的資料自訂基礎模型,然後為特定應用將模型效能最佳化。 對基礎模型進行完整的參數微調或持續訓練後,相較於從頭訓練模型,自行訓練模型耗用的資料、時間和運算資源可大幅減少。

Databricks 這個單一平台應有盡有:訓練用的個人資料、要訓練的基礎模型、儲存至 MLflow 的檢查點,以及已在 Unity Catalog 註冊且隨時可供部署的模型。

請參閱教學課程:建立和部署 Mosaic AI Model Training 回合,瞭解如何使用 Mosaic AI Model Training API 建立回合,然後使用 Databricks UI 和 Mosaic AI Model Serving 檢閱結果及部署模型。

Mosaic AI Model Training 是什麼?

Mosaic AI Model Training 讓您使用 Databricks API 或 UI 微調,或是進一步訓練基礎模型。

使用 Mosaic AI Model Training 可以:

  • 使用自訂資料訓練模型,並將檢查點儲存至 MLflow。 您保留已訓練模型的完整控制權。
  • 自動將模型註冊至 Unity Catalog,輕輕鬆鬆便可將模型部署為服務。
  • 載入先前訓練之模型的權數,進一步訓練已完成的專屬模型。

Databricks 建議您,下列情況不妨試用 Mosaic AI Model Training:

  • 您已嘗試進行幾次學習,希望改善結果。
  • 您已嘗試對現有模型進行提示工程,希望改善結果。
  • 基於資料隱私,您想擁有自訂模型的完整所有權。
  • 您對延遲或成本敏感度高,想針對特定工作資料使用更小也更便宜的模型。

支援的工作

Mosaic AI Model Training 支援下列使用案例:

  • 聊天完成:建議的工作。 用使用者與 AI 助理之間的聊天記錄訓練模型。 此格式可用於實際的聊天記錄,也可當成問題解答和交談文字的標準格式。 文字會自動格式化為適合特定模型的格式。 如需範本化的詳細資訊,請參閱 HuggingFace 文件的範例聊天範本
  • 受監督的微調:用結構化提示回覆資料訓練模型。 用這個方法配合新工作調整模型、變更其回覆風格,或新增指令遵循功能。 這項工作不會將任何格式設定自動套用至資料,而且唯有在需要自訂資料格式時才建議使用。
  • 繼續預先訓練:使用其他文字資料訓練模型。 使用這項功能將新知識新增至模型,或讓模型聚焦於特定領域。

需求

  • 下列其中一個 Azure 區域的 Databricks 工作區:centraluseastuseastus2northcentraluswestus
  • 使用 pip install databricks_genai 安裝的 Mosaic AI Model Training API。
  • 如果資料位於 Delta 資料表,需要 Databricks Runtime 12.2 LTS ML 或更新版本。

如需必要輸入資料格式的相關資訊,請參閱準備 Mosaic AI Model Training 用的資料

建議模型訓練使用的資料大小

Databricks 建議一開始用一到四個 Epoch 訓練。 評估微調的模型之後,如果希望模型輸出與訓練資料更相似,可以使用一到兩個以上 Epoch 開始繼續訓練。

如果模型處理微調資料未呈現之工作時,效能大幅降低,或者模型似乎輸出與微調資料一模一樣的複本,Databricks 建議減少訓練的 Epoch 數量。

針對受監督的微調和聊天完成,您應該至少為一個完整內容長度的模型提供足夠的權杖。 例如,meta-llama/Llama-2-7b-chat-hf 為 4096 個權杖,或者 mistralai/Mistral-7B-v0.1 則是 32768 個權杖。

針對持續預先訓練,Databricks 建議至少使用 150 萬個權杖,提高學習自訂資料之模型的品質。

支援的模型

下表列出支援的模型。 如需最新的支援模型及其相關聯的內容長度,請使用 get_models() 函式。


from databricks.model_training import foundation_model

foundation_model.get_models()

重要

Meta Llama 3.2 根據 LLAMA 3.2 Community License 獲得授權,Copyright © Meta Platforms, Inc。著作權所有,並保留一切權利。 客戶須負責確保其遵守此授權的條款,以及 Llama 3.2 可接受的使用原則

Meta Llama 3.1 根據 LLAMA 3.1 Community License 獲得授權,Copyright © Meta Platforms, Inc。著作權所有,並保留一切權利。 客戶應負責確保遵循適用的模型授權。

Llama 3 根據 LLAMA 3 Community License 獲得授權,Copyright © Meta Platforms, Inc。著作權所有,並保留一切權利。 客戶應負責確保遵循適用的模型授權。

Llama 2 與 Code Llama 模型根據 LLAMA 2 Community License 獲得授權,Copyright © Meta Platforms, Inc。著作權所有,並保留一切權利。 客戶應負責確保遵循適用的模型授權。

DBRX 係依 Databricks Open Model License 授權並受其約束,Copyright © Databricks, Inc。著作權所有,並保留一切權利。 客戶應負責確保遵循適用的模型授權,包括 Databricks 使用原則

Model 內容長度上限 備註
databricks/dbrx-base 32768
databricks/dbrx-instruct 32768
meta-llama/Llama-3.2-1B 131072
meta-llama/Llama-3.2-1B-Instruct 131072
meta-llama/Llama-3.2-3B 131072
meta-llama/Llama-3.2-3B-Instruct 131072
meta-llama/Meta-Llama-3.1-405B 131072
meta-llama/Meta-Llama-3.1-405B-Instruct 131072
meta-llama/Meta-Llama-3.1-70B 131072
meta-llama/Meta-Llama-3.1-70B-Instruct 131072
meta-llama/Meta-Llama-3.1-8B 131072
meta-llama/Meta-Llama-3.1-8B-Instruct 131072
meta-llama/Meta-Llama-3-70B 8192 在 2024 年 12 月 13 日之後,將不再支援此模型。 如需建議的替代方案,請參閱淘汰的模型
meta-llama/Meta-Llama-3-70B-Instruct 8192 在 2024 年 12 月 13 日之後,將不再支援此模型。 如需建議的替代方案,請參閱淘汰的模型
meta-llama/Meta-Llama-3-8B 8192 在 2024 年 12 月 13 日之後,將不再支援此模型。 如需建議的替代方案,請參閱淘汰的模型
meta-llama/Meta-Llama-3-8B-Instruct 8192 在 2024 年 12 月 13 日之後,將不再支援此模型。 如需建議的替代方案,請參閱淘汰的模型
meta-llama/Llama-2-7b-hf 4096 在 2024 年 12 月 13 日之後,將不再支援此模型。 如需建議的替代方案,請參閱淘汰的模型
meta-llama/Llama-2-13b-hf 4096 在 2024 年 12 月 13 日之後,將不再支援此模型。 如需建議的替代方案,請參閱淘汰的模型
meta-llama/Llama-2-70b-hf 4096 在 2024 年 12 月 13 日之後,將不再支援此模型。 如需建議的替代方案,請參閱淘汰的模型
meta-llama/Llama-2-7b-chat-hf 4096 在 2024 年 12 月 13 日之後,將不再支援此模型。 如需建議的替代方案,請參閱淘汰的模型
meta-llama/Llama-2-13b-chat-hf 4096 在 2024 年 12 月 13 日之後,將不再支援此模型。 如需建議的替代方案,請參閱淘汰的模型
meta-llama/Llama-2-70b-chat-hf 4096 在 2024 年 12 月 13 日之後,將不再支援此模型。 如需建議的替代方案,請參閱淘汰的模型
codellama/CodeLlama-7b-hf 16384 在 2024 年 12 月 13 日之後,將不再支援此模型。 如需建議的替代方案,請參閱淘汰的模型
codellama/CodeLlama-13b-hf 16384 在 2024 年 12 月 13 日之後,將不再支援此模型。 如需建議的替代方案,請參閱淘汰的模型
codellama/CodeLlama-34b-hf 16384 在 2024 年 12 月 13 日之後,將不再支援此模型。 如需建議的替代方案,請參閱淘汰的模型
codellama/CodeLlama-7b-Instruct-hf 16384 在 2024 年 12 月 13 日之後,將不再支援此模型。 如需建議的替代方案,請參閱淘汰的模型
codellama/CodeLlama-13b-Instruct-hf 16384 在 2024 年 12 月 13 日之後,將不再支援此模型。 如需建議的替代方案,請參閱淘汰的模型
codellama/CodeLlama-34b-Instruct-hf 16384 在 2024 年 12 月 13 日之後,將不再支援此模型。 如需建議的替代方案,請參閱淘汰的模型
codellama/CodeLlama-7b-Python-hf 16384 在 2024 年 12 月 13 日之後,將不再支援此模型。 如需建議的替代方案,請參閱淘汰的模型
codellama/CodeLlama-13b-Python-hf 16384 在 2024 年 12 月 13 日之後,將不再支援此模型。 如需建議的替代方案,請參閱淘汰的模型
codellama/CodeLlama-34b-Python-hf 16384 在 2024 年 12 月 13 日之後,將不再支援此模型。 如需建議的替代方案,請參閱淘汰的模型
mistralai/Mistral-7B-v0.1 32768
mistralai/Mistral-7B-Instruct-v0.2 32768
mistralai/Mixtral-8x7B-v0.1 32768

使用 Mosaic AI Model Training

Mosaic AI Model Training 可使用 databricks_genai SDK 存取。 下列範例會建立並啟動使用 Unity Catalog 磁碟區資料的訓練回合。 如需組態詳細資料,請參閱使用 Mosaic AI Model Training API 建立訓練回合

from databricks.model_training import foundation_model as fm

model = 'meta-llama/Meta-Llama-3.1-8B-Instruct'
# UC Volume with JSONL formatted data
train_data_path = 'dbfs:/Volumes/main/mydirectory/ift/train.jsonl'
register_to = 'main.mydirectory'
run = fm.create(
  model=model,
  train_data_path=train_data_path,
  register_to=register_to,
)

如需逐步說明資料準備、微調訓練回合組態和部署的指令微調範例,請參閱指令微調:具名實體辨識示範筆記本

限制

  • 大型資料集 (10B+ 權杖) 因為運算可用性,所以未獲支援。

  • 若為持續預先訓練,工作負載限制為 60-256MB 檔案。 大於 1GB 的檔案可能導致處理時間較長。

  • Databricks 致力於使用 Mosaic AI Model Training,提供可自訂的最新尖端模型。 新模型可供使用時,可能會移除從 API 或 UI 存取較舊的模型的功能、較舊的模型可能遭到淘汰,或是支援的模型可能更新。 請參閱生成式 AI 模型維護原則

  • Mosaic AI Model Training 僅支援使用私人連結後端儲存體的 Azure 工作區模型訓練。

    • 目前僅支援從 eastus2 中私人連結後端儲存體讀取資料。
  • 如果在將資料儲存於 Unity Catalog 的 Azure Data Lake Storage 帳戶啟用防火牆,您必須將 Databricks Serverless 資料平面叢集的流量加入允許清單,才能使用 Mosaic AI Model Training。 如需詳細資訊和可能的自訂解決方案,請連絡 Databricks 帳戶團隊。