Microsoft Fabric 中的自動記錄
Microsoft Fabric 中的 Synapse 資料科學包含自動記錄功能,這可大幅減少在訓練期間自動記錄機器學習模型參數、計量和項目所需的程式碼數量。 本文說明 Microsoft Fabric 中 Synapse 資料科學的自動記錄。
自動記錄可擴充 MLflow 追蹤功能,並深入整合至 Microsoft Fabric 體驗中的 Synapse 資料科學。 自動記錄可以擷取各種計量,包括正確性、遺失、F1 分數,以及您定義的自訂計量。 藉由使用自動記錄,開發人員和資料科學家可以輕鬆地追蹤和比較不同模型和實驗的效能,而不需要手動追蹤。
支援的架構
自動記錄支援各種不同的機器學習架構,包括 TensorFlow、PyTorch、Scikit-learn 和 XGBoost。 若要深入了解自動記錄擷取的架構特定屬性,請參閱 MLflow 文件。
組態
自動記錄的工作原理是,在訓練時自動擷取機器學習模型的輸入參數、輸出計量和輸出項目的值。 此資訊接著會記錄到 Microsoft Fabric 工作區,您可在其中使用 MLflow API 或 Microsoft Fabric 工作區中的對應實驗和模型項目來存取和視覺化該資訊。
當您啟動 Synapse 資料科學筆記本時,Microsoft Fabric 會呼叫 mlflow.autolog() 以立即啟用追蹤並載入對應的相依性。 當您在筆記本中訓練模型時,MLflow 會自動追蹤此模型資訊。
當您執行 import mlflow
時,組態會在幕後自動發生。 筆記本 mlflow.autolog() hook 的預設組態為:
mlflow.autolog(
log_input_examples=False,
log_model_signatures=True,
log_models=True,
disable=False,
exclusive=True,
disable_for_unsupported_versions=True,
silent=True
)
自訂
若要自訂記錄行為,您可以使用 mlflow.autolog() 組態。 此組態提供參數來啟用模型記錄、收集輸入範例、設定警告,或針對您指定的新增內容啟用記錄。
追蹤更多計量、參數和屬性
針對使用 MLflow 建立的執行,更新 MLflow 自動記錄組態,進而追蹤其他計量、參數、檔案和中繼資料,如下所示:
更新 mlflow.autolog() 呼叫以設定
exclusive=False
。mlflow.autolog( log_input_examples=False, log_model_signatures=True, log_models=True, disable=False, exclusive=False, # Update this property to enable custom logging disable_for_unsupported_versions=True, silent=True )
使用 MLflow 追蹤 API 來記錄其他參數和計量。 下列範例程式碼可讓您記錄自訂計量和參數以及其他屬性。
import mlflow mlflow.autolog(exclusive=False) with mlflow.start_run(): mlflow.log_param("parameter name", "example value") # <add model training code here> mlflow.log_metric("metric name", 20)
停用 Microsoft Fabric 自動記錄
您可以停用特定筆記本工作階段的 Microsoft Fabric 自動記錄。 您也可以使用工作區設定來停用所有筆記本的自動記錄功能。
停用筆記本工作階段的自動記錄
若要停用特定筆記本工作階段的 Microsoft Fabric 自動記錄,請呼叫 mlflow.autolog() 並設定 disable=True
。
import mlflow
mlflow.autolog(disable=True)
停用筆記本和工作階段的自動記錄
工作區系統管理員可以使用工作區設定,為其工作區中的所有筆記本和工作階段啟用或停用 Microsoft Fabric 自動記錄。 若要啟用或停用 Synapse 資料科學自動記錄:
在 Synapse 資料科學工作區中,選取 [工作區設定]。
在 [工作區設定] 畫面上,展開左側導覽列的 [資料工程師/科學],然後選取 [Spark 設定]。
在 [Spark 設定] 畫面上,選取 [自動記錄] 索引標籤。
將 [自動追蹤機器學習實驗和模型] 設定為 [開啟] 或 [關閉]。
選取 [儲存]。