本リポジトリは、MLOps のサンプルコードを素早く利用できることを目的に作成されました。Azure Machine Learning と GitHub Actions を利用する想定です。
- Azure Machine Learning と GitHub の環境を準備します。
- .env ファイルに環境変数の設定をします。
- ./scripts フォルダの各シェルスクリプトを実行します。
- GitHub の Secrets を作成します。
👉 更に詳しい手順や参考資料は クイックスタート のドキュメントを参照してください。
- GitHub
- ソースコード管理、CI/CD パイプライン
- Data
- Azure Machine Learning
- チーム・組織で共有の機械学習プラットフォーム
- Compute Instance : CPU タイプ、クライアント端末
- もしくは Dev Container に対応した GitHub Codespace など
- Compute Cluster : 共有のクラスター環境
- API : Azure Machine Learning CLI (v2)
- IDE/Editor
- Visual Studio Code
CLI v2 + YAML
シナリオ | YAML ファイル | シェルスクリプト | 詳細 |
---|---|---|---|
Create Data asset | cli/assets/create-data.yml | scripts/assets/create-data.sh | データアセットを作成する |
Create Compute Cluster | cli/assets/create-compute.yml | scripts/assets/create-compute.sh | Compute を作成する |
Create Environment for training | cli/assets/create-environment.yml | scripts/assets/create-environment.sh | 環境を作成する |
Notebook
シナリオ | Notebook | シェルスクリプト | 詳細 |
---|---|---|---|
Baseline Notebook | notebooks/train-prototyping.ipynb | scripts/prototyping/run-notebooks.sh | 実験用の Notebook |
CLI v2 + YAML
シナリオ | YAML ファイル | シェルスクリプト | 詳細 |
---|---|---|---|
Job for training model | cli/jobs/train.yml | scripts/training/train.sh | Azure ML の Job として Python script を実行 |
CI/CD Pipeline
シナリオ | YAML ファイル | Status | 詳細 |
---|---|---|---|
Smoke Test | .github/workflows/smoke-testing.yml | Smoke Test パイプライン |
CLI v2 + YAML
シナリオ | YAML ファイル | シェルスクリプト | 詳細 |
---|---|---|---|
Create Batch Endpoint (custom) | cli/endpoints/batch_deployment.yml | scripts/endpoints/deploy-batch-endpoint.sh | カスタム型モデルのバッチエンドポイントへのデプロイ |
Create Batch Endpoint (mlflow) | cli/endpoints/batch_deployment_mlflow.yml | scripts/endpoints/deploy-batch-endpoint.sh | MLflow 型モデルのバッチエンドポイントへのデプロイ |
Create Online Endpoint (custom) | cli/endpoints/online_deployment.yml | scripts/endpoints/deploy-online-endpoint-custom.sh | カスタム型モデルのオンラインエンドポイントへのデプロイ |
Create Online Endpoint (mlflow) | cli/endpoints/online_deployment_mlflow.yml | scripts/endpoints/deploy-online-endpoint-mlflow.sh | MLflow 型モデルのオンラインエンドポイントへのデプロイ |
TODO
TODO
リポジトリ/リソース名 | 概要と目的 | 本リポジトリとの差異 |
---|---|---|
microsoft/MLOps | MLOps の概要説明から、Microsoft 製品でどのように MLOps を実現するのか Azure DevOps や GitHub Actions、IaCなどのツール単位やシナリオ単位でサンプルコードを提供している。 | 本リポジトリは、ツールを1シナリオに絞り、迅速的に活用可能な MLOps のテンプレートを提供する。 |
Azure/mlops-v2 | MLOps に関してより広範で抽象的なテンプレート。 | 本リポジトリは、より具体的なデータ・コードを含み、実行可能なサンプルを目指している。 |
Azure/azureml-examples | AzureML に関してのサンプルコード集。テストコード等が整備されている。 | 本リポジトリは、単発のサンプルコード群ではなく、ML ライフサイクルの一連の流れが end-to-end で網羅されたものを目指している。 |
Tutorial: Azure Machine Learning in a day | End-to-End で AzureML を学ぶことができるチュートリアルページ。 | 本リポジトリは、比較対象のリポジトリでは掲載されていない ML システムを設計・運用していくための Tips も提供している。 |
当社は、外部のリンク先ウェブサイトの内容に関していかなる責任も負うものではありません。お客様は、自らの責任においてこれらのリンクをご利用ください。なお、お客様によるリンクご利用の結果、ないしはリンクご利用に関連して、お客様が被るいかなる損害または損失について当社は、責任を負うものではありません。
We are welcome your contribution from customers and internal microsoft employees. Please see CONTRIBUTING. We appreciate all contributors from Microsoft employees and community to make this repo thrive.
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.