Share via


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

この記事では、開発、テスト、運用環境で MLOps をスケーリングする方法について説明します。 IT 環境の複雑さに応じて、お使いの環境は少数から多数に異なる場合があり、次のような要因の影響を受けます。

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

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

  • 開発ワークスペースでモデルをトレーニングする必要がありますが、運用ワークスペース (場合によっては別の Azure サブスクリプションまたはリージョン) のエンドポイントにデプロイする必要があります。 この場合は、トレーニング ジョブをトレース バックできる必要があります。 たとえば、運用環境のデプロイで正確性やパフォーマンスの問題が発生した場合に、モデルのトレーニングに使用されるメトリック、ログ、コード、環境、データを分析します。
  • 開発ワークスペースでテスト データまたは匿名化されたデータを使用してトレーニング パイプラインを開発する必要がありますが、運用ワークスペース内の運用データを使用してモデルを再トレーニングする必要があります。 この場合、サンプルと運用の各データのトレーニング メトリックを比較して、トレーニングの最適化が実際のデータで適切に動作していることを確認する必要がある場合があります。

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

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

複数の環境 (開発、テスト、運用) でモデルを昇格させる場合は、まず、開発でモデルを反復的に開発します。 適切な候補モデルがある場合は、レジストリに発行できます。 その後、レジストリから異なるワークスペース内のエンドポイントにモデルをデプロイできます。

ヒント

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

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

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

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

次の手順