パイプライン パラメーターを使用し、デザイナーのモデルを再トレーニングする
このハウツー記事では、Azure Machine Learning デザイナーでパイプライン パラメーターを使用して機械学習モデルを再トレーニングする方法について説明します。 発行されたパイプラインを使用してワークフローを自動化し、パラメーターを設定して新しいデータに対してモデルをトレーニングします。 パイプライン パラメーターを使用すると、異なるジョブに対して既存のパイプラインを再利用できます。
この記事では、次のことについて説明します。
- 機械学習モデルをトレーニングする。
- パイプライン パラメーターを作成する。
- トレーニング パイプラインを発行する。
- 新しいパラメーターを使用してモデルを再トレーニングします。
前提条件
- Azure Machine Learning ワークスペース
- この操作方法シリーズのパート 1、デザイナーでのデータの変換に関する記事を完了してください
重要
このドキュメントで言及しているグラフィカル要素 (Studio やデザイナーのボタンなど) が表示されない場合は、そのワークスペースに対する適切なレベルのアクセス許可がない可能性があります。 ご自分の Azure サブスクリプションの管理者に連絡して、適切なレベルのアクセス許可があることを確認してください。 詳細については、「ユーザーとロールを管理する」を参照してください。
また、この記事では、デザイナーでのパイプラインの構築に関する知識を持っていることも前提としています。 ガイド付きの概要については、チュートリアルを完了してください。
サンプル パイプライン
この記事で使用されているパイプラインは、デザイナーのホームページにある、サンプル パイプライン「収入の予測」の変更されたバージョンです。 サンプル データセットではなくデータのインポート コンポーネントをパイプラインに使用して、独自のデータを利用してモデルをトレーニングする方法を示します。
パイプライン パラメーターを作成する
パイプライン パラメーターは、後でさまざまなパラメーター値を使用して再送信できる汎用性のあるパイプラインを作成するために使用します。 いくつかの一般的なシナリオでは、再トレーニング用にデータセットまたは一部のハイパーパラメーターを更新します。 パイプライン パラメーターを作成して実行時に変数を動的に設定します。
パイプライン パラメーターは、パイプラインのデータ ソースまたはコンポーネント パラメーターに追加できます。 パイプラインを再送信するときに、これらのパラメーターの値を指定できます。
この例では、トレーニング データ パスを固定値からパラメーターに変更し、別のデータに対してモデルを再トレーニングできるようにします。 ユースケースに応じて、パイプライン パラメーターとして他のコンポーネント パラメーターを追加することもできます。
[データのインポート] コンポーネントを選択します。
Note
この例では、[データのインポート] コンポーネントを使用して、登録済みデータストアのデータにアクセスします。 ただし、代替のデータ アクセス パターンを使用する場合は、同様の手順を実行できます。
コンポーネントの詳細ペインで、キャンバスの右側にあるデータ ソースを選択します。
データのパスを入力します。 また、 [パスの参照] を選択してファイル ツリーを参照することもできます。
[パス] フィールドにマウスを置き、表示される [パス] フィールドの上にある省略記号 (...) を選択します。
[Add to pipeline parameter](パイプライン パラメーターに追加する) を選択します。
パラメーター名と既定値を指定します。
[保存] を選択します。
注意
また、コンポーネントの詳細ペインでパイプライン パラメーターからコンポーネント パラメーターをデタッチすることもできます。これは、パイプライン パラメーターの追加と似ています。
パイプライン ドラフトのタイトルの横にある [設定] の歯車アイコンを選択すると、パイプライン パラメーターを調べて編集することができます。
- デタッチした後、 [設定] ペインでパイプライン パラメーターを削除できます。
- また、 [設定] ペインでパイプライン パラメーターを追加し、一部のコンポーネント パラメーターに適用することもできます。
パイプライン ジョブを送信します。
トレーニング パイプラインを発行する
パイプラインをパイプライン エンドポイントに発行して、後で簡単にパイプラインを再利用できるようにします。 後でパイプラインを呼び出すことができるように、パイプライン エンドポイントを使用して REST エンドポイントを作成することができます。 この例では、パイプライン エンドポイントを使用して、パイプラインを再利用し、異なるデータに対してモデルを再トレーニングできます。
デザイナー キャンバス上の [Publish] (発行) を選択します。
パイプライン エンドポイントを選択するか作成します。
Note
複数のパイプラインを単一のエンドポイントに発行できます。 特定のエンドポイント内の各パイプラインにはバージョン番号が付けられます。パイプライン エンドポイントを呼び出すときに、この番号を指定できます。
[発行] を選択します。
モデルを再トレーニングする
これでトレーニング パイプラインが発行されたので、それを利用し、新しいデータに対してモデルを再トレーニングできます。 パイプライン エンドポイントからジョブを送信するには、Studio ワークスペースまたはプログラムを使用します。
Studio ポータルを使用してジョブを送信する
以下の手順を使用して、Studio ポータルからパラメーター化されたパイプライン エンドポイント ジョブを送信します。
- studio ワークスペースの [エンドポイント] ページに移動します。
- [パイプライン エンドポイント] タブを選択します。次に、パイプライン エンドポイントを選択します。
- [Published pipelines] (公開済みパイプライン) タブを選択します。次に、実行するパイプラインのバージョンを選択します。
- [Submit](送信) をクリックします。
- 設定ダイアログ ボックスで、ジョブのパラメーター値を指定できます。 この例では、データ パスを更新して、米国以外のデータセットを使用してモデルをトレーニングします。
コードを使用してジョブを送信する
概要パネルには、発行されたパイプラインの REST エンドポイントが表示されます。 エンドポイントを呼び出すことにより、発行されたパイプラインを再トレーニングできます。
REST 呼び出しを行うには、OAuth 2.0 ベアラー型認証ヘッダーが必要です。 ワークスペースへの認証を設定し、パラメーター化された REST 呼び出しを行う方法については、「REST を使用してリソースを管理する」を参照してください。
次のステップ
この記事では、デザイナーを使用してパラメーター化されたトレーニング パイプライン エンドポイントを作成する方法について説明しました。
モデルをデプロイして予測を行う方法の詳細なチュートリアルについては、デザイナーのチュートリアルを参照して回帰モデルをトレーニングおよびデプロイしてください。
SDK v1 を使用してパイプライン エンドポイントにジョブを発行して送信する方法については、「パイプラインを発行する」を参照してください。