次の方法で共有


Machine Learning Studio (クラシック) モデルが実験から Web サービスになるまでの過程

適用対象:このチェック マークは、この記事が Machine Learning スタジオ (クラシック) に適用されることを意味しています。Machine Learning スタジオ (クラシック) この X 印は、この記事が Azure Machine Learning には適用されないことを意味しています。Azure Machine Learning

重要

Machine Learning Studio (クラシック) のサポートは、2024 年 8 月 31 日に終了します。 その日までに、Azure Machine Learning に切り替えすることをお勧めします。

2021 年 12 月 1 日以降、新しい Machine Learning Studio (クラシック) リソースは作成できません。 2024 年 8 月 31 日まで、既存の Machine Learning Studio (クラシック) リソースを引き続き使用できます。

ML Studio (クラシック) のドキュメントは廃止予定であり、今後更新されない可能性があります。

Machine Learning Studio (クラシック) は、予測分析モデルである "実験" を開発、実行、テスト、反復処理する対話形式のキャンバスです。 以下に対応する、多様なモジュールが用意されています。

  • 実験にデータを入力
  • データを操作します。
  • 機械学習アルゴリズムを使用してモデルをトレーニング
  • モデルにスコアを付ける
  • 結果を評価
  • 最終的な値を出力

ご自分の実験に問題がなければ、ユーザーが新しいデータを送信して折り返し結果を受信できる、"Machine Learning (クラシック) Web サービス" または "Azure Machine Learning Web サービス" としてデプロイできます。

この記事では、Machine Learning モデルが開発中の実験から運用可能な Web サービスになるまでにたどる過程について、概要を説明します。

Note

機械学習モデルを開発し、デプロイする方法はほかにもありますが、この記事では Machine Learning Studio (クラシック) を使用する方法に焦点を当てています。 たとえば、R を使用して従来の予測 Web サービスを作成する方法については、RStudio と Azure Machine Learning Studio を使用した予測 Web Apps の開発とデプロイに関するブログ記事を参照してください。

Machine Learning Studio (クラシック) は "予測分析モデル" の開発とデプロイを目的に設計されていますが、予測分析モデルを含まない実験の開発に Studio (クラシック) を使用することもできます。 たとえば、データを入力して操作し、結果を出力するだけの実験などです。 この非予測実験は、予測分析実験と同様に、Web サービスとしてデプロイすることができますが、この実験では機械学習モデルのトレーニングやスコア付けが実施されないため、より簡単なプロセスになります。 これは Studio (クラシック) の一般的な使用方法ではありません。一般的な使用方法についてこれから説明し、Studio (クラシック) の機能を網羅することにします。

予測 Web サービスの開発とデプロイ

Machine Learning Studio (クラシック) を使用して予測 Web サービスを開発し、デプロイする場合、一般的なソリューションがたどる段階は次のようになります。

デプロイ フロー

図 1 - 一般的な予測分析モデルの段階

トレーニング実験

"トレーニング実験" は、Machine Learning Studio (クラシック) で Web サービスを開発する最初のフェーズです。 トレーニング実験の目的は、機械学習モデルの開発、テスト、反復処理、そしてトレーニングの場所を提供することです。 最適なソリューションを見つけるために複数のモデルを同時にトレーニングすることもできますが、実験が終わったら、トレーニング済みのモデルを 1 つ選択し、残りのモデルを実験から除外することになります。 予測分析実験の開発の例については、Machine Learning Studio (クラシック) での信用リスク評価のための予測分析ソリューション開発に関する記事を参照してください。

予測実験

トレーニング実験でモデルをトレーニングしたら、Machine Learning Studio (クラシック) で [Web サービスの設定] をクリックし、 [Predictive Web Service]\(予測 Web サービス\) を選択して、トレーニング実験を "予測実験" に変換する処理を開始します。 予測実験の目的は、トレーニング済みのモデルを使用して新しいデータにスコアを付け、最終的に Azure Web サービスとして運用できる状態にすることです。

この変換は、次の手順で行われます。

  • トレーニングに使用したモジュールのセットを単一のモジュールに変換し、トレーニング済みのモデルとして保存する
  • スコア付けに関係しない余分なモジュールをすべて除外する
  • 最終的な Web サービスで使用する入力ポートと出力ポートを追加する

予測実験を Web サービスとしてデプロイできる状態にするには、さらに変更が必要になることがあります。 たとえば、Web サービスから結果のサブセットのみを出力するには、出力ポートの前にフィルター処理モジュールを追加します。

この変換プロセスでは、トレーニング実験は破棄されません。 このプロセスが完了すると、2 つのタブが Studio (クラシック) に表示されます。1 つがトレーニング実験用で、もう 1 つが予測実験用です。 このように、トレーニング実験に変更を加えてから、Web サービスをデプロイして、予測実験を再構築できます。 また、トレーニング実験のコピーを保存しておいて、新たに別の実験を始めることもできます。

Note

[Predictive Web Service (予測 Web サービス)] をクリックすると、トレーニング実験を予測実験に変換する自動処理が開始されます。ほとんどの場合、この方法を利用できます。 トレーニング実験が複雑な場合 (結合するトレーニングのパスが複数ある場合など) は、この変換を手動で実行した方が良いこともあります。 詳細については、Machine Learning Studio (クラシック) でデプロイするモデルを準備する方法に関するページを参照してください。

Web サービス

予測実験の準備が問題なくできたら、Azure Resource Manager に基づいて、従来の Web サービスか新しい Web サービスのどちらかとしてサービスをデプロイできます。 "従来の Machine Learning Web サービス" としてデプロイすることでモデルを運用可能にするには、 [Web サービスのデプロイ] をクリックして、 [Deploy Web Service [Classic]\(Web サービスのデプロイ [従来])] を選択します。 "新しい Machine Learning Web サービス" としてデプロイするには、 [Web サービスのデプロイ] をクリックして、 [Deploy Web Service [New]\(Web サービスのデプロイ [新規])] を選択します。 ユーザーは、Web サービス REST API を使用してモデルにデータを送信し、折り返し結果を受信できるようになりました。 詳細については、Machine Learning Web サービスを使用する方法に関するページを参照してください。

一般的でないケース: 非予測 Web サービスの作成

実験で予測分析モデルをトレーニングしない場合、トレーニング実験とスコア付け実験の両方を作成する必要はありません。実験は 1 つのみになり、この実験を Web サービスとしてデプロイすることができます。 Machine Learning Studio (クラシック) は、使用したモジュールを分析することで、実験に予測モデルが含まれるかどうかを検出します。

実験を反復処理して問題がなければ、次の手順に従います。

  1. [Web サービスの設定] をクリックし、 [Retraining Web Service (Web サービスの再トレーニング)] を選択します。入力ノードと出力ノードが自動的に追加されます。
  2. [実行]
  3. [Web サービスのデプロイ] をクリックし、デプロイ先の環境に応じて [Deploy Web Service [Classic]\(Web サービスのデプロイ [従来])] または [Deploy Web Service [New]\(Web サービスのデプロイ [新規])] を選択します。

これで Web サービスがデプロイされます。予測 Web サービスと同様に、アクセスして管理することができます。

Web サービスの更新

これで、実験が Web サービスとしてデプロイされました。更新するにはどうすればよいでしょうか。

その方法は更新する対象によって異なります。

入力または出力を変更する場合や、Web サービスでデータを操作する方法を変更する場合

モデルは変更せず、Web サービスでのデータの処理方法だけを変更する場合は、予測実験を編集して、もう一度 [Web サービスのデプロイ] をクリックし、 [Deploy Web Service [Classic]\(Web サービスのデプロイ [従来])] または [Deploy Web Service [New]\(Web サービスのデプロイ [新規])] をクリックします。 Web サービスが停止し、更新済みの予測実験がデプロイされ、Web サービスが再び開始されます。

次に例を示します。入力データ行全体と予測の結果を返す予測実験があるとします。 Web サービスから結果のみを返すことに決まりました。 結果以外の列を除外するには、予測実験の出力ポートの直前に プロジェクト列 モジュールを追加します。 もう一度 [Web サービスのデプロイ] をクリックし、 [Deploy Web Service [Classic]\(Web サービスのデプロイ [従来])] または [Deploy Web Service [New]\(Web サービスのデプロイ [新規])] を選択したときに、Web サービスが更新されます。

新しいデータでモデルを再トレーニングする必要がある場合

機械学習モデルを維持したまま新しいデータで再トレーニングする必要がある場合、選択肢は 2 つあります。

  1. Web サービスの実行中にモデルを再トレーニングする: 予測 Web サービスの実行中にモデルを再トレーニングするには、トレーニング実験にいくつか変更を加えて "再トレーニング実験" にすることで実行できます。さらにそれを "再トレーニング Web サービス" としてデプロイできます。 この方法の手順については、「プログラムによる Machine Learning のモデルの再トレーニング」を参照してください。

  2. 元のトレーニング実験に戻り、さまざまなトレーニング データを使用してモデルを開発する: 予測実験は Web サービスにリンクされますが、この方法では、トレーニング実験は直接リンクされません。 元のトレーニング実験を変更し、[Web サービスの設定] をクリックすると、"新しい" 予測実験が作成されます。これをデプロイすると、"新しい" Web サービスが作成されます。 単に元の Web サービスを更新するのではありません。

    トレーニング実験を変更する必要がある場合は、トレーニング実験を開き、 [名前を付けて保存] をクリックしてコピーを作成します。 これにより、元のトレーニング実験、予測実験、Web サービスはそのままの状態で維持されます。 そのうえで、変更を加えることにより、新しい Web サービスを作成できます。 新しい Web サービスをデプロイした後で、前の Web サービスを停止するか、新しい Web サービスと共に実行し続けるかを決定できます。

別のモデルをトレーニングする必要がある場合

別の機械学習アルゴリズムを選択する、別のトレーニング方法を試行するなど、元の予測実験を変更するには、前に説明したモデルの再トレーニングの 2 つ目の手順を実行する必要があります。トレーニング実験を開き、 [名前を付けて保存] をクリックしてコピーを作成したうえで、新たにモデルを開発し、予測実験を作成して Web サービスをデプロイします。 これにより、元の予測実験と関係のない新しい Web サービスが作成されます。どちらか一方を実行するか、両方を実行し続けるかを決定できます。

次のステップ

開発および実験のプロセスの詳細については、次の記事をご覧ください。

プロセス全体の例については、以下を参照してください。