Microsoft Fabric での自動ログ記録

Microsoft Fabric の Synapse Data Science には自動ログ記録が含まれており、トレーニング中に機械学習モデルのパラメータ、メトリック、項目を自動的にログに記録するために必要なコードの量が大幅に削減されます。 この記事では、Microsoft Fabric での Synapse Data Science の自動ログ記録について説明します。

自動ログ記録は MLflow トラッキング 機能を拡張し、Microsoft Fabric エクスペリエンスの Synapse Data Science に深く統合されています。 自動ログ記録では、精度、損失、F1 スコアなど、さまざまなメトリックと、定義されたカスタム メトリックをキャプチャできます。 開発者とデータ サイエンティストは自動ログ記録を使用して、手動トラッキングを必要とせずに、さまざまなモデルやテストのパフォーマンスを簡単に追跡および比較できます。

サポートされているフレームワーク

自動ログ記録では、TensorFlow、PyTorch、Scikit-learn、XGBoost など、さまざまな機械学習フレームワークがサポートされています。 自動ログ記録がキャプチャするフレームワーク固有のプロパティの詳細については、「MLflow のドキュメント」を参照してください。

構成

自動ログ記録は、トレーニング中の機械学習モデルの入力パラメータ、出力メトリック、出力項目の値を自動的にキャプチャすることで機能します。 この情報は Microsoft Fabric ワークスペースに記録され、MLflow API または Microsoft Fabric ワークスペース内の対応するテストとモデルの項目を使用してアクセスおよび視覚化できます。

Synapse Data Science ノートブックを起動すると、Microsoft Fabric は mlflow.autolog() を呼び出して、トラッキングを即座に有効にし、対応する依存関係を読み込みます。 ノートブックでモデルをトレーニングすると、このモデル情報は MLflow で自動的に追跡されます。

構成は、import mlflow を実行するとバックグラウンドで自動的に行われます。 mlflow.autolog() ノートブック フックの既定の構成は次のとおりです。


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 自動ログ記録の構成を更新して、追加のメトリック、パラメータ、ファイル、およびメタデータを追跡します。

  1. 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
    )
    
  2. 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 の自動ログ記録を無効にすることができます。 ワークスペース設定を使用して、すべてのノートブックの自動ログ記録を無効にすることもできます。

Note

自動ログ記録が無効になっている場合、MLflow API を使用して パラメータメトリック を手動でログに記録する必要があります。

ノートブック セッションの自動ログ記録を無効にする

特定のノートブック セッションで Microsoft Fabric の自動ログ記録を無効にするには、mlflow.autolog() を呼び出して disable=True を設定します。

import mlflow
mlflow.autolog(disable=True)

すべてのノートブックとセッションの自動ログ記録を無効にする

ワークスペース管理者は、ワークスペース設定を使用して、ワークスペースのすべてのノートブックとセッションに対して Microsoft Fabric の自動ログ記録を有効または無効にすることができます。 Synapse Data Science 自動ログ記録を有効または無効にするには:

  1. Synapse Data Science ワークスペースで、[ワークスペースの設定] を選択します。

    ワークスペースの設定が強調表示されている [Synapse Data Science] ページのスクリーンショット。

  2. [ワークスペースの設定] 画面で、左側のナビゲーション バーの [Data Engineering/Science] を展開し、[Spark の設定] を選択します。

  3. [Spark の設定] 画面で、[自動ログ] タブを選択します。

  4. [機械学習のテストとモデルを自動的に追跡する][オン] または [オフ] に設定します。

  5. [保存] を選択します。

    自動ログ記録の Data Science ワークスペース設定のスクリーンショット。