Azure Machine Learning デザイナーとは

Azure Machine Learning デザイナーは、Azure Machine Learning 内でのモデルのトレーニングとデプロイに使用されるドラッグ アンド ドロップ インターフェイスです。 この記事では、デザイナー内で実行できるタスクについて説明します。

Azure Machine Learning デザイナーの例

デザイナーでは、Azure Machine Learning のワークスペースを使用して、次のような共有リソースが整理されます。

モデルのトレーニングとデプロイ

ビジュアル キャンバスを使用して、エンドツーエンドの機械学習ワークフローを構築します。 デザイナーでモデルすべてをトレーニング、テスト、デプロイします。

  • データ資産コンポーネントをキャンバスにドラッグ アンド ドロップします。
  • コンポーネントを接続してパイプラインのドラフトを作成します。
  • Azure Machine Learning ワークスペースのコンピューティング リソースを使用して、パイプラインの実行を送信します。
  • トレーニング パイプライン推論パイプラインに変換します。
  • パイプラインを REST パイプライン エンドポイント発行し、異なるパラメーターとデータ資産を使用して実行される新しいパイプラインを送信します。
    • トレーニング パイプラインを発行し、1 つのパイプラインを再利用して、パラメーターとデータ資産を変更しながら、複数のモデルをトレーニングします。
    • バッチ推論パイプラインを発行し、以前にトレーニングしたモデルを使用して、新しいデータで予測を行います。
  • リアルタイム推論パイプラインをオンライン エンドポイントにデプロイして、新しいデータでの予測をリアルタイムで行います。

デザイナーでのトレーニング、バッチ推論、リアルタイム推論のワークフロー図

パイプライン

パイプラインは、ユーザーによって接続されたデータ資産と分析コンポーネントで構成されます。 パイプラインには多くの用途があります。1 つのモデルをトレーニングするパイプラインや、複数のモデルをトレーニングするパイプラインを作成できます。 リアルタイムまたはバッチで予測を行うパイプラインや、データをクリーンアップするだけのパイプラインを作成できます。 パイプラインを使用して、作業を再利用し、プロジェクトを整理することができます。

パイプラインのドラフト

デザイナーでパイプラインを編集している間、進捗はパイプラインのドラフトとして保存されます。 コンポーネントの追加または削除、コンピューティング先の構成、パラメーターの作成などを行って、パイプラインのドラフトをいつでも編集することができます。

有効なパイプラインには、次のような特徴があります。

  • データ資産は、コンポーネントにのみ接続できる。
  • コンポーネントは、データ資産または別のコンポーネントにのみ接続できる。
  • コンポーネントのすべての入力ポートに、データ フローへの何らかの接続がある必要がある。
  • 各コンポーネントの必須パラメーターがすべて設定されている必要がある。

パイプラインのドラフトを実行する準備ができたら、パイプライン ジョブを送信します。

パイプライン ジョブ

パイプラインを実行するたびに、パイプラインの構成とその結果が、パイプライン ジョブとしてワークスペースに格納されます。 任意のパイプライン ジョブに戻り、トラブルシューティングや監査のために検査することができます。 パイプライン ジョブを複製し、編集用に新しいパイプラインのドラフトを作成します。

ジョブの履歴を整理するために、パイプライン ジョブは実験にグループ化されます。 すべてのパイプライン ジョブに対して、実験を設定できます。

Data

機械学習データ資産によって、データへのアクセスと操作がより容易になります。 デザイナーには、実験に利用できるいくつかのサンプル データ資産が含まれています。 必要に応じて、データ資産をさらに登録することができます。

コンポーネント

コンポーネントとは、データに対して実行できるアルゴリズムのことです。 デザイナーには、データのイングレス機能や、プロセスのトレーニング、スコアリング、検証などのいくつかのコンポーネントが用意されています。

コンポーネントに一連のパラメーターが含まれている場合、これらを使用してコンポーネントの内部アルゴリズムを構成することができます。 キャンバスでコンポーネントを選択すると、コンポーネントのパラメーターは、キャンバス右側の [プロパティ] ウィンドウに表示されます。 このウィンドウでパラメーターを変更することにより、モデルを微調整できます。 デザイナーでは、個々のコンポーネントに対してコンピューティング リソースを設定できます。

コンポーネントのプロパティ

利用できる機械学習アルゴリズムのライブラリ内の移動に関するヘルプについては、アルゴリズムとコンポーネントのリファレンスの概要に関するページを参照してください。 アルゴリズムの選択の詳細については、Azure Machine Learning アルゴリズムのチート シートをご覧ください。

コンピューティング リソース

自分のワークスペースからコンピューティング リソースを使用して、パイプラインを実行し、デプロイ済みのモデルをオンライン エンドポイントまたはパイプライン エンドポイント (バッチ推論用) としてホストします。 サポートされているコンピューティング ターゲットを次に示します。

コンピューティング ターゲット トレーニング デプロイ
Azure Machine Learning コンピューティング
Azure Kubernetes Service

コンピューティング先は、自分の Azure Machine Learning ワークスペースに接続されています。 Azure Machine Learning Studio で自分のワークスペース内のコンピューティング先を管理します。

配置

リアルタイムの推論を実行するには、オンライン エンドポイントとしてパイプラインをデプロイする必要があります。 オンライン エンドポイントでは、外部アプリケーションと自分のスコアリング モデルの間にインターフェイスが作成されます。 オンライン エンドポイントを呼び出すと、予測結果がリアルタイムでアプリケーションに返されます。 オンライン エンドポイントを呼び出すには、エンドポイントのデプロイ時に作成された API キーを渡します。 エンドポイントは、Web プログラミング プロジェクトで広く使われているアーキテクチャの REST に基づいています。

オンライン エンドポイントは、Azure Kubernetes Service クラスターにデプロイする必要があります。

モデルのデプロイ方法の詳細については、「チュートリアル: デザイナーで機械学習モデルをデプロイする」を参照してください。

注意

Azure Machine Learning Endpoints (プレビュー) では、デプロイが改善され、シンプルになります。 エンドポイントは、リアルタイム シナリオとバッチ推論の両方をサポートします。 エンドポイントは、複数のコンピューティングの種類にわたってモデル デプロイを起動および管理するための統一インターフェイスを提供します。 「Azure Machine Learning エンドポイント (プレビュー) とは」を参照してください。

発行

パイプライン エンドポイントにパイプラインを発行することもできます。 オンライン エンドポイントと同様に、パイプライン エンドポイントでは、REST 呼び出しを使用して、外部アプリケーションから新しいパイプライン ジョブを送信することができます。 ただし、パイプライン エンドポイントを使用してリアルタイムでデータを送受信することはできません。

発行されたパイプラインは柔軟性があり、モデルのトレーニングや再トレーニング、バッチ推論の実行、新しいデータの処理などに使用できます。 複数のパイプラインを 1 つのパイプライン エンドポイントに発行し、実行するパイプラインのバージョンを指定できます。

発行されたパイプラインは、各コンポーネントのパイプライン ドラフトで定義されているコンピューティング リソース上で実行されます。

デザイナーでは、SDK と同じ PublishedPipeline オブジェクトが作成されます。

次のステップ