This repo shows how to use Azure Machine Learning (ML) Services and Azure DevOps to manage machine learning using DevOps principles and practices.
A model is trained on Pima Indian Diabetes data to predict the likelihood of diabetes from health markers. The training is done using Azure Machine learning workspaces and every step of the process is in code. The trained model is deployed to Azure Container Instances (ACI) for consuming. Once approved, the model is deployed to AKS to show production-grade deployment.
While a data scientist could run the training pipeline numerous times with a different c
value for the LogisticRegression
model, a better way to hypertune the model is to use AutoML. Using AutoML, Azure ML iterates the training/scoring automatically for scores of runs, selecting the best model (and parameters). This model is deployed in the same manner as the model that is "manually" trained.
- Scoring URL: Get this from the ML Portal under Endpoints.
- For the Swagger, change
/score
to/swagger.json
in the URL to get the OpenAPI definition.
A simple website is deployed that consumes a deployed model. See this page for a demo.
Stage | Status |
---|---|
Provision Workspace | |
Train Model | |
Deploy to ACI | |
Deploy to AKS |
Stage | Status |
---|---|
Build Site | |
Provision Infra and Deploy to DEV | |
Provision Infra and Deploy to PROD |
Stage | Status |
---|---|
Provision Workspace | |
Train Model | |
Deploy Model to ACI |