LoginSignup
0
1

More than 3 years have passed since last update.

Azure Machine Learning デザイナーでデプロイしたモデルをAPIとして利用する

Last updated at Posted at 2021-04-06

はじめに

Azure Machine LearningのAuto MLやデザイナーでモデルを簡単に作れることは分かったけど実際どうやって利用するのかに関しては情報が探しづらいため残しておきます。

モデルのデプロイ

今回はデザイナーを例にとります。デザイナーでモデルのデプロイをする際にはその推論パイプラインを丸ごとデプロイすることになります。Webのエンドポイントとしてデプロイする際にはWeb Service InputWeb Service Outputが必要になります。このモジュールを追加しておくことによってエンドポイントに対するリクエストを受け付け、推論パイプラインからの出力を受け取ることができます。
image.png
image.png

デプロイは画面右上のデプロイボタンから実行します。これを押下することでAzure Container InstanceもしくはAzure Kubernetes Service上に展開できます。テスト環境であればACI、本番環境であればAKSのような使い分けのイメージです。
image.png

エンドポイントの設定
image.png

エンドポイントをデプロイすると、Azure Machine Learningのワークスペースから参照できるようになります。
image.png

エンドポイントの使用

[テスト]タブから新しいデータに対する推論結果をテストすることができます。
image.png

[使用]タブでは、実際にアプリケーションに組み込む際にそのまま利用できるC#,Python,Rのサンプルコードが用意されています。
image.png

pythonコードを見てみると以下のJSONをエンドポイントに投げればよいことが分かります。

payload.py
data = {
    "Inputs": {
        "WebServiceInput0":
        [
            {
                '年月日': "2020-10-01",
                '曜日': "木",
                '平均気温(℃)': "21.9",
                '最高気温(℃)': "27.7",
                '最低気温(℃)': "17.7",
                '降水量の合計(mm)': "2",
                '最深積雪(cm)': "0",
                '平均雲量(10分比)': "4.3",
            },
        ],
    },
    "GlobalParameters": {
    }
}

念のためHTTPリクエストのクライアントアプリであるPOSTMANからPOSTできることを確認します。リスト末尾の項目の後ろについているカンマを取り除かないとスキーマのエラーになるのでご注意ください。

image.png

以下のようにresponseが返ってくることを確認しました。
image.png

おわりに

APIとして公開してしまえばあらゆるアプリケーションから呼び出して使うことができます。デプロイまでの流れが簡潔かつすぐに展開できてしまうのでその辺りもAzure MLの強みですね。

リアルタイム推論 vs バッチ推論

リアルタイム推論パイプラインのデプロイはリアルタイム性を担保するため、AKSもしくはACI上にデプロイされます。一方でバッチ推論パイプラインはパイプラインエンドポイントという少し異なる仕様になるようです。アプリケーションとリアルタイムに相互通信する場合はリアルタイム推論を利用し、バッチ的にデータを投入しオンデマンドで分析する場合にはパイプラインエンドポイントを利用すればよさそうです。リアルタイムの場合はAKS等が走るのでそれらのインスタンスの時間課金が発生します。バッチ推論については調査中です。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1