AzureMLでのスコアリングコードの自動デプロイと置換¶
プレミアム機能
AzureMLでのスコアリングコードの自動デプロイと置換はプレミアム機能です。 この機能を有効にする方法については、DataRobotの担当者または管理者にお問い合わせください。
機能フラグ:AzureMLでのスコアリングコードの自動デプロイと置換を有効にする(プレミアム機能)
DataRobotのスコアリングコードをAzureMLにデプロイするには、DataRobotが管理するAzureMLの予測環境を作成します。 DataRobotの管理を有効にすることで、外部のAzureMLへのデプロイは、スコアリングコードの自動置換を含むMLOpsの機能を利用できます。
外部モデルと監視ジョブのサービス正常性に関する情報
レイテンシー、スループット、エラー率などのサービス正常性情報は、エージェントによって監視される外部のデプロイでは入手できません。また、予測監視ジョブを介して予測がアップロードされる場合も入手できません。
AzureML予測環境の作成¶
AzureMLにモデルをデプロイするには、まずカスタムAzureML予測環境を作成します。
-
コンソール > 予測環境ページを開き、+ 予測環境を追加をクリックします。
-
予測環境を追加ダイアログボックスで、予測環境設定を行います。
-
予測環境について、わかりやすい名前を入力し、必要に応じて説明も入力します。
-
プラットフォームドロップダウンリストからAzureを選択します。
-
DataRobotが管理設定を有効にすると、この予測環境が管理エージェントを介してDataRobotスコアリングコードモデルを自動的にパッケージ化してデプロイできます。
サポートされるモデル形式の設定は、自動的にDataRobotとDataRobotスコアリングコードのみに設定され、これがAzureMLがサポートする唯一のモデル形式であるため、変更することはできません
-
-
管理設定セクションで、関連するAzureサービスプリンシパル資格情報を選択します。 指定された資格情報を使用してアクセスできるAzureサブスクリプション、Azureリソースグループ、およびAzureMLワークスペースフィールドを設定します。
「Azureサービスプリンシパルの資格情報が必要です」
AzureMLでDataRobotがスコアリングコードを管理するには、既存のAzureサービスプリンシパルの資格情報が必要です。 既存の資格情報を持っていない場合、Azureサービスプリンシパルの資格情報が必要ですというアラートが表示され、資格情報に移動してAzureサービスプリンシパルの資格情報を作成するよう促されます。
必要な資格情報を作成するには、資格情報のタイプで、Azureサービスプリンシパルを選択します。 次に、クライアントID、クライアントシークレット、AzureテナントID、表示名を入力します。 資格情報を検証して保存するには、保存してサインインをクリックします。
これらのIDと表示名は、Azureのアプリ登録 > 概要タブ(1)で見つけることができ、 アプリ登録 > 証明書とシークレットタブ(2)でシークレットを生成できます。
さらに、AzureMLでガバナンスとリソース管理にタグを使用している場合は、AzureMLタグをクリックしてから、+ 新規タグを追加をクリックして、必要なタグを予測環境に追加します。
-
(オプション)監視のためにAzureイベントハブに接続し、Azureイベントハブからデータを取得する場合、監視設定セクションで、監視の有効化をクリックし、イベントハブネームスペース、イベントハブインスタンス、マネージドIDフィールドを設定します。 これには有効な資格情報、AzureサブスクリプションID、およびAzureリソースグループが必要です。
環境変数をクリックしてから、+ 新しい環境変数をクリックして、予測環境に環境変数を追加することもできます。
-
環境設定を行った後、環境を追加をクリックします。
AzureML環境は、予測環境ページから利用できるようになりました。
モデルをAzureML予測環境にデプロイ¶
AzureML予測環境を作成したら、その環境にモデルをデプロイできます。
-
登録済みモデルのテーブルにあるレジストリ > モデルディレクトリページで、デプロイするバージョンを含む登録済みモデルをクリックして、バージョンのリストを開きます。
モデルサポート
AzureMLの予測環境では、スコアリングコードに対応していないモデルをサポート していません 。
-
バージョンのリストから、デプロイするスコアリングコード対応バージョンをクリックすると、登録済みモデルバージョンパネルが開きます。
-
登録済みモデルバージョンパネルのいずれかのタブの右上隅で、デプロイをクリックします。
-
予測履歴とサービスの正常性設定の予測環境の選択の下にある変更をクリックします。
-
予測環境の選択パネルで、AzureMLをクリックしてから、デプロイする予測環境をクリックします。
-
AzureML環境を選択した状態で、予測履歴とサービスの正常性セクションのエンドポイントの下にある+ エンドポイントを追加をクリックします。
-
エンドポイントを選択ダイアログボックスで、想定されるワークロードに応じて、オンラインまたはバッチエンドポイントを定義し、次へをクリックします。
-
(オプション)次のページで、追加の環境キーと値のペアを定義して、Azureデプロイインターフェイスに追加のパラメーターを提供します。 次に確認をクリックします。
-
残りのデプロイ設定を行い、モデルをデプロイをクリックします。
デプロイが起動中の間、デプロイの監視 > サービスの正常性タブにある最近のアクティビティ > エージェントアクティビティでステータスイベントを監視できます。
AzureMLで予測を行う¶
AzureML予測環境にモデルをデプロイしたら、予測 > ポータブル予測タブのコードスニペットを使用して、AzureMLでデータをスコアリングできます。 コードスニペットを実行する前に、以下のいずれかの方法で必要な資格情報を提供する必要があります。
-
スニペットを実行する前に、Azure Service Principalのシークレットを環境変数としてローカルにエクスポートします。
環境変数 説明 AZURE_CLIENT_ID
アプリの登録 > 概要タブのアプリケーションID。 AZURE_TENANT_ID
アプリの登録 > 概要タブのディレクトリID。 AZURE_CLIENT_SECRET
アプリの登録 > 証明書およびシークレットタブで生成されたシークレットトークン。 -
Azure CLIをインストールし、
az login
コマンドを実行して、ポータブル予測スニペットが個人のAzure資格情報を使用できるようにします。
重要
AzureMLのバッチおよびオンラインエンドポイントへのデプロイには、標準のDataRobotデプロイとは異なるAPIを使用します。
-
オンラインエンドポイントはJSONまたはCSV入力をサポートし、結果をJSONに出力します。
-
バッチエンドポイントはCSV入力をサポートし、結果をCSVファイルに出力します。