Azure Machine Learning デザイナーを使用してバッチ予測を実行する
この記事では、デザイナーを使用してバッチ予測パイプラインを作成する方法について説明します。 バッチ予測を使用すると、任意の HTTP ライブラリからトリガーできる Web サービスを使用して、大規模なデータセットをオンデマンドで継続的にスコア付けすることができます。
このガイドでは、次のタスクの実行について学習します。
- バッチ推論パイプラインを作成して発行する
- パイプライン エンドポイントを使用する
- エンドポイントのバージョンを管理する
SDK を使用してバッチ スコアリング サービスを設定する方法については、付属のパイプライン バッチ スコアリングのチュートリアルを参照してください。
前提条件
このガイドは、既にトレーニング パイプラインがあることを前提としています。 デザイナーのガイド付き概要については、デザイナーのチュートリアルのパート 1 を完了してください。
重要
このドキュメントで言及しているグラフィカル要素 (Studio やデザイナーのボタンなど) が表示されない場合は、そのワークスペースに対する適切なレベルのアクセス許可がない可能性があります。 ご自分の Azure サブスクリプションの管理者に連絡して、適切なレベルのアクセス許可があることを確認してください。 詳細については、「ユーザーとロールを管理する」を参照してください。
バッチ推論パイプラインを作成する
推論パイプラインを作成できるようにするには、トレーニング パイプラインを少なくとも 1 回実行する必要があります。
ワークスペースの [デザイナー] タブに移動します。
予測の作成に使用するモデルをトレーニングするトレーニング パイプラインを選択します。
パイプラインを送信します。
キャンバスの左側に送信リストが表示されます。 ジョブの詳細リンクを選択してジョブの詳細ページに移動し、トレーニング パイプライン ジョブが完了したら、バッチ推論パイプラインを作成できます。
ジョブの詳細ページで、キャンバスの上にあるドロップダウンの [Create inference pipeline] (推論パイプラインの作成) を選択します。 [Batch inference pipeline](バッチ推論パイプライン) を選択します。
注意
現在、推論パイプラインの自動生成は、デザイナーの組み込みコンポーネントによって純粋に構築されたトレーニング パイプラインでのみ機能します。
バッチ推論パイプラインのドラフトが自動的に作成されます。 バッチ推論パイプラインのドラフトでは、トレーニングされたモデルを MD- ノードとして、変換をトレーニング パイプライン ジョブの TD- ノードとして使用します。
この推論パイプラインのドラフトを変更して、バッチ推論の入力データをより適切に処理することもできます。
パイプライン パラメーターを追加する
新しいデータで予測を作成するには、このパイプライン ドラフト ビューで別のデータセットを手動で接続するか、データセットのパラメーターを作成します。 パラメーターを使用すると、実行時のバッチ推論プロセスの動作を変更できます。
このセクションでは、予測を行う別のデータセットを指定するためのデータセット パラメーターを作成します。
データセット コンポーネントを選択します。
キャンバスの右側にペインが表示されます。 ペインの下部で [Set as pipeline parameter](パイプライン パラメーターとして設定) を選択します。
パラメーターの名前を入力するか、既定値をそのまま使用します。
バッチ推論パイプラインを送信し、左側のウィンドウでジョブのリンクを選択してジョブの詳細ページに移動します。
バッチ推論パイプラインを発行する
これで、推論パイプラインをデプロイする準備ができました。 これにより、パイプラインをデプロイし、他のユーザーが使用できるようにします。
[発行] ボタンを選びます。
表示されたダイアログで、[PipelineEndpoint] のドロップダウンを展開し、[New PipelineEndpoint](新しい PipelineEndpoint) を選択します。
エンドポイント名と説明 (省略可能) を指定します。
ダイアログの下部に、トレーニング時に使用したデータセット ID の既定値を使って構成したパラメーターが表示されます。
[発行] を選択します。
エンドポイントを使用する
これで、データセット パラメーターを含む発行済みパイプラインが完成しました。 このパイプラインは、トレーニング パイプラインで作成されたトレーニング済みのモデルを使用して、パラメーターとして指定したデータセットをスコア付けします。
パイプライン ジョブを送信する
このセクションでは、手動のパイプライン ジョブを設定し、パイプライン パラメーターを変更して新しいデータのスコアを付けます。
デプロイが完了したら、[エンドポイント] セクションに移動します。
[Pipeline endpoints](パイプライン エンドポイント) を選択します。
作成したエンドポイントの名前を選択します。
[Published pipelines](発行済みパイプライン) を選択します。
この画面には、このエンドポイントで発行されたすべての発行済みパイプラインが表示されます。
発行したパイプラインを選択します。
パイプライン詳細ページには、パイプラインの詳細なジョブ履歴と接続文字列情報が表示されます。
[送信] を選択し、パイプラインの手動実行を作成します。
別のデータセットを使用するようにパラメーターを変更します。
[送信] を選択し、パイプラインを実行します。
REST エンドポイントを使用する
パイプライン エンドポイントと発行されたパイプラインを使用する方法についての情報は、[エンドポイント] セクションにあります。
パイプライン エンドポイントの REST エンドポイントは、ジョブの概要パネルで確認できます。 エンドポイントを呼び出すことにより、既定の発行済みパイプラインが使用されます。
発行済みパイプラインは、[Published pipelines](発行済みパイプライン) ページでも使用できます。 発行済みパイプラインを選択すると、グラフの右側にある [Published pipeline overview](発行済みパイプラインの概要) パネルにそのパイプラインの REST エンドポイントが表示されます。
REST 呼び出しを行うには、OAuth 2.0 ベアラー型の認証ヘッダーが必要です。 ワークスペースの認証を設定し、パラメーター化された REST を呼び出す方法については、次のチュートリアル セクションをご覧ください。
エンドポイントのバージョン管理
デザイナーは、エンドポイントに発行する後続の各パイプラインにバージョンを割り当てます。 REST 呼び出しでパラメーターとして実行するパイプライン バージョンを指定できます。 バージョン番号を指定しないと、デザイナーは既定のパイプラインを使用します。
パイプラインを発行するときに、そのエンドポイントの新しい既定のパイプラインにするように選択できます。
エンドポイントの [Published pipelines](発行済みパイプライン) タブで新しい既定のパイプラインを設定することもできます。
パイプライン エンドポイントを更新する
トレーニング パイプラインで何らかの変更を行った場合、新しくトレーニングされたモデルをパイプライン エンドポイントに対して更新できます。
変更したトレーニング パイプラインが正常に完了したら、ジョブの詳細ページに移動します。
[モデルのトレーニング] コンポーネントを右クリックし、[データの登録] を選択します
名前を入力し、[ファイル]の種類を選択します。
前のバッチ推論パイプラインの下書きを見つけるか、発行済みのパイプラインを新しい下書きに複製します。
推論パイプラインドラフトの MD- ノードを、上の手順で登録されたデータに置き換えます。
データ変換ノード TD- の更新は、トレーニング済みモデルと同じです。
その後、更新されたモデルおよび変換と共に推論パイプラインを送信し、再度公開できます。
次の手順
- デザイナー チュートリアルに従い、回帰モデルをトレーニングし、デプロイします。
- SDK v1 を使用して発行対象のパイプラインを発行し、実行する方法については、パイプラインのデプロイ方法に関する記事を参照してください。