共用方式為


Microsoft Fabric 中的機器學習模型

機器學習模型是已訓練的檔案,可以辨識特定類型的模式。 您可以使用一組資料來訓練模型,為其提供演算法,使其可用於透過那些資料集進行推理,並從中學習。 模型經過訓練之後,即可用於從先前沒看過的資料進行推理,並對該資料進行預測。

MLflow 中,機器學習模型可以包含多個模型版本。 在這裡,每個版本都可以代表模型反覆運算。 在本文中,您將了解如何與 ML 模型互動,以追蹤和比較模型版本。

建立機器學習模型

在 MLflow 中,機器學習模型包含標準封裝格式。 此格式允許在各種下游工具中使用這些模型,包括 Apache Spark 上的批次推斷。 格式會定義慣例,以不同的下游工具可以了解的不同「口味」儲存模型。

您可以從 Fabric UI 直接建立機器學習模型。 MLflow API 也可以直接建立模型。

若要從 UI 直接建立機器學習模型,您可以:

  1. 建立新的資料科學工作區,或選取現有的資料科學工作區。

  2. 從 [+ 新增] 下拉式清單中,選取 [模型] 以在資料科學工作區中建立空白模型。

    顯示 [新增] 下拉式功能表的螢幕擷取畫面。

  3. 建立模型之後,您可以開始新增模型版本,以追蹤執行計量和參數。 將實驗執行註冊或儲存至現有的模型。

您也可以使用 mlflow.register_model() API 直接根據您的製作體驗建立機器學習實驗。 如果具有指定名稱的已註冊機器學習模型不存在,API 會自動建立一個。

import mlflow

model_uri = "runs:/{}/model-uri-name".format(run.info.run_id)
mv = mlflow.register_model(model_uri, "model-name")

print("Name: {}".format(mv.name))
print("Version: {}".format(mv.version))

管理機器學習模型內的版本

機器學習模型包含模型版本的集合,可簡化追蹤和比較。 在模型中,資料科學家可以瀏覽各種模型版本,並探索基礎參數和計量。 資料科學家也可以跨模型版本進行比較,以識別較新的模型是否可能會產生更好的結果。

追蹤機器學習模型

機器學習模型版本代表已註冊的個別模型,可進行追蹤。

顯示模型的 [詳細資料] 畫面的螢幕擷取畫面。

每個模型版本皆包含以下資訊:

  • 建立時間:模型建立的日期與時間。
  • 執行名稱:用來建立此特定模型版本的實驗執行的識別碼。
  • 超參數:超參數會儲存為索引鍵/值組。 索引鍵和值都是字串。
  • 計量:執行儲存為索引鍵/值組的計量。 值為數值。
  • 模型結構描述/簽名:模型輸入和輸出的描述。
  • 已記錄的檔案:以任何格式記錄的檔案。 例如,您可以記錄影像、環境、模型和資料檔案。

比較和篩選機器學習模型

若要比較和評估機器學習模型版本的品質,您可以比較所選版本之間的參數、計量和中繼資料。

以視覺化方式比較機器學習模型

您可以視覺化方式比較現有模型中的執行。 視覺比較可讓您在多個版本之間輕鬆瀏覽和排序。

顯示要比較的執行清單的螢幕擷取畫面。

若要比較執行,您可以:

  1. 選取包含多個版本的現有機器學習模型。
  2. 選取 [檢視] 索引標籤,然後瀏覽至 [模型清單] 檢視。 您也可以直接從詳細資料檢視選取 [檢視模型清單] 的選項。
  3. 您可以自訂資料表中的資料列。 展開 [自訂資料行] 窗格。 在這裡,您可以選取您想要查看的屬性、計量和超參數。
  4. 最後,您可以選取多個版本,以在 [計量比較] 窗格中比較其結果。 在此窗格中,您可以變更圖表標題、視覺效果類型、X 軸、Y 軸等等,進而自訂圖表。

使用 MLflow API 比較機器學習模型

資料科學家也可以使用 MLflow 在工作區內儲存的多個模型之間搜尋。 請瀏覽 MLflow 文件,以探索用於模型互動的其他 MLflow API。

from pprint import pprint

client = MlflowClient()
for rm in client.list_registered_models():
    pprint(dict(rm), indent=4)

套用機器學習模型

在資料集上訓練模型之後,您可以將該模型套用至其從未看過的資料以產生預測。 我們將此模型稱為使用技術評分推斷。 如需有關 Microsoft Fabric 模型評分的詳細資訊,請參閱下一節。