HDInsight の Apache Spark 上で自動化された機械学習を使用して Azure Machine Learning ワークロードを実行する

Azure Machine Learning では、機械学習モデルの構築、トレーニング、およびデプロイを簡略化して迅速化します。 自動機械学習 (AutoML) では、対象の特徴量が定義されたトレーニング データを最初に使用します。 アルゴリズムと特徴選択の組み合わせを反復処理することで、トレーニング スコアに基づいてデータに最適なモデルを自動的に選択します。 HDInsight を使用することにより、お客様は多数のノードでクラスターをプロビジョニングできます。 HDInsight クラスターの Spark で実行されている AutoML では、ユーザーはこれらのノード間でコンピューティング能力を使用して、スケールアウト形式でトレーニング ジョブを実行したり、複数のトレーニング ジョブを並列で実行したりできます。 これによりユーザーは、他のビッグ データ ワークロードとコンピューティングを共有しながら AutoML 実験を実行できます。

HDInsight クラスターに Azure Machine Learning をインストールする

Automated Machine Learning の一般的なチュートリアルについては、「チュートリアル: 自動化された機械学習を使用して回帰モデルを構築する」を参照してください。 すべての新しい HDInsight Spark クラスターには、AzureML AutoML SDK がプレインストールされています。

Note

Azure Machine Learning パッケージは、Python3 conda 環境にインストールされます。 インストールされた Jupyter Notebook は PySpark3 カーネルを使用して実行する必要があります。

Zeppelin ノートブックを使用して、AutoML を使用することもできます。

ワークスペースの認証

ワークスペースの作成と実験の送信を行うには、認証トークンが必要です。 このトークンは、Microsoft Entra アプリケーションを使用して生成できます。 アカウントで多要素認証が有効になっていない場合は、必要な認証トークンを Microsoft Entra ユーザーを使用して生成することもできます。

次のコード スニペットでは、Microsoft Entra アプリケーションを使用して、認証トークンが作成されます。

from azureml.core.authentication import ServicePrincipalAuthentication
auth_sp = ServicePrincipalAuthentication(
    tenant_id='<Azure Tenant ID>',
    service_principal_id='<Azure AD Application ID>',
    service_principal_password='<Azure AD Application Key>'
)

次のコード スニペットでは、Microsoft Entra ユーザーを使用して、認証トークンが作成されます。

from azure.common.credentials import UserPassCredentials
credentials = UserPassCredentials('user@domain.com', 'my_smart_password')

データセットの読み込み

Spark での自動化された機械学習では、データに対して遅延評価される不変の操作であるデータフローが使用されます。 データフローでは、パブリックな読み取りアクセスを使用して BLOB から、または SAS トークンを使用して BLOB URL からデータセットを読み込むことができます。

import azureml.dataprep as dprep

dataflow_public = dprep.read_csv(
    path='https://commonartifacts.blob.core.windows.net/automl/UCI_Adult_train.csv')

dataflow_with_token = dprep.read_csv(
    path='https://dpreptestfiles.blob.core.windows.net/testfiles/read_csv_duplicate_headers.csv?st=2018-06-15T23%3A01%3A42Z&se=2019-06-16T23%3A01%3A00Z&sp=r&sv=2017-04-17&sr=b&sig=ugQQCmeC2eBamm6ynM7wnI%2BI3TTDTM6z9RPKj4a%2FU6g%3D')

ワンタイム登録を使用して、データ ストアをワークスペースに登録することもできます。

実験の送信

Automated Machine Learning 構成では、プロパティ spark_context は分散モードで実行するパッケージに対して設定する必要があります。 concurrent_iterations プロパティは並列で実行されるイテレーションの最大数であり、Spark アプリ用の Executor のコアよりも少ない数値を設定する必要があります。

次のステップ