Microsoft Fabric の機械学習モデル
機械学習モデルとは、特定の種類のパターンを認識するようにトレーニングされたファイルのことです。 一連のデータに対してモデルをトレーニングし、そのデータ セットを推論してそこから学習するアルゴリズムをモデルに提供します。 モデルをトレーニングした後、それを使用して、未知のデータを推論し、そのデータに関する予測を行うことができます。
MLflow では、機械学習モデルに複数のモデル バージョンを含めることができます。 ここでは、各バージョンはモデルの繰り返しを表すことができます。 この記事では、機械学習モデルを操作してモデルのバージョンを追跡し、比較する方法について説明します。
機械学習モデルを作成する
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 API を確認するには、MLflow のドキュメントを参照してください。
from pprint import pprint
client = MlflowClient()
for rm in client.list_registered_models():
pprint(dict(rm), indent=4)
機械学習モデルを適用する
データ セットでモデルをトレーニングしたら、そのモデルを未知のデータに適用して予測を生成できます。 このモデルの使用手法をスコアリングまたは推論と呼びます。 Microsoft Fabric モデルのスコアリングの詳細については、次のセクションを参照してください。