モデル管理のセットアップModel management setup

このドキュメントでは、Azure ML モデル管理を使用して Machine Learning モデルを Web サービスとしてデプロイおよび管理する方法について説明します。This document gets you started with using Azure ML model management to deploy and manage your machine learning models as web services.

Azure ML モデル管理を使用すると、SparkML、Keras、TensorFlow、Microsoft Cognitive Toolkit、Python などの、いくつかのフレームワークを使用して構築された Machine Learning モデルを効率的にデプロイおよび管理できます。Using Azure ML model management, you can efficiently deploy and manage Machine Learning models that are built using a number of frameworks including SparkML, Keras, TensorFlow, the Microsoft Cognitive Toolkit, or Python.

このドキュメントの最後までには、モデル管理の環境をセットアップし、Machine Learning モデルをデプロイする準備ができるようになります。By the end of this document, you should be able to have your model management environment set up and ready for deploying your machine learning models.

はじめにやるべきことWhat you need to get started

このガイドを最大限に活用するには、モデルをデプロイできる Azure サブスクリプションまたはリソース グループに対する共同作成者アクセス権が必要です。To get the most out of this guide, you should have contributer access to an Azure subscription or a resource group that you can deploy your models to. Azure Machine Learning Workbench および Azure DSVM には CLI がプレインストールされています。The CLI comes pre-installed on the Azure Machine Learning Workbench and on Azure DSVMs.

CLI の使用Using the CLI

ワークベンチからコマンド ライン インターフェイス (CLI) を使用するには、[ファイル] -> [Open Command Prompt] (コマンド プロンプトを開く) をクリックします。To use the command-line interfaces (CLIs) from the Workbench, click File -> Open Command Prompt.

データ サイエンス仮想マシン上で、接続してコマンド プロンプトを開きます。On a Data Science Virtual Machine, connect and open the command prompt. az ml -h」と入力してオプションを表示します。Type az ml -h to see the options. コマンドの詳細については、--help フラグを使用します。For more details on the commands, use the --help flag.

その他のすべてのシステムでは、CLI をインストールする必要があります。On all other systems, you would have to install the CLIs.

注意

Linux DSVM 上の Jupyter Notebook では、以下のコマンド形式を使用して Azure CLI と Azure ML CLI にアクセスできます。In a Jupyter notebook on a Linux DSVM, you can access the Azure CLI and Azure ML CLI with the command format below. これは、特に Linux DSVM 上の Jupyter Notebook 向けですThis is for a Jupyter notebook on a Linux DSVM, specifically. これらのコマンドでは、Notebook 内の現在の Python カーネル (たとえば、conda py35 環境) にアクセスしますThese commands access the current Python kernel in the notebook (e.g. the conda py35 environment)

import sys
! {sys.executable} -m azure.cli login
! {sys.executable} -m azure.cli ml -h

Windows へのインストール (または更新)Installing (or updating) on Windows

https://www.python.org/ から Python をインストールします。Install Python from https://www.python.org/. pip のインストールを選択したことを確認してください。Ensure that you have selected to install pip.

[管理者として実行] を使用してコマンド プロンプトを開き、次のコマンドを実行します。Open a command prompt using Run As Administrator and run the following commands:

pip install -r https://aka.ms/az-ml-o16n-cli-requirements-file

Linux へのインストール (または更新)Installing (or updating) on Linux

コマンド ラインから次のコマンドを実行し、プロンプトに従います。Run the following command from the command line, and follow the prompts:

sudo -i
pip install -r https://aka.ms/az-ml-o16n-cli-requirements-file

Linux での Docker の構成Configuring Docker on Linux

root 以外のユーザーが使用する Linux 上の Docker を構成するには、「Post-installation steps for Linux (Linux でのインストール後の手順)」にある手順に従います。In order to configure Docker on Linux for use by non-root users, follow the instructions here: Post-installation steps for Linux

注意

Linux DSVM では、下のスクリプトを実行して Docker を正しく構成できます。On a Linux DSVM, you can run the script below to configure Docker correctly. このスクリプトを実行した後、ログアウトしてログインし直すことを忘れないでください。Remember to log out and log back in after running the script.

sudo /opt/microsoft/azureml/initial_setup.sh

モデルをデプロイするDeploying your model

モデルを Web サービスとしてデプロイするには、CLI を使用します。Use the CLI to deploy models as web services. Web サービスはローカルに、またはクラスターにデプロイできます。The web services can be deployed locally or to a cluster.

ローカル デプロイから始め、そのモデルとコードの動作を検証してから、運用スケールの使用のためにクラスターにデプロイします。Start with a local deployment, validate that your model and code work, then deploy to a cluster for production scale use.

開始するには、デプロイメント環境をセットアップする必要があります。To start, you need to set up your deployment environment. 環境のセットアップは 1 回限りのタスクです。The environment setup is a one time task. セットアップが完了したら、以降のデプロイのためにその環境を再利用できます。Once the setup is complete, you can reuse the environment for subsequent deployments. 詳細については、次のセクションを参照してください。See the following section for more detail.

環境のセットアップを完了した場合:When completing the environment setup:

  • Azure にサインインするよう求められます。You are prompted to sign in to Azure. サインインするには、Web ブラウザーを使用して https://aka.ms/devicelogin ページを開き、認証するためのコードを入力します。To sign in, use a web browser to open the page https://aka.ms/devicelogin and enter the provided code to authenticate.
  • 認証プロセス中に、認証するためのアカウントを入力するよう求められます。During the authentication process, you are prompted for an account to authenticate with. 重要: 有効な Azure サブスクリプションと、アカウントにリソースを作成するための十分なアクセス許可を持つアカウントを選択してください。Important: Select an account that has a valid Azure subscription and sufficient permissions to create resources in the account. ログインが完了したら、サブスクリプション情報が表示され、選択されたアカウントで続行するかどうかを確認するメッセージが表示されます。When the log-in is complete, your subscription information is presented and you are prompted whether you wish to continue with the selected account.

環境のセットアップEnvironment Setup

セットアップ プロセスを開始するには、次のコマンドを入力していくつかの環境プロバイダーを登録する必要があります。To start the setup process, you need to register a few environment providers by entering the following commands:

az provider register -n Microsoft.MachineLearningCompute
az provider register -n Microsoft.ContainerRegistry
az provider register -n Microsoft.ContainerService

ローカル デプロイLocal deployment

ローカル コンピューター上で Web サービスをデプロイおよびテストするには、次のコマンドを使用してローカル環境をセットアップします。To deploy and test your web service on the local machine, set up a local environment using the following command. リソース グループ名は省略可能です。The resource group name is optional.

az ml env setup -l [Azure Region, e.g. eastus2] -n [your environment name] [-g [existing resource group]]

注意

ローカル Web サービスのデプロイでは、ローカル コンピューターに Docker をインストールする必要があります。Local web service deployment requires you to install Docker on the local machine.

ローカル環境のセットアップ コマンドは、サブスクリプション内に次のリソースを作成します。The local environment setup command creates the following resources in your subscription:

  • リソース グループ (指定されていない場合、または指定された名前が存在しない場合)A resource group (if not provided, or if the name provided does not exist)
  • ストレージ アカウントA storage account
  • Azure Container Registry (ACR)An Azure Container Registry (ACR)
  • Application Insights アカウントAn Application insights account

セットアップが正常に完了したら、次のコマンドを使用して、使用される環境を設定します。After setup completes successfully, set the environment to be used using the following command:

az ml env set -n [environment name] -g [resource group]

クラスター デプロイCluster deployment

高スケールの運用シナリオには、クラスター デプロイを使用します。Use Cluster deployment for high-scale production scenarios. これは、Kubernetes を含む ACS クラスターをオーケストレーターとして設定します。It sets up an ACS cluster with Kubernetes as the orchestrator. ACS クラスターは、Web サービス呼び出しのためのより高いスループットを処理するようにスケールアウトできます。The ACS cluster can be scaled out to handle larger throughput for your web service calls.

Web サービスを実稼働環境にデプロイするには、まず次のコマンドを使用して環境をセットアップします。To deploy your web service to a production environment, first set up the environment using the following command:

az ml env setup --cluster -n [your environment name] -l [Azure region e.g. eastus2] [-g [resource group]]

クラスター環境のセットアップ コマンドは、サブスクリプション内に次のリソースを作成します。The cluster environment setup command creates the following resources in your subscription:

  • リソース グループ (指定されていない場合、または指定された名前が存在しない場合)A resource group (if not provided, or if the name provided does not exist)
  • ストレージ アカウントA storage account
  • Azure Container Registry (ACR)An Azure Container Registry (ACR)
  • Azure Container Service (ACS) クラスター上の Kubernetes デプロイA Kubernetes deployment on an Azure Container Service (ACS) cluster
  • Application Insights アカウントAn Application insights account

重要

クラスター環境を正常に作成するには、Azure サブスクリプションまたはリソース グループに対する共同作成者アクセス権を持っている必要があります。In order to successfully create a cluster environment, you will need to be have contributor access on the Azure subscription or the resource group.

リソース グループ、ストレージ アカウント、および ACR はすぐに作成されます。The resource group, storage account, and ACR are created quickly. ACS のデプロイには、最大 20 分かかる場合があります。The ACS deployment can take up to 20 minutes.

進行中のクラスター プロビジョニングの状態を確認するには、次のコマンドを使用します。To check the status of an ongoing cluster provisioning, use the following command:

az ml env show -n [environment name] -g [resource group]

セットアップが完了したら、このデプロイに使用される環境を設定する必要があります。After setup is complete, you need to set the environment to be used for this deployment. 次のコマンドを使用します。Use the following command:

az ml env set -n [environment name] -g [resource group]

注意

環境が作成された後、以降のデプロイでは、上の設定コマンドを使用してそれを再利用するだけで済みます。After the environment is created, for subsequent deployments, you only need to use the set command above to reuse it.

モデル管理アカウントを作成するCreate a Model Management Account

モデルをデプロイするには、モデル管理アカウントが必要です。A model management account is required for deploying models. これをサブスクリプションごとに 1 回実行する必要があり、複数のデプロイで同じアカウントを再利用できます。You need to do this once per subscription, and can reuse the same account in multiple deployments.

新しいアカウントを作成するには、次のコマンドを使用します。To create a new account, use the following command:

az ml account modelmanagement create -l [Azure region, e.g. eastus2] -n [your account name] -g [resource group name] --sku-instances [number of instances, e.g. 1] --sku-name [Pricing tier for example S1]

既存のアカウントを使用するには、次のコマンドを使用します。To use an existing account, use the following command:

az ml account modelmanagement set -n [your account name] -g [resource group it was created in]

このプロセスの結果として、環境の準備ができ、モデル管理アカウントが作成されて Machine Learning モデル管理とデプロイに必要な機能が提供されます (概要については、「Azure Machine Learning のモデル管理」を参照してください)。As a result of this process, the environment is ready and the model management account has been created to provide the features needed to manage and deploy Machine Learning models (see Azure Machine Learning Model Management for an overview).

次の手順Next steps