-
Notifications
You must be signed in to change notification settings - Fork 0
MS_AzureMachineLearningTutorial
- 戻る(Azure Machine Learning)
- Azure Machine Learningチュートリアル
- Azure Machine Learningのアルゴリズム・モデル
- Azure Machine Learningのモデルのデプロイ
Azure Machine Learning(AzML)のチュートリアル。
補足(3 つの入口): 本ページの「学習と推論」は、AzML の
**Automated ML(自動)/Designer(GUI)/Notebooks(コード)**という
3 つの入口をそれぞれ試す構成になっている。
どれを使っても、後段の「モデルの登録 → デプロイ」は共通である
(「Azure Machine Learningのモデルのデプロイ」の
「開発系の機能別」に「差異があるか?と言うと、無さそう」とあるのはこの意味)。
Azure Databricksチュートリアルと異なり、無料アカウントが利用できるらしい。
(Azure Machine Learningのワークスペース)
-
作成開始の方法
- ポータルで [リソースの作成] > [AI + Machine Learning] > [Machine Learning] の順に選択
-
値を指定
-
ワークスペース名
myazmlwsとか -
サブスクリプション
任意の値 -
リソース グループ
DplRGとか -
場所(リージョン)
- データ・パイプライン系は「West US 2」辺りが良いかも。
- リージョン別の Azure 製品 | Microsoft Azure
https://azure.microsoft.com/ja-jp/global-infrastructure/services/?products=databricks
-
その他、ストレージ系
-
ストレージ・アカウント
新規 -
キー・コンテナー
新規 -
Application Insight
新規 -
コンテナ・レジストリ
新規(なしのままでも OK)osscjpdevinfraacr- 標準
-
-
ネットワーク
- ○:パブリック・エンドポイント
- プライベート・エンドポイント
-
詳細
既定値
-
-
[作成] ボタンを押下
ワークスペースの作成には数分かかる。- 「デプロイが完了しました」が表示されたら、
- [リソースに移動] ボタンを押下する。
- [スタジオの起動] ボタンを押下する。
- Azure Machine Learning Studio に移動する。
- スタジオ起動後、右上の「⚙」メニューから言語の設定が可能。
-
使用量 + クォータ
-
エンドポイントの保護
パブリック・エンドポイントの場合- IP アドレス制限
- Azure ADの認証が必要
-
IaC 化
-
- 情報なし。
-
-
v1.0 では以下のように作成可能。
>az login >az account subscription list --output table >az account set --subscription xxxxx >az ml workspace create --workspace-name [名称] --resource-group [既存のRG名] --location [場所(リージョン)] -
v2.0 では YAML を使用可能になり
Azure Private Endpointを使用するような
ケースでの対応が容易になる。 -
参考
・https://github.com/OpenTouryoProject/DataPipeline/blob/develop/AiBi/AI/AzML/README.md
-
-
移行メモ(誤字・空節): 「データ・パープライン系」→
「データ・パイプライン系」を修正した。
また、本節の末尾にあった空の「参考」項目は内容が無いため落とした。
<Azure Machine Learning Studio から>
-
作成開始の方法
- 左メニューから [コンピューティング] に移動し、
- [コンピューティング インスタンス] タブから [新規] を押下。
-
値を指定
-
コンピューティング名
myazmlcompとか -
仮想マシンの種類
(CPU) or GPU -
仮想マシンのサイズ
既定値 -
詳細 > 設定の構成
既定値
-
-
[作成] ボタンを押下
コンピューティング インスタンスの作成には数分かかる。
<スクリプトから>
補足(インスタンスとクラスタの違い): コンピューティング インスタンスは
開発者 1 人が使う常設の VM(Notebook や VS Code の実行環境)で、
止め忘れるとその分課金され続ける。
一方コンピューティング クラスタはジョブ実行用で、
次項のとおり最小ノード数を 0 にしておけば
アイドル時に自動で縮退し、待機中の課金が発生しない。
<Azure Machine Learning Studio から>
-
作成開始の方法
- 左メニューから [コンピューティング] に移動し、
- [コンピューティング クラスタ] タブから [新規] を押下。
-
値を指定
-
場所
ワークスペースの場所 -
バーチャル マシン層
(専用) or 低優先度 -
仮想マシンの種類
(CPU) or GPU -
仮想マシンのサイズ
既定値 -
設定の構成
-
コンピューティング名
myazmlclstとか -
ノード数
・最小:0
・最大:1(クォータによって可変) -
スケール ダウンする前のアイドル時間 (秒)
既定値(120 秒)
-
-
-
[作成] ボタンを押下
コンピューティング クラスタの作成には数分かかる。
<スクリプトから>
(Azure Machine Learningの Automated ML)
をデータセットとして使用。
-
データセット
-
作成開始の方法
- 左メニューから [データセット] に移動し [データセットの作成] を押下。
- [ローカル ファイルから] を選択して、以下の手順でアップロード
-
値を指定
-
基本情報
・名前:Titanic.csv
・データセットの種類:表形式
・説明:任意の文字列
・[次へ] ボタンを押下 -
データストアとファイルの選択
・[参照] -> [ファイルの参照] でアップロード
・[次へ] ボタンを押下 -
設定とプレビュー
・設定とプレビューを確認
・必要に応じて設定を修正
・[次へ] ボタンを押下 -
スキーマ
・スキーマを確認
・必要に応じてスキーマを修正
・スキーマの変更
・列の論理削除
・[次へ] ボタンを押下 -
詳細の確認
・詳細を確認
・[作成] ボタンを押下
-
-
-
学習と推論
-
作成開始の方法
- 左メニューから [自動 ML] に移動し [新しい自動 ML の実行] を押下。
- 以下の手順で [新しい自動 ML の実行] を作成。
-
値を指定
-
データセットの選択
・データセットを選択
・[次へ] ボタンを押下 -
実行の構成
・実験名 -> 新規作成 -> 新しい実験名:Titanic-AutoML
・ターゲット列:Survived (Integer)
・コンピューティングの種類を選択:コンピューティング クラスタ
・Azure ML コンピューティング XXX を選択する:myazmlclst
・[次へ] ボタンを押下 -
タスクと設定の選択
・タスクと設定の選択:(分類)、回帰、時系列の予測
・追加の構成設定を表示する -> 終了条件 -> トレーニング ジョブ時間 (時間単位):0.5
・特徴量化設定の表示 -> 手動での特徴量の設定(除外、型指定、補完方法) -
[オプション] 検証とテスト
・検証の種類:既定値
・[終了] ボタンを押下
-
-
実験の実行画面に飛ぶ。
-
-
評価とデプロイ
-
左メニューから [実験] に移動し、
-
実験名 -> 実験 ID から実験を表示する。
-
評価
-
[詳細] タブ
-
[データ ガードレール] タブ
どんな条件でクロスバリデーションや欠損値の補完が実行されたか? -
[モデル] タブ
テストされたすべてのモデルの比較、モデルのダウンロード
・特定のアルゴリズムをクリック:各種メトリクスの確認
・... -
[出力とログ] タブ
-
[子の実行] タブ
-
[スナップショット] タブ
-
-
デプロイ
-
-
WebAPI で推論を実行
- 左メニューから [エンドポイント] に移動、
- エンドポイント名をクリックし [使用] タブに移動、
- ココから Python のコードをコピペする。
- Notebooks の Hello worldの要領で実行する。
移行メモ(誤字): 「欠損値の保管」→「欠損値の補完」を修正した。
補足(推論先に ACI が選ばれている): 「推論クラスタ(AKS)は高価そうなので
インスタンスを選択」とあるが、ここで選ばれているのは
コンピューティング インスタンスではなく
**ACI(Azure Container Instances)**である。
AzML のデプロイ先としては、
ACI が検証用、AKS が本番用という使い分けになる
(「Azure Machine Learningのモデルのデプロイ」を参照)。
- https://learn.microsoft.com/ja-jp/azure/machine-learning/tutorial-first-experiment-automated-ml
- https://automlsamplenotebookdata.blob.core.windows.net/automl-sample-notebook-data/bankmarketing_train.csv
- https://learn.microsoft.com/ja-jp/azure/machine-learning/tutorial-automated-ml-forecast
- https://github.com/Azure/azureml-examples/blob/main/python-sdk/tutorials/automl-with-azureml/forecasting-bike-share/bike-no.csv
糖尿病データセット(DNET_DataMiningDataSet.md)
(Azure Machine Learningの Designer)
Automobile price prediction サンプルを選択
-
プロジェクト・テンプレートの選択
-
作成開始の方法
左メニューから [デザイナー] に移動し [サンプルの表示数を増やす] を押下。 -
Regression - Automobile Price Prediction (Basic) を選択
(コレは Azure ML のプロジェクト・テンプレートのようなモノか?)
-
-
データセット
- パイプラインの編集
- 学習データを [視覚化(データを表示する)] から確認
- 必要なら、データセットの差し替えが可能。
(登録済み Datasetsから追加&差替)
- パイプラインの編集
-
学習と推論
-
パイプラインの編集
- パイプラインを確認(特徴量選択 -> 欠損値の補完 -> データ分割)
- 学習のアルゴリズムを確認(線形回帰のアルゴリズム)
-
コンピューティング環境の設定
・「⚙」メニューからコンピューティング環境の設定が可能。
・既定のコンピューティング先
・コンピューティングの種類を選択:コンピューティング クラスタ
・Azure ML コンピューティング XXX を選択する:myazmlclst -
[送信] ボタンを押下
・実験名 -> 新規作成 -> 新しい実験名:APP-Designer
・[送信] ボタンを押下
・グラフが順次実行されて行く。
-
-
評価とデプロイ
-
左メニューから [実験] に移動し、
-
実験名 -> 実験 ID から実験を表示する。
-
評価
- [グラフ] タブ
- [手順] タブ
- [出力とログ] タブ
- [メトリック] タブ
- [画像] タブ
- [スナップショット] タブ
- [説明] タブ
- [公平性] タブ
-
デプロイ
- [公開] ボタンを押下
-
移行メモ(誤字): 「[出力とロク] タブ」→「[出力とログ] タブ」を修正した。
(Azure Machine Learningの Notebooks)
-
プロジェクト・テンプレートの準備
-
作成開始の方法
左メニューから [Notebooks] に移動、 -
[ファイル] タブから [Samples] フォルダを作成
-
[サンプル] タブからサンプルをクローン
- Pythonのバージョン毎にフォルダが在る。
- src にルート(x.xx.x)フォルダを選択してクローンする。
- dst に作成した [Samples] フォルダを選択する。
-
-
[ファイル] タブのフォルダから [新しいファイルの作成] を選択
- ファイル名:
helloworld.ipynb - ファイルの種類:ノートブック (*.ipynb)
- [作成] ボタンを押下
- ファイル名:
-
実装
-
Jupyter Notebook ライクな IDE I/F が開く。
(AzureのNotebookを参照) -
メニューのエディターから他の IDE I/F を選択可能。
-
Jupyter Notebook
-
JupyterLab(
DNET_JupyterLab.md)
-
-
以下の実装を行う。
print('Hello World')
-
-
実行
- コンピューティング:myazmlcomp
- セルの左の [実行] ボタンを押下して実行する。
- Python for Visual Studio Codeにあるように設定する。
- Azure ML から VS Code を起動すると Azure ML と接続した VS Code のウィンドウが起動
- クローンなどの操作は、ターミナルのウィンドウから行う事もできる。
プロジェクト・テンプレートの選択
-
Jupyter から Terminal を開き、以下をクローンし、
-
module2 に移動して、順次、進めて行く。
- データセット
- 学習
-
module3 に移動して、順次、進めて行く。
- デプロイ
- 推論
カスタム ロールを割り当てる。
移行メモ(未記述): 元ページは本節の本文が
見出し(「...」)のみで書かれていなかった。
参考のリンク先を参照のこと。
著者による本文が加筆された場合は置き換えること。
- VNET テクノロジーでセキュリティ保護することができる。
- 複数のサービスが関連しているため、その構成は少し複雑。
移行メモ(未記述): 本節も本文が「...」のみだった。
「複数のサービスが関連している」というのは、AzML の
ワークスペースがストレージ アカウント・キー コンテナー・
コンテナー レジストリ・Application Insights に依存しており、
それらすべてを VNET 側に閉じる必要があることを指す。
参考のリンク先が詳しい。
-
Azure Machine LearningのVNETデプロイと
MLFlowによるDatabricksのトラッキング
https://qiita.com/whata/items/f2483e4759e077848de4 -
Azure Machine Learning の Private Link 対応
https://zenn.dev/keonabut/articles/ad61e4d1da7ceb90862a -
仮想ネットワーク (Vnet) 上で Azure Machine Learning を
使用する方法について | Japan Machine Learning Support Blog
https://jpmlblog.github.io/blog/2020/10/28/AML-use-behind-vnet/ -
machine-learning-best-practices/architecture.md
at main · Azure/machine-learning-best-practices · GitHub
https://github.com/Azure/machine-learning-best-practices/blob/main/technical/architecture.md
-
機械学習(AI)初学者のファーストステップ
https://qiita.com/tetsu831018/items/433a3b62d81a89580eaa -
Azure Machine Learningのいろは
https://qiita.com/gnbrganchan/items/43e6c44754cb83220db5
- Azure Machine Learning で AutoML 使って
モデル構築 → デプロイまでのハンズオン
https://qiita.com/Catetin0310/items/e8e86997bd96e0144ced
...
- Azure ML Python SDK を使う
- 1:データセットをインプットとして使う - その1
https://qiita.com/notanaha/items/89fd11fff8eb3fead176 - 2:データセットをインプットとして使う - その2
https://qiita.com/notanaha/items/30d57590c92b03bc953c - 3:アウトプットを Blob ストレージに書きだす - その1
https://qiita.com/notanaha/items/d22ba02b9cc903d281b6 - 4:アウトプットを Blob ストレージに書きだす - その2
https://qiita.com/notanaha/items/655290670a83f2a00fdc - 5:パイプラインの基本
https://qiita.com/notanaha/items/6d86631a5dd9956ed011
- 1:データセットをインプットとして使う - その1
-
Azure Machine Learningからの機械学習モデルのデプロイ(Local/ACI/AKS)
https://qiita.com/ryokita/items/a65063482cf6367071c4 -
Azure Machine Learning で自作モデルをデプロイする
https://qiita.com/ko10/items/2e702e6b1a1f1e60cc05 -
AzureMLで機械学習/推論を実行する
(データ登録、コンピューティングクラスタでの学習、AKSへのデプロイ)
https://qiita.com/eisai-bs/items/b68526a8a9e0d05ad702
(AutoML & Designer 概要)
https://www.youtube.com/playlist?list=PLzmfTuDFwtKEH_W9--AtsD4kwNSPEChPO
-
基礎編
https://www.youtube.com/watch?v=phbcUrWNJy8-
Module
- #1 環境構築
- #2 studio での基本機能の確認
-
Resources
https://speakerdeck.com/konabuta/azure-machine-learning-hanzuonsirizu-ji-chu-bian-zi-liao
-
-
Python による機械学習入門
https://www.youtube.com/watch?v=VVu7lnE057E-
Module
- #1 Visual Studio Code 入門
- #2 Python と scikit-learn でのモデル学習とチューニング
- #3 様々な環境へのデプロイ
-
Resources
-
-
テキスト分類
https://www.youtube.com/watch?v=aJhFJ3tRz5Y-
Module
- #1 テキスト分類に用いるデータの準備
- #2 テキスト分類の考え方とテキスト分類モデル
- #3 モデルトレーニングと推論
-
Resources
スライドなし
-
-
画像分類
動画なし(https://dllab.connpass.com/event/217506/)-
Module
- #1 画像分類の考え方
- #2 PyTorch による画像の取扱い
- #3 Azure ML によるモデルトレーニングとデプロイ
-
Resources
スライドなし
-
-
モデル解釈
(Azure Machine Learningのアルゴリズム・モデルを参照)
-
Azure Machine Learning CLI のインストールと使用
https://docs.microsoft.com/ja-jp/azure/machine-learning/reference-azure-machine-learning-cli -
仮想ネットワークの分離とプライバシーの概要
https://docs.microsoft.com/ja-jp/azure/machine-learning/how-to-network-security-overview -
Azure Machine Learning 内に Azure Databricks
と AutoML を含む開発環境をセットアップする
https://docs.microsoft.com/ja-jp/azure/machine-learning/how-to-configure-databricks-automl-environment
- ワークスペース リソースを作成する
https://docs.microsoft.com/ja-jp/azure/machine-learning/quickstart-create-resources
- ポータルまたは Python SDK を
使用してワークスペースを管理する
https://docs.microsoft.com/ja-jp/azure/machine-learning/how-to-manage-workspace - Azure CLI を使用したワークスペースの作成
https://docs.microsoft.com/ja-jp/azure/machine-learning/how-to-manage-workspace-cli
-
AutoML
-
デザイナー
-
Azure Architecture Center
- Azure 上でリアルタイム レコメンデーション API を構築する
https://docs.microsoft.com/ja-jp/azure/architecture/reference-architectures/ai/real-time-recommendation - コンテンツ ベースのレコメンデーション システムを構築する
https://docs.microsoft.com/ja-jp/azure/architecture/example-scenario/ai/scalable-personalization-with-content-based-recommendation-system - 映画のレコメンデーション システムを構築する
https://docs.microsoft.com/ja-jp/azure/architecture/example-scenario/ai/movie-recommendations-with-machine-learning
- Azure 上でリアルタイム レコメンデーション API を構築する
-
スタジオ UI を使用して自動 ML を設定する
https://docs.microsoft.com/ja-jp/azure/machine-learning/how-to-use-automated-ml-for-ml-models -
スタジオを使用して、デザイナーでトレーニングされたモデルをデプロイする
https://docs.microsoft.com/ja-jp/azure/machine-learning/how-to-deploy-model-designer
- https://github.com/yomaki/azure-ml-python-handson\ (以下のdp100の一部を翻訳したもの)
- Azure Machine Learning
- Azure Machine Learningのアルゴリズム・モデル
- Azure Machine Learningのモデルのデプロイ
- AzureのNotebook
- Azure Databricksチュートリアル
Tags: クラウド, BI/AI, Azure
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。