PR

 Azureでは機械学習サービスに力を入れており、AI開発環境のサービスの一つとして「Azure Machine Learning service」(以下、ML service)を提供している。本記事では、このML serviceを取り上げる。

 Azureには、AI開発環境のサービスとして、より簡便にAIを開発できる「Azure Machine Learning Studio」もある。両者の違いは別掲記事「Azure Machine Learning Studioとの違い」で説明する。

 AI開発の流れにおけるML serviceのカバー範囲を示す(図1)。ML serviceがカバーするのは、機械学習モデルのコーディング、トレーニング(学習)、モデルの格納、推論(予測)だ。学習データの収集や格納には別のサービスを使う。

図1 Azure Machine Learning serviceの構成
Azure Machine Learning serviceはAzure Notebooks、VM、Container Registry、AKS、ACIなどで構成される
図1 Azure Machine Learning serviceの構成
[画像のクリックで拡大表示]

 ML serviceは複数のAzureサービスで構成されるスイートである。機械学習モデルのコード作成環境「Azure Notebooks」、トレーニングの実行環境「Azure VM」、モデルのコンテナイメージの保管環境「Azure Container Registry」、推論の実行環境「AKS(Azure Kubernetes Service)」「ACI(Azure Container Instances)」などだ。さらにバックエンドで、環境構築の自動化機能を備える「Azure DevOps」も利用する。

 以下で、個々のサービスについて解説する。

 なお、これらは全てAzureのサービスだが、各機能をオンプレミス環境のものに置き換えられる。例えばトレーニングの環境を、Azure VMを利用せずオンプレミスのサーバーに作成できる。さらにONNX(Open Neural Network Exchange)形式で、モデルをインポートしたり、開発したモデルをエクスポートしたりすることも可能だ。

モデルのコード作成環境

 コード作成環境のAzure Notebooksは、オープンソースのPythonコード作成ツール「Jupyter Notebook」のサービスである。Pythonのコードを作成・実行するのに加え、対話型でコードを実行することにより、トレーニングやモデルのデプロイなども行える。

 Azure Notebooksはホスト型のJupyter Notebookであり、Azure上にJupyter Notebookのサーバーが自動構築され、Webブラウザーで利用する。ユーザーによる環境セットアップは不要だ。

 ML serviceではAzure Notebooks以外のコード作成環境も選択できる。Azure Machine Learning SDKをインストールすることで、Azureとの接続に必要なSDKもインストールされ、オンプレミスのPC上のVisual Studio CodeやJupyter Notebookでもコードを作成・実行できる。