適用於基礎模型的 Mosaic AI Model Training
重要
這項功能在下列區域開放公開預覽:centralus
、eastus
、eastus2
、northcentralus
和 westus
。
透過 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 工作區:
centralus
、eastus
、eastus2
、northcentralus
或westus
。 - 使用
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 帳戶團隊。