在机器学习项目里面,总希望有一个平台可以帮你把数据采集/整理,模型训练,测试模型,部署模型链接起来。机器学习团队通过 MLOps 可以有效管理机器学习的项目,并加快从计划到生产发布的迭代周期。
什么是 MLOps?
MLOps 是一种操作方法,旨在促进将实验性机器学习模型投入生产并有效维护它的过程。MLOps 专注于将软件行业中使用的 DevOps 方法引入机器学习模型生命周期。通过这种方式,我们可以定义 MLOPs 项目的一些主要特征:
-
数据和模型版本控制
-
管道和流程的自动化
-
用于机器学习的 CI/CD
-
模型的持续监控
你可以把 MLOps 理解为 ML + Dev + Ops
认知 Azure 机器学习服务
现在 MLOps 实现的工具有很多,在 Azure 上就有非常好用的 MLOps 工具 – Azure 机器学习服务。机器学习专业人员、数据科学家和工程师可以在日常工作流中使用 Azure 机器学习服务训练和部署模型,以及管理 MLOps的流程。
你可以通过 Azure 门户快速创建一个 Azure 机器学习服务 ,在“创建资源” 选择“AI + 机器学习” 选择机器学习,就可以进行创建。
进入创建区域,你需要选择好你的订阅,资源组,以及工作区名字,以及所在区域,就可以创建 Azure 机器学习服务了。
创建成功后,会进入 Azure ML 资源区
点击工作室 Web URL 就可以进入 Azure 机器学习工作室了
通过 Azure 机器学习工作室 ,创作和编辑笔记本和文件,管理公共资源,例如, 数据凭据/计算/环境,直观呈现运行指标、结果和报表,通过开发人员界面创作的管道,创作 AutoML 作业等。
有了 Azure 机器学习服务 ,团队管理机器学习的项目就方便多了。我们可以在 Azure 机器学习工作室看到有对数据 ,训练,模型,部署的管理,也有算力,环境的设置等。当然也有开发环境的如 Notebook ,设计器等让你可以在云端完成相关的开发。
我们有了 MLOps 很好的工具 Azure 机器学习服务, 我们得再思考下,我们在机器学习开发中的几个关键步骤 平台(环境/工具,算力,模型管理/测试/监控/部署, MLOps) + 版本控制 + CI / CD 是我们最不能缺少的。我们如何去简化这些工作是必须思考的 , 通过 Azure ML + GitHub + GitHub Action 就可以完成相关的工作。
GitHub Actions 介绍
GitHub Actions 可让您轻松自动化所有软件工作流程,现在使用世界一流的 CI/CD。直接从 GitHub 构建、测试和部署您的代码。让代码审查、分支管理和问题分类以您想要的方式工作。
▌如何写 Github Actions?
在项目上添加 .github/workflows 下添加 yaml文件
name: train
on: [push]
jobs:
run:
runs-on: [ubuntu-latest]
container: docker://dvcorg/cml-py3:latest
steps:
- uses: actions/checkout@v2
- name: train_pipeline
env:
AZUREML_CLIENTID: ${{secrets.AZUREML_CLIENTID}}
AZUREML_TENANTID: ${{secrets.AZUREML_TENANTID}}
AZUREML_SECRET: ${{secrets.AZUREML_SECRET}}
AZUREML_SUBSCRIPTION: ${{secrets.AZUREML_SUBSCRIPTION}}
AZUREML_RESOURCE_GROUP: ${{secrets.AZUREML_RESOURCE_GROUP}}
AZUREML_WORKSPACE: ${{secrets.AZUREML_WORKSPACE}}
run: |
# Your ML workflow goes here
pip install -r requirements.txt
python iris_train_pipeline.py
# echo "supervised learning output"
# cat output.txt
▌通过 GitHub Action 的 CI/CD 操作
▌如何打通 Azure
通过 GitHub 项目中的Settings 里面的 Secret Action 里,添加相关密钥
通过项目在 GitHub 上的设置,配置好与Azure 相关的Key,如AZUREML_CLIENTID, AZUREML_RESOURCE_GROUP, AZUREML_SECRET, AZUREML_SUBSCRIPTION,AZUREML_TENANTID ,AZUREML_WORKSPACE
获取方式你可以通过输入以下 Azure CLI 命令获取
az ad sp create-for-rbac --sdk-auth --name ml-auth
通过 Azure ML + GitHub + GitHub Actions 可以让你非常方便地完成和管理相关的机器学习项目。
▌数据管理
▌代码管理
▌CI/CD
▌训练过程监控
▌模型部署
相关资源
大家如果想了解更多,可以看关于 MLOps in Action 动手实验课程,当然也可以通过 GitHub 获取相关实验手册。
-
视频观看
https://www.bilibili.com/video/BV1fu411X7tv
-
GitHub 获取相关实验手册
https://github.com/kinfey/HandsOnLab/tree/main/MLOps
原文链接:https://blog.csdn.net/helendemeng/article/details/123285066?ops_request_misc=&request_id=7a0d77931a5e4938a558e149da598e1f&biz_id=&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~koosearch~default-24-123285066-null-null.268%5Ev1%5Econtrol&utm_term=%E6%BE%B3%E6%B4%B2%E7%94%9F%E6%B4%BB