什么是 Azure 机器学习 CLI 和 Python SDK v2?

适用范围:Azure CLI ml 扩展 v2(当前版本)Python SDK azure-ai-ml v2(当前版本)

Azure 机器学习 CLI v2 (CLI v2) 和 Azure 机器学习 Python SDK v2 (SDK v2) 引入了跨接口的功能和术语的一致性。 为了建立这种一致性,命令语法在某些情况下与第一个版本 (v1) 有很大的不同。

CLI v2 和 SDK v2 之间的功能没有差异。 基于命令行的 CLI 在 CI/CD MLOps 类型的场景中可能更方便,而 SDK 可能更便于开发。

Azure 机器学习 CLI v2

Azure 机器学习 CLI v2 是 Azure CLI 的最新扩展。 CLI v2 以 az ml <名词><动词><选项> 格式提供命令来创建和维护机器学习资产与工作流。 资产或工作流本身是使用 YAML 文件定义的。 YAML 文件定义资产或工作流的配置。 例如,它是什么,它应该在哪里运行?

CLI v2 命令的几个示例:

  • az ml job create --file my_job_definition.yaml
  • az ml environment update --name my-env --file my_updated_env_definition.yaml
  • az ml model list
  • az ml compute show --name my_compute

CLI v2 用例

CLI v2 对于以下情况非常有用:

  • 无需学习特定的编程语言即可加入到 Azure 机器学习。

    YAML 文件定义资产或工作流的配置,例如它是什么及其运行位置? 使用的任何自定义逻辑或 IP(例如数据准备、模型训练和模型评分)都可以保留在脚本文件中。 这些文件在 YAML 中引用,但不属于 YAML 本身。 机器学习支持 Python、R、Java、Julia 或 C# 语言的脚本文件。 只需学习 YAML 格式和命令行就能使用机器学习。 你可以坚持使用自己选择的脚本文件。

  • 利用轻松部署和自动化。

    使用命令行执行使部署和自动化更简单,因为可以从任何产品或平台调用工作流,从而允许用户调用命令行。

  • 使用托管推理部署。

    机器学习提供终结点,可简化实时部署和批量推理部署的模型部署。 此功能仅通过 CLI v2 和 SDK v2 提供。

  • 在管道中重复使用组件。

    机器学习引入了用于跨管道管理和重用通用逻辑的组件。 此功能仅通过 CLI v2 和 SDK v2 提供。

Azure 机器学习 Python SDK v2

Azure 机器学习 Python SDK v2 是一个更新的 Python SDK 包,它使用户能够:

  • 提交训练作业。
  • 管理数据、模型和环境。
  • 执行托管推理(实时和批量)。
  • 使用机器学习管道将多个任务和生产工作流拼结到一起。

SDK v2 与 CLI v2 功能相当,在 SDK 与 CLI 之间使用资产(名词)和操作(动词)的方式是一致的。 例如,若要列出资产,可以在 SDK 和 CLI 中使用 list 操作。 可使用同一 list 操作列出计算、模型、环境等。

SDK v2 用例

SDK v2 对于以下情况非常有用:

  • 使用 Python 函数生成单个步骤或复杂工作流。

    SDK v2 允许生成单个命令或 Python 函数等命令链。 该命令具有名称和参数,需要输入并返回输出。

  • 逐步从简单概念转向复杂概念。

    使用 SDK v2 可以:

    • 构造单个命令。
    • 在该命令的基础上添加超参数扫描。
    • 将该命令连同其他各种命令逐个添加到管道中。

    由于机器学习的迭代性,这种构造非常有用。

  • 在管道中重复使用组件。

    机器学习引入了用于跨管道管理和重用通用逻辑的组件。 此功能仅通过 CLI v2 和 SDK v2 提供。

  • 使用托管推理。

    机器学习提供终结点,可简化实时部署和批量推理部署的模型部署。 此功能仅通过 CLI v2 和 SDK v2 提供。

我应该使用 v1 还是 v2?

对 CLI v1 的支持将于 2025 年 9 月 30 日结束。

建议将 CLI 和 SDK v1 的代码迁移到 CLI 和 SDK v2。 有关详细信息,请参阅升级 v2

CLI v2

Azure 机器学习 CLI v1 已弃用。 对 v1 扩展的支持将于 2025 年 9 月 30 日结束。 在该日期之前,你将能够安装和使用 v1 扩展。

建议在 2025 年 9 月 30 日之前转换为 ml 或 v2 扩展。

SDK v2

我们未计划 Azure 机器学习 Python SDK v1 的弃用日期。 如果你为 Python SDK v1 投入了很多并且不需要 SDK v2 提供的任何新功能,可以继续使用 SDK v1。 但是,对于以下情况,请考虑使用 SDK v2:

  • 你想使用新的功能,例如可重用组件、托管推理。
  • 正在启动新的工作流或管道。 所有新功能和未来投资都将在 v2 中引入。
  • 你想利用 Python SDK v2 改进的可用性,使用 Python 函数编写作业和管道的功能、从简单任务到复杂任务的轻松演变,等等。

后续步骤