分享方式:


Microsoft Fabric 中的機器學習模型

機器學習模型是經過定型的檔案,可辨識特定類型的模式。 您可以透過一組數據來定型模型,並提供演算法,該演算法會用來推論及從該數據集學習。 在定型模型之後,您可以使用模型來對從未見過的數據進行推理,並針對該數據進行預測。

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

建立機器學習模型

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

您可以從網狀架構 UI 直接建立機器學習模型。 MLflow API 也可以直接建立模型。

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

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

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

    Screenshot showing the New drop-down menu.

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

您也可以直接從 API 撰寫體驗 mlflow.register_model() 建立機器學習實驗。 如果具有指定名稱的已註冊機器學習模型不存在,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))

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

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

追蹤機器學習模型

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

Screenshot showing the details screen of a model.

每個模型版本都包含下列資訊:

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

比較和篩選機器學習模型

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

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

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

Screenshot showing a list of runs for comparison.

若要比較執行,您可以:

  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 模型評分的詳細資訊,請參閱下一節。