使用 MLflow 實驗組織訓練執行
實驗是模型訓練執行的組織單位。 實驗有兩種類型:[工作區] 和 [筆記本]。
- 您可以從 Databricks Mosaic AI UI 或 MLflow API 建立工作區實驗。 工作區實驗不會與任何筆記本關聯,而且任何筆記本都可以使用實驗識別碼或實驗名稱來記錄這些實驗的執行。
- 筆記本實驗會與特定筆記本關聯。 當您使用 mlflow.start_run() 啟動執行時,Azure Databricks 會自動建立筆記本實驗。
若要查看您有權存取的工作區中的所有實驗,請在側邊欄中選取 [機器學習] > [實驗]。
建立工作區實驗
本節說明如何使用 Azure Databricks UI 建立工作區實驗。 您可以直接從工作區或從 [實驗] 頁面建立工作區實驗。
您也可以搭配 databricks_mlflow_experiment 使用 MLflow API 或 Databricks Terraform 提供者。
如需將執行記錄至工作區實驗的指示,請參閱記錄範例筆記本。
按下側邊欄中的 [工作區]。
瀏覽至您要在其中建立實驗的資料夾。
以滑鼠右鍵按一下資料夾,然後選取 [建立] > [MLflow 實驗]。
在 [建立 MLflow 實驗] 對話方塊中,輸入實驗的名稱和選用的成品位置。 如果您未指定成品位置,成品會儲存在 MLflow 管理的成品記憶體中:
dbfs:/databricks/mlflow-tracking/<experiment-id>
。Azure Databricks 支援 Unity 目錄磁碟區、Azure Blob 記憶體和 Azure Data Lake 記憶體成品位置。
在 MLflow 2.15.0 和更新版本中,您可以將成品儲存在 Unity 目錄磁碟區中。 當您建立 MLflow 實驗時,請將窗體
dbfs:/Volumes/catalog_name/schema_name/volume_name/user/specified/path
的磁碟區路徑指定為 MLflow 實驗成品位置。若要將成品儲存在 Azure Blob 儲存體中,請指定
wasbs://<container>@<storage-account>.blob.core.windows.net/<path>
形式的 URI。 儲存在 Azure Blob 儲存體中的成品不會出現在 MLflow UI 中;您必須使用 Blob 儲存體用戶端進行下載。注意
當您將成品儲存在 DBFS 以外的位置時,成品不會出現在 MLflow UI 中。 儲存在 DBFS 以外位置的模型無法在模型登錄中註冊。
按一下 [建立]。 空白實驗隨即出現。
也可以從 [實驗] 頁面建立新的工作區實驗。 若要建立新的實驗,請使用 下拉式功能表。 從下拉式功能表中,您可以選取 AutoML 實驗或空白 (空) 實驗。
AutoML 實驗。 [設定 AutoML 實驗] 頁面隨即顯示。 如需使用 AutoML 的詳細資訊,請參閱 什麼是 AutoML?。
空白實驗。 [建立 MLflow 實驗] 對話方塊隨即出現。 在對話方塊中輸入名稱和選用的成品位置,以建立新的工作區實驗。 預設成品位置為
dbfs:/databricks/mlflow-tracking/<experiment-id>
。若要記錄此實驗的執行,請使用實驗路徑呼叫
mlflow.set_experiment()
。 實驗路徑會出現在實驗頁面頂端。 如需詳細資料和範例筆記本,請參閱記錄範例筆記本。
建立筆記本實驗
當您在筆記本中使用 mlflow.start_run() 命令時,執行會將計量和參數記錄至作用中實驗。 如果沒有實驗處於作用中,Azure Databricks 即會建立筆記本實驗。 筆記本實驗會與其對應的筆記本共用相同的名稱和識別碼。 筆記本識別碼是筆記本 URL 和識別碼結尾的數值識別碼。
或者,您可以將 Azure Databricks 工作區路徑傳遞至 mlflow.set_experiment() 中的現有筆記本,以為其建立筆記本實驗。
如需將執行記錄至筆記本實驗的指示,請參閱記錄範例筆記本。
注意
如果您使用 API 刪除筆記本實驗 (例如,Python 中的 MlflowClient.tracking.delete_experiment()
),筆記本本身會移至 [垃圾桶] 資料夾。
檢視實驗
您有權存取的每個實驗都會出現在實驗頁面上。 您可以從此頁面檢視任何實驗。 按下實驗名稱,以顯示實驗頁面。
存取實驗頁面的其他方式:
- 您可以從工作區功能表存取工作區實驗的實驗頁面。
- 您可以從筆記本存取筆記本實驗的實驗頁面。
若要搜尋實驗,請在 [篩選實驗] 欄位中鍵入文字,然後按 "Enter" 或按下放大鏡圖示。 實驗清單會變更為僅顯示 [名稱]、[建立者]、[位置] 或 [描述] 資料行中包含搜尋文字的實驗。
按下資料表中任何實驗的名稱,以顯示其實驗頁面:
實驗頁面會列出與實驗相關聯的所有執行。 從資料表中,您可以按下其實驗的 [執行名稱] 來開啟與實驗關聯的任何執行的執行頁面。 [來源] 資料行讓您能夠存取建立執行的筆記本版本。 您也可以依計量或參數設定來搜尋和篩選執行。
檢視工作區實驗
- 按下側邊欄中的 [工作區]。
- 移至包含實驗的資料夾。
- 按下實驗名稱。
檢視筆記本實驗
在筆記本右側的側邊欄中,按一下 [實驗] 圖示。
[實驗執行] 側邊欄隨即出現,並顯示與筆記本實驗關聯的每個執行摘要,包括執行參數和計量。 側邊欄的頂端是最近記錄的執行到的實驗名稱 (筆記本實驗或工作區實驗)。
您可以從側邊欄瀏覽至實驗頁面,或直接瀏覽執行。
- 若要檢視實驗,請按兩下 [實驗執行] 旁邊的最右邊。
- 若要顯示執行,請按下執行的名稱。
管理實驗
您可以從實驗頁面、[實驗] 頁面或工作區功能表,重新命名、刪除或管理您擁有的實驗的權限。
注意
您無法直接重新命名、刪除或管理由 Databricks Git 資料夾中筆記本建立的 MLflow 實驗的權限。 您必須在 Git 資料夾層級執行這些動作。
從實驗頁面或 [實驗] 頁面重新命名實驗
重要
這項功能處於公開預覽狀態。
若要從實驗頁面或 [實驗] 頁面重新命名實驗,請按下 並選取 [重新命名]。
從工作區功能表重新命名實驗
- 按下側邊欄中的 [工作區]。
- 移至包含實驗的資料夾。
- 以滑鼠右鍵按一下實驗名稱,然後選取 [重新命名]。
複製實驗名稱
若要複製實驗名稱,請按下 [實驗] 頁面頂端的 。 您可以在 MLflow 命令 set_experiment
中使用此名稱來設定作用中的 MLflow 實驗。
您也可以從筆記本中的實驗側邊欄複製實驗名稱。
刪除筆記本實驗
筆記本實驗是筆記本的一部分,且無法個別刪除。 當您刪除筆記本時,即會刪除關聯的筆記本實驗。 當您使用 UI 刪除筆記本實驗時,亦會刪除筆記本。
若要使用 API 刪除筆記本實驗,請使用工作區 API 來確保筆記本和實驗都會從工作區中刪除。
從工作區功能表刪除工作區實驗
- 按下側邊欄中的 [工作區]。
- 移至包含實驗的資料夾。
- 以滑鼠右鍵按一下實驗名稱,然後選取 [移至垃圾桶]。
已從實驗頁面或 [實驗] 頁面刪除工作區或筆記本實驗
重要
這項功能處於公開預覽狀態。
若要從實驗頁面或 [實驗] 頁面刪除實驗,請按下 並選取 [刪除]。
當您刪除筆記本實驗時,亦會刪除筆記本。
變更實驗的權限
若要從 [實驗] 頁面變更實驗的權限,請按下 [共用]。
您可以從 [實驗] 頁面變更您擁有的實驗的權限。 按下 [動作] 資料行中的 ,然後選取 [權限]。
如需有關實驗權限等級的資訊,請參閱 MLflow 模型 ACL。
在工作區之間複製實驗
若要在工作區之間移轉 MLflow 實驗,您可以使用社群驅動開放原始碼專案 MLflow Export-Import。
使用這些工具,您可以:
- 與相同或另一個追蹤伺服器中的其他資料科學家共用和共同作業。 例如,您可以將實驗從另一個使用者複製到您的工作區。
- 將 MLflow 實驗和執行從本機追蹤伺服器複製到 Databricks 工作區。
- 將任務關鍵性實驗和模型備份至另一個 Databricks 工作區。