Microsoft Fabric 中的機器學習模型
機器學習模型是已訓練的檔案,可以辨識特定類型的模式。 您可以使用一組資料來訓練模型,為其提供演算法,使其可用於透過那些資料集進行推理,並從中學習。 模型經過訓練之後,即可用於從先前沒看過的資料進行推理,並對該資料進行預測。
在 MLflow 中,機器學習模型可以包含多個模型版本。 在這裡,每個版本都可以代表模型反覆運算。 在本文中,您將了解如何與 ML 模型互動,以追蹤和比較模型版本。
建立機器學習模型
在 MLflow 中,機器學習模型包含標準封裝格式。 此格式允許在各種下游工具中使用這些模型,包括 Apache Spark 上的批次推斷。 格式會定義慣例,以不同的下游工具可以了解的不同「口味」儲存模型。
您可以從 Fabric UI 直接建立機器學習模型。 MLflow API 也可以直接建立模型。
若要從 UI 直接建立機器學習模型,您可以:
建立新的資料科學工作區,或選取現有的資料科學工作區。
從 [+ 新增] 下拉式清單中,選取 [模型] 以在資料科學工作區中建立空白模型。
建立模型之後,您可以開始新增模型版本,以追蹤執行計量和參數。 將實驗執行註冊或儲存至現有的模型。
您也可以使用 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))
管理機器學習模型內的版本
機器學習模型包含模型版本的集合,可簡化追蹤和比較。 在模型中,資料科學家可以瀏覽各種模型版本,並探索基礎參數和計量。 資料科學家也可以跨模型版本進行比較,以識別較新的模型是否可能會產生更好的結果。
追蹤機器學習模型
機器學習模型版本代表已註冊的個別模型,可進行追蹤。
每個模型版本皆包含以下資訊:
- 建立時間:模型建立的日期與時間。
- 執行名稱:用來建立此特定模型版本的實驗執行的識別碼。
- 超參數:超參數會儲存為索引鍵/值組。 索引鍵和值都是字串。
- 計量:執行儲存為索引鍵/值組的計量。 值為數值。
- 模型結構描述/簽名:模型輸入和輸出的描述。
- 已記錄的檔案:以任何格式記錄的檔案。 例如,您可以記錄影像、環境、模型和資料檔案。
比較和篩選機器學習模型
若要比較和評估機器學習模型版本的品質,您可以比較所選版本之間的參數、計量和中繼資料。
以視覺化方式比較機器學習模型
您可以視覺化方式比較現有模型中的執行。 視覺比較可讓您在多個版本之間輕鬆瀏覽和排序。
若要比較執行,您可以:
- 選取包含多個版本的現有機器學習模型。
- 選取 [檢視] 索引標籤,然後瀏覽至 [模型清單] 檢視。 您也可以直接從詳細資料檢視選取 [檢視模型清單] 的選項。
- 您可以自訂資料表中的資料列。 展開 [自訂資料行] 窗格。 在這裡,您可以選取您想要查看的屬性、計量和超參數。
- 最後,您可以選取多個版本,以在 [計量比較] 窗格中比較其結果。 在此窗格中,您可以變更圖表標題、視覺效果類型、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 模型評分的詳細資訊,請參閱下一節。