Skip to content

如何使用 Python SDK 管理 Azure 机器学习资源

通过集成 Azure AI ML SDK v2,开发者可以使用 Python 代码自动化管理机器学习的全生命周期,包括计算集群配置、数据资产注册、模型版本控制及训练流水线的部署。

为什么需要这个技能

在企业级机器学习项目中,手动在 Azure 门户中配置资源效率低下且难以复现。通过 Python SDK,你可以将基础设施即代码(IaC)应用于 ML 流程,实现实验的可重复性。

无论是创建可自动缩容的计算集群以节省成本,还是通过版本化管理数据集和模型以确保生产环境的稳定性,SDK 都能提供比 UI 界面更灵活、更可编程的控制能力。

适用场景

  • 自动化 MLOps 流程:将模型训练、评估和注册集成到 CI/CD 流水线中。
  • 动态资源管理:根据任务需求自动创建或调整 GPU/CPU 计算集群。
  • 数据与模型血缘追踪:为数据集和模型创建版本记录,方便回溯实验结果。
  • 复杂工作流编排:构建包含多个步骤(预处理 训练 评估)的 ML 管道。

核心工作流

1. 环境准备与认证

首先安装 SDK 并配置必要的环境变量。使用 DefaultAzureCredential 可以无缝适配本地开发环境和云端托管身份。

bash
pip install azure-ai-ml
python
from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential
import os

ml_client = MLClient(
    credential=DefaultAzureCredential(),
    subscription_id=os.environ["AZURE_SUBSCRIPTION_ID"],
    resource_group_name=os.environ["AZURE_RESOURCE_GROUP"],
    workspace_name=os.environ["AZURE_ML_WORKSPACE_NAME"]
)

2. 资源生命周期管理

通过 ml_client 提供的不同操作模块,可以快速完成资源定义:

  • 计算资源:定义 AmlCompute 并设置 min_instancesmax_instances 实现自动缩容。
  • 数据资产:使用 Data 实体将云端路径注册为版本化数据集。
  • 模型注册:将训练完成的模型文件通过 Model 实体上传至模型仓库。

3. 任务执行与监控

定义 command 任务来提交训练作业,并利用 stream 方法实时监控远程日志输出。

python
from azure.ai.ml import command, Input

job = command(
    code="./src",
    command="python train.py --data ${{inputs.data}} --lr ${{inputs.learning_rate}}",
    inputs={"data": Input(type="uri_folder", path="azureml:my-dataset:1"), "learning_rate": 0.01},
    compute="cpu-cluster",
    environment="AzureML-sklearn-1.0-ubuntu20.04-py38-cpu@latest"
)

returned_job = ml_client.jobs.create_or_update(job)
ml_client.jobs.stream(returned_job.name)

下载和安装

下载 azure-ai-ml-py 中文版 Skill ZIP

解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md

你可能还需要

暂无推荐