「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
Azure Machine Learning(AzML)のモデルのデプロイについて。
(特に、クロスプラットフォームのデプロイについて確認したい。
詳細 †
デプロイ先 †
のコンピューティング環境
ローカル †
Compute Instance の Jupyter Notebook から、同じ VM 上へモデルをデプロイ。
その他 †
- FPGA
製造後に購入者や設計者が構成を設定できる集積回路
- TensorFlow? モデルを定義する
- SavedModel?でモデルをシリアライズ(ZIP)
- PythonのSDKで、
- TensorFlow? グラフを ONNX 形式に変換
- FPGA対応マシンのコンピューティング環境を作成
- Dockerイメージ化してコンピューティング環境にデプロイ
- Dockerコンテナは、gRPC と TensorFlow? Serving の "予測" API をサポート
種類 †
WebAPI †
- デプロイは、GUIで行うことも出来るし、コードで行うことも出来る。
- コードで行う場合の方法も、CLIでやる場合と、Pythonでやる場合があり、ややこしい。
- エントリ・スクリプトを定義する。
Web サービスに送信されたデータをモデルに渡す(Python)スクリプト。
- 推論構成をJSONで定義する。
(エントリ・スクリプトやDockerイメージ、Conda環境の情報を含む)
- デプロイ構成をJSONで定義する。
(デプロイ先は、前述の選択肢から選択可能)
- エントリ・スクリプトを定義する。
Web サービスに送信されたデータをモデルに渡す(Python)スクリプト。
- Conda 環境をYAMLで定義する。
(conda env export、conda env createで使う)
- 推論構成をSDKで定義する。
(エントリ・スクリプトやDockerイメージ、Conda環境の情報を含む)
- デプロイ構成をSDKで定義する。
(デプロイ先は、前述の選択肢から選択可能)
- 以下のCLIのコマンドでモデルをWebAPIとしてデプロイする。
from azureml.core.model import Model
# Name of the web service that is deployed
aks_service_name = 'aks-dnn-mnist'
# Get the registerd model
model = Model(ws, "tf-dnn-mnist")
# Deploy the model
aks_service = Model.deploy(ws,
models=[model],
inference_config=inference_config,
deployment_config=gpu_aks_config,
deployment_target=aks_target,
name=aks_service_name)
aks_service.wait_for_deployment(show_output=True)
print(aks_service.state)
バッチ †
Docker †
- モデル同梱されたコンテナ
モデルをデプロイせずに Docker イメージを作成する。
- Dockerイメージをダウンロードして実行
- Dockerビルドに使用するファイルをダウンロード
- Dockerコンテナを実行するとWebAPIを公開する
- 事前構築済み推論用コンテナ
モデル デプロイの
- 待ち時間が短縮される。
- 成功率が向上する。
- 不要なイメージのビルドを回避できる。
- 参考
docker-image-inference
ダウンロード †
開発系の機能 †
Automated ML †
Designer †
Notebooks †
参考 †
YouTube? †
Microsoft Docs †
Tags: :クラウド, :BI/AI, :Azure