使用 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 實驗時,請將磁碟區路徑格式指定為您的 MLflow 實驗工件位置
dbfs:/Volumes/catalog_name/schema_name/volume_name/user/specified/path
,如以下程式碼所示:EXP_NAME = "/Users/first.last@databricks.com/my_experiment_name" CATALOG = "my_catalog" SCHEMA = "my_schema" VOLUME = "my_volume" ARTIFACT_PATH = f"dbfs:/Volumes/{CATALOG}/{SCHEMA}/{VOLUME}" mlflow.set_tracking_uri("databricks") mlflow.set_registry_uri("databricks-uc") if mlflow.get_experiment_by_name(EXP_NAME) is None: mlflow.create_experiment(name=EXP_NAME, artifact_location=ARTIFACT_PATH) mlflow.set_experiment(EXP_NAME)
若要將成品儲存在 Azure Blob 儲存體中,請指定
wasbs://<container>@<storage-account>.blob.core.windows.net/<path>
形式的 URI。 儲存在 Azure Blob 儲存體中的成品不會出現在 MLflow UI 中;您必須使用 Blob 儲存體用戶端進行下載。注意
當您將成品儲存在 DBFS 以外的位置時,成品不會出現在 MLflow UI 中。 儲存在 DBFS 以外位置的模型無法在模型登錄中註冊。
按一下 [建立]。 新實驗的實驗詳細數據頁面隨即出現。
若要記錄此實驗的執行,請使用實驗路徑呼叫
mlflow.set_experiment()
。 若要顯示實驗路徑,請按兩下實驗名稱右側的資訊圖示 。 如需詳細資料和範例筆記本,請參閱記錄範例筆記本。
從 [實驗] 頁面建立實驗
若要建立基礎模型微調、AutoML 或自定義實驗,請按一下 實驗,或選取左側邊欄中的 新增 > 實驗。
在頁面頂端,選取下列其中一個選項來設定實驗:
- 基礎模型微調。 [基礎模型微調] 對話框隨即出現。 如需詳細資訊,請參閱 使用基礎模型微調介面建立訓練階段。
- 預測。 [設定預測實驗] 對話框 隨即出現。 如需詳細資訊,請參閱 設定 AutoML 實驗。
- 分類。 設定分類實驗對話框 隨即出現。 如需詳細資訊,請參閱 使用 UI 設定分類實驗。
- 回歸。 [設定分類實驗] 對話框隨即出現。 如需詳細資訊,請參閱 使用 UI 設定回歸實驗。
- 自訂。 [建立 MLflow 實驗] 對話方塊隨即出現。 如需詳細資訊,請參閱 從工作區建立實驗中的步驟 4。
建立筆記本實驗
當您在筆記本中使用 mlflow.start_run() 命令時,執行會將計量和參數記錄至作用中實驗。 如果沒有實驗處於作用中,Azure Databricks 即會建立筆記本實驗。 筆記本實驗會與其對應的筆記本共用相同的名稱和識別碼。 筆記本識別碼是筆記本 URL 和識別碼結尾的數值識別碼。
或者,您可以將 Azure Databricks 工作區路徑傳遞至 mlflow.set_experiment() 中的現有筆記本,以為其建立筆記本實驗。
如需將執行記錄至筆記本實驗的指示,請參閱記錄範例筆記本。
注意
如果您使用 API 刪除筆記本實驗 (例如,Python 中的 MlflowClient.tracking.delete_experiment()
),筆記本本身會移至 [垃圾桶] 資料夾。
檢視實驗
您有權存取的每個實驗都會出現在實驗頁面上。 您可以從此頁面檢視任何實驗。 按兩下實驗名稱以顯示實驗詳細數據頁面。
其他存取實驗詳細數據頁面的方式:
- 您可以從工作區功能表存取工作區實驗的實驗詳細數據頁面。
- 您可以從筆記本存取筆記本實驗的實驗詳細數據頁面。
若要搜尋實驗,請在 [篩選實驗] 欄位中鍵入文字,然後按 "Enter" 或按下放大鏡圖示。 實驗清單會變更為僅顯示 [名稱]、[建立者]、[位置] 或 [描述] 資料行中包含搜尋文字的實驗。
點選數據表中任何實驗的名稱,以顯示其實驗詳細數據頁面:
實驗詳細資訊頁面會列出與實驗相關聯的所有運行。 從資料表中,您可以按下其實驗的 [執行名稱] 來開啟與實驗關聯的任何執行的執行頁面。 [來源] 資料行讓您能夠存取建立執行的筆記本版本。 您也可以依計量或參數設定來搜尋和篩選執行。
檢視工作區實驗
- 按下側邊欄中的 [工作區]。
- 移至包含實驗的資料夾。
- 按下實驗名稱。
檢視筆記本實驗
在筆記本右側的側邊欄中,按一下 [實驗] 圖示。
[實驗執行] 側邊欄隨即出現,並顯示與筆記本實驗關聯的每個執行摘要,包括執行參數和計量。 側邊欄的頂端是最近記錄的執行到的實驗名稱 (筆記本實驗或工作區實驗)。
您可以從側邊欄瀏覽至實驗詳細數據頁面,或直接瀏覽至測試運行。
- 若要檢視實驗,請按兩下 [實驗執行] 旁邊的最右邊。
- 若要顯示執行,請按下執行的名稱。
管理實驗
您可以從實驗頁面、實驗詳細數據頁面或工作區功能表,重新命名、刪除或管理您擁有之實驗的許可權。
注意
您無法直接重新命名、刪除或管理由 Databricks Git 資料夾中筆記本建立的 MLflow 實驗的權限。 您必須在 Git 資料夾層級執行這些動作。
重新命名實驗
您可以從 實驗 頁 或該實驗的詳細資訊頁面重新命名您擁有的實驗。
- 在 [實驗] 頁面上,點擊最右邊的欄位中的 [],然後點擊 [重新命名 ]。
- 在實驗詳細資料頁面上,按一下旁邊的kebab選單 許可權,然後按一下 [重新命名] 。
您可以從工作區重新命名工作區實驗。 以滑鼠右鍵點擊實驗名稱,然後按下 重新命名。
取得實驗標識碼和實驗路徑
在實驗詳細數據頁面上,您可以按下實驗名稱右側的資訊圖示 ,以取得筆記本實驗的路徑。 隨即會出現快顯附注,顯示實驗的路徑、實驗標識碼和成品位置。 您可以使用 MLflow 命令中的實驗識別碼 set_experiment
來設定作用中的 MLflow 實驗。
從筆記本中,您可以點擊 [路徑] 圖示
刪除筆記本實驗
筆記本實驗是筆記本的一部分,且無法個別刪除。 當您刪除筆記本時,即會刪除關聯的筆記本實驗。 當您使用 UI 刪除筆記本實驗時,亦會刪除筆記本。
若要使用 API 刪除筆記本實驗,請使用工作區 API 來確保筆記本和實驗都會從工作區中刪除。
刪除工作區或筆記本實驗
您可以從 實驗頁面 或實驗詳細數據頁面刪除您擁有的實驗。
重要
當您刪除筆記本實驗時,亦會刪除筆記本。
- 在 [
實驗 ] 頁面上,點選最右邊資料行的 kebab 選單 ,然後點選 [刪除]。
- 在實驗詳細數據頁面上,按一下 kebab menu
旁的Kebab menu 許可權 ,然後按一下 [刪除]。
您可以從工作區中刪除工作區實驗。 用滑鼠右鍵點擊實驗名稱,然後點擊 移至垃圾桶。
變更實驗的許可權
若要從 實驗詳細資料頁面變更實驗的權限,請點擊 [許可權]。
您可以從 實驗 頁面變更您擁有之實驗的許可權。 請點選最右邊資料行的 ,然後點選 [許可權]。
如需有關實驗權限等級的資訊,請參閱 MLflow 模型 ACL。
在工作區之間複製實驗
若要在工作區之間移轉 MLflow 實驗,您可以使用社群驅動開放原始碼專案 MLflow Export-Import。
使用這些工具,您可以:
- 與相同或另一個追蹤伺服器中的其他資料科學家共用和共同作業。 例如,您可以將實驗從另一個使用者複製到您的工作區。
- 將 MLflow 實驗和執行從本機追蹤伺服器複製到 Databricks 工作區。
- 將任務關鍵性實驗和模型備份至另一個 Databricks 工作區。