MLOps 向けの Azure Machine Learning レジストリ

この記事では、Azure Machine Learning レジストリで機械学習資産をワークスペースから切り離し、開発、テスト、運用環境全体で MLOps を使用できるようにする方法について説明します。 環境は、IT システムの複雑さに応じて異なる場合があります。 次の要因は、必要な環境の数と種類に影響します。

  • セキュリティとコンプライアンスのポリシー。 運用環境は、アクセスの制御、ネットワーク アーキテクチャ、データ公開の点で開発環境から分離する必要があります。
  • サブスクリプション。 開発環境と運用環境では、多くの場合、課金、予算作成、コスト管理の目的で個別のサブスクリプションが使用されます。
  • リージョン。 待ち時間と冗長の要件をサポートするために、さまざまな Azure リージョンにデプロイすることが必要な場合があります。

上記のシナリオでは、開発、テスト、運用に異なる Azure Machine Learning ワークスペースを使用する可能性があります。 この構成では、モデルのトレーニングとデプロイに関して次の課題が発生する可能性があります。

  • 開発ワークスペースでモデルをトレーニングしても、運用ワークスペース (場合によっては別の Azure サブスクリプションまたはリージョン) のエンドポイントにデプロイする必要がある可能性があります。 この場合は、トレーニング ジョブをトレース バックできる必要があります。 たとえば、運用のデプロイで正確性やパフォーマンスの問題が発生した場合に、モデルのトレーニングに使用したメトリック、ログ、コード、環境、データを分析する必要があります。

  • 開発ワークスペースでテスト データまたは匿名化されたデータを使用してトレーニング パイプラインを開発しても、運用ワークスペース内の運用データを使用してモデルを再トレーニングする必要がある場合があります。 この場合、サンプルと運用の各データのトレーニング メトリックを比較して、トレーニングの最適化が実際のデータで適切に動作していることを確認する必要があることがあります。

レジストリを使用したクロスワークスペース MLOps

レジストリは、Git リポジトリと同様に、機械学習資産をワークスペースから切り離し、中央の場所に資産をホストし、組織内のすべてのワークスペースで使用できるようにします。

開発、テスト、運用環境全体でモデルをレベル上げするには、開発環境でモデルを繰り返し開発することから始めることができます。 適切な候補モデルがある場合は、レジストリに発行できます。 その後、レジストリから異なるワークスペース内のエンドポイントにモデルをデプロイできます。

ヒント

既にワークスペースに登録されているモデルがある場合は、これらのモデルをレジストリにレベル上げすることができます。 トレーニング ジョブの出力から、モデルをレジストリに直接登録することもできます。

あるワークスペースでパイプラインを開発し、他のワークスペースで実行する場合は、まずパイプラインの構成要素を形成するコンポーネントと環境を登録します。 パイプライン ジョブを送信すると、各ワークスペースに固有のコンピューティングとトレーニング データによって、実行されるワークスペースが決まります。

次の図は、探索的および開発ワークスペース間のトレーニング パイプラインの昇格、その後にテストと運用へのトレーニング済みモデルの昇格を示しています。

複数の環境でのパイプラインとモデルの使用の図。

次のステップ