「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
- 機械学習モデルを構築、トレーニング、デプロイが可能なプラットフォーム
- 様々な機能で専門的な知識を必要とするデータサイエンスをエンジニアリングに落としている。
- Notebookにより機械学習プロセスの設計・実装と実行をする機能
- GUI、マウス操作で機械学習プロセスを設計・実行する機能
- 機械学習プロセス設計の煩雑さを自動化によって解消するAutoML機能
詳細 †
用語 †
ワークスペース †
- 機械学習のモデルのトレーニングやデプロイに用いるすべてのリソースを管理する場所。
- 様々なPaaSと連携して動いている。その他、様々なリソースやアセットを持つ。
実験、実行、実行構成、スナップショット †
- 実験
機械学習のモデル構築のためにトレーニングを行うことを指す。
- 実行
- 実験に関する実行は、スクリプトを1回行うこと。
- メタデータ、メトリック、出力ファイル、スナップショットなどが記録される。
- スナップショット
実行時にスクリプトに含まれているファイルが実行レコードに保存される。
モデル、モデルレジストリ †
- TensorFlow?、PyTorch?、Scikit-learn、Chainer
のような、外部のフレームワークを使うことができる。
- ワークスペース内の学習モデルは、モデルレジストリで追跡可能
エンドポイント †
- クラウド上のWebサービス、IoTをエンドポイントとして指定
- 措定したエンドポイントにモジュールをデプロイする。
Machine Learning Studio †
- Azure Machine Learning 開発者向け Web ポータル
- UIとしては、言語(Python、R)とGUIがあり、StudioはGUIに相当する。
- ただ、言語(Python、R)だけでは完結しないので、
言語を使用するときもStudioを併用する必要があるらしい。
- ただし、言語を使用しないケースでは、Studioだけで完結できる。
(classic) †
2015年にリリースされたAzure Machine Learning Studioが先行してGUI環境を実現。
- ドラッグ アンド ドロップ機械学習ビルダー
- コード・ファーストが存在しなかった。
- Azure Machine Learningと相互運用できない。
- 2024 年 8 月 31 日に終了
- 2021 年 12 月 1 日以降、新しい リソースは作成できない。
メニュー †
以下のような構成になっている。
開発系の機能 †
Automated ML †
- GUIで設定する場合、
コードで設定する場合がある。
- 特徴量エンジニアリング
- 特徴量の手動選択も可能
- 欠損データ補完方法を選択可能
- モデルとモデルを作成するアルゴリズムの選択
- 作成されたモデルの(ハイパーパラメタ)チューニング
- モデルのリーダーボード(ランキング的な)と解釈
- 実行結果の確認
- 実行IDをクリック
- 以下のタブからチェック可能
- 詳細
実行IDの詳細情報
- データ ガードレール
データの品質をチェックできる。
- モデル
モデルをチェックできる。
・モデルのリーダーボード
・個別のモデルの概要、説明、メトリック
・, etc.
- モデルを推論環境にデプロイして推論(リアルタイム or バッチ)
Designer †
- テンプレートを選択
0から設計するか、テンプレートを選択してカスタマイズする。
- 特徴量エンジニアリング
・特徴量の手動選択も可能
・欠損データ補完方法を選択可能
- モデル作成アルゴリズムの選択
(回帰、分類、クラスタリング)
- モデルを推論環境にデプロイして推論(リアルタイム or バッチ)
Notebooks †
- ファイルを作成 or 選択して
- サンプルも用意されていて、
これをファイル管理下にクローンできる。
- また、GitHub上のコードを
ファイル管理下にクローンできる。
(Jupyter → Terminal で git cloneコマンド実行)
- テンプレートを選択
0から設計・実装するか、テンプレートを選択してカスタマイズする。
- パイプラインの構成
コーディングによってパイプラインを構成する。
- パイプラインの実行
- コンピューターの選択(計算環境の設定
- 実験名はSDKを使用したコーディングで設定する。
- Notebookを実行
- モデルを推論環境にデプロイして推論(リアルタイム or バッチ)
インフラ系の機能 †
Compute †
(計算環境
- Compute Instance
≒ ローカル環境(開発・学習・推論で利用可能)
※ Notebooks(コーディング環境管理下のファイルを使う。
※ 各種のSKD、Azure Machine Learning Python SDKもインストール済み。
- Compute Clusters
≒ 学習環境
- 様々なスペックのVM
- 自動スケールアップ・ダウン
- ジョブ、スケジュール管理
- ライブラリ・データの自動準備
- 低優先度オプション(スポット VM
- 推論環境
- 推論クラスタの実体はAKSらしい。
- 推論クラスタではない環境として、ローカル(Compute Instance)、ACIなどもあるもよう。
- デプロイ後はWebAPIとして使用できる(ACIだと認証なし。AKSでは認証あり。)。
Datasets †
(データの登録・管理
- データの選択
- アップロード
- ダウンロード
- ストレージから選択
- オープンデータから選択
Models †
(モデル管理
その他の機能 †
MLOps †
責任あるML †
オープン&相互運用性 †
- モデル
- PyTorch?
- TensorFlow?
- scikit-learn
- XGBoost
- LightGBM
モデルの他環境への展開 †
ONNX、RevoScaleRでエッジなどへ展開できる。
参考 †
Qiita †
- Amazon SageMaker?とAzure MLにおける機械学習モデルのサービング技術比較
YouTube? †
Tech Briefing: Azure Machine Learning †
Ignite & Build 2021 最新アップデート Analytics&AI †
microsoft.com †
Microsoft Azure †
Microsoft Docs †
Learn †
機能 †
Machine Learning Best Practices †
https://azure.github.io/machine-learning-best-practices
Machine-Learning-Collection †
https://github.com/aladdinpersson/Machine-Learning-Collection
Tags: :クラウド, :BI/AI, :Azure