跳至主要内容

Azure 机器学习新手指南

在我们的新手指南中探索 Azure 机器学习,了解如何设置、部署模型,并在 Azure 生态系统中利用 AutoML 与 ML Studio。
· 11分钟 阅读

使用 AI 探索

Azure 机器学习(Azure ML)是一项面向机器学习项目全生命周期的综合云服务,面向数据科学家、机器学习从业者和工程师。它与 Azure 生态系统无缝集成,提供用于构建、部署和管理机器学习模型的强大平台。

本文将带您从入门到进阶功能,掌握 Azure 机器学习的要点,帮助您高效使用这一强大的平台。如果您刚开始,可以阅读我们单独的Azure 设置与配置指南。

Azure 机器学习封面图

图片来源

Azure 机器学习概览

Azure 机器学习(ML)加速机器学习生命周期,提供用于模型训练、部署与管理的工具。它支持协作,用户可通过 Machine Learning Studio 的界面共享与查找项目资产、资源和指标。

该平台开放且可互操作,支持常见的 Python 框架,如 PyTorch、TensorFlow、scikit-learn 等,也支持 R 和 .NET。

Azure ML 的亮点在于企业级安全能力,包括与 Azure 虚拟网络、Azure Key Vault 和 Azure 容器注册表的集成,确保机器学习项目既安全又适合协作。

谁适合使用 Azure 机器学习?

Azure 机器学习面向希望集成 MLOps、在安全且可审计的生产环境中高效部署机器学习模型的个人和团队。

数据科学家和 ML 工程师可使用一整套工具以精简并强化其工作流,让他们将精力更多投入到创新而非日常事务上。

应用开发者可受益于完善的工具集,将机器学习模型无缝集成到应用或服务中,提升功能与用户体验。

对于运行在 Microsoft Azure 云生态中的组织,还能进一步利用 Azure 熟悉的安全框架与基于角色的访问控制。

逐步搭建 Azure ML 工作区指南 Azure ML 工作区界面截图

在 Azure 上创建 ML 工作区

  1. 登录 Azure 门户:先登录您的 Azure 门户账户,如有需要请先创建账户。
  2. 查找 Azure Machine Learning:使用门户搜索,在服务中找到并选择“Machine Learning”。
  3. 开始创建工作区:点击“Create”开始设置新的 Machine Learning 工作区。
  4. 配置基础设置:
    1. Subscription:选择您的 Azure 订阅用于计费。
    2. Resource Group:使用现有资源组或新建一个以组织 Azure 资源。
    3. Workspace Name:为工作区指定一个唯一名称。
    4. Region:选择区域,最好靠近您或您的数据源。
  5. 设置资源详细信息:
    1. Storage Account:分配现有或新建的存储帐户用于项目文件存储。
    2. Key Vault:选择或创建 Key Vault 以安全存储机密。
    3. Application Insights:选择一个 Application Insights 资源用于监控。
    4. Container Registry:为容器化模型或服务指定容器注册表。
  6. 审阅并部署:检查您的设置,然后点击“Review + create”,由 Azure 验证您的配置。

Azure Machine Learning Studio

Azure Machine Learning Studio 界面截图

Azure Machine Learning Studio

Azure Machine Learning Studio 是 Azure 机器学习(ML)的核心组件之一。它是一个带有图形界面的集成开发环境(IDE),用于在 Azure 上开发与运营化机器学习工作流。

它简化了从数据准备到模型部署的流程,提供零代码或低代码体验,让机器学习对更广泛的用户群体可用,从初学者到资深数据科学家皆可受益。

Azure ML Studio 的核心吸引力在于其简洁与强大。它提供友好的拖放式界面,在无需深厚编程知识的情况下,简化模型的创建、训练与部署。

同时,它也足以应对复杂工作流,提供如自动化机器学习(AutoML)与 ML Designer 等功能,以实现更可控、定制化的管道构建。

ML Studio 还能与 Azure 生态无缝集成,提供用于监控应用与服务、安全存储机密以及管理计算资源的工具。它通过共享笔记本与实验支持协作,提升团队在机器学习项目上的协同效率。

对于偏好编码的数据科学家,ML Studio 提供 Azure SDK,可让 Python 代码与 ML Studio 的资源与实验交互,在零/低代码与以代码为中心的机器学习方式之间架起桥梁。

这种灵活性确保 Azure ML Studio 能满足广泛的需求与偏好,无论您是青睐可视化编程与拖放式简便,还是更喜欢编码所带来的掌控力与可定制性。

Azure 自动化机器学习(AutoML)

Azure AutoML 界面截图

自动化机器学习(AutoML)是 Azure 机器学习的核心组件之一。它以能够自动选择算法和超参数而闻名,从而简化模型训练过程。

用户只需指定数据集、机器学习任务(如分类、回归)以及一些可选参数,其余工作由 Azure ML Studio 处理,并基于给定标准交付表现最佳的模型。

这不仅加速了开发周期,也让更多不同水平的用户都能参与到机器学习项目中,提升了机器学习的普及度。

在 Azure ML 中使用 AutoML 十分直接。按照以下步骤进行:

  1. 导航:前往“Authoring”部分下的“Automated ML”。
  2. 新建作业:点击“+ New automated ML job”。
  3. 选择数据:选择现有数据资产或创建新资产,确保其为表格形式且包含目标列。
  4. 设置实验:为实验命名,并为作业选择计算类型。
  5. 配置任务:选择任务类型(分类、回归或预测),并配置主指标与屏蔽模型等设置。
  6. 启动:完成配置并启动实验。

在 Azure ML 中用代码开发机器学习模型

虽然 Azure ML Studio 的零代码、拖放式界面对许多人极具吸引力,但并非适用于所有场景。对于需要更多自定义与控制的情况,Azure ML 通过其 SDK(主要使用 Python)支持以代码进行开发。

这使数据科学家和开发者能够以编程方式构建与管理机器学习工作流,灵活对接现有代码库并使用更高级的机器学习技术。

通过 SDK,用户可以自动化数据准备、模型训练、超参数调优与部署等任务,以满足更复杂的项目需求。

使用 Azure ML SDK 时,用户可在本地开发环境(如 VS Code)中直接使用标准的机器学习代码来开发和评估模型。

这种方式允许利用 Azure 的计算资源来执行训练作业。流程从创建一个连接至 Azure 工作区的 ml_client 开始,以便在该环境中管理资源并编排作业。

from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential


# authenticate
credential = DefaultAzureCredential()


SUBSCRIPTION="<SUBSCRIPTION_ID>"
RESOURCE_GROUP="<RESOURCE_GROUP>"
WS_NAME="<AML_WORKSPACE_NAME>"
# Get a handle to the workspace
ml_client = MLClient(
    credential=credential,
    subscription_id=SUBSCRIPTION,
    resource_group_name=RESOURCE_GROUP,
    workspace_name=WS_NAME,
)

要查看完整训练代码,请参阅官方教程。

结语与后续步骤

Azure 机器学习以其贯穿机器学习项目生命周期的能力而脱颖而出,提供从模型训练到部署的广泛功能。它服务于从数据科学家到应用开发者的广泛人群,提供能够提升生产力与创新力的工具。

凭借与 Azure 生态的深度集成,Azure ML 不仅让项目更先进,同时确保安全。该平台在易用性与深度之间取得平衡:ML Studio 提供友好的界面,SDK 提供全面的编码能力,使其成为机器学习领域的基石平台之一。

若想加深您对 Azure 的理解并进一步提升技能,建议探索 DataCamp 上围绕 Azure 的各类课程与认证。不论您是 Azure 新手还是希望获得认证,Introduction to Azure 课程、Azure Fundamentals 认证,以及全面的 Azure Architecture and Services 课程都能提供有价值的见解。

如果您偏好更结构化的学习路径,Azure Fundamentals 学习路径提供了对关键概念的系统梳理。

Moez Ali

作者

Moez Ali

数据科学家,PyCaret 的创始人兼作者

在 Azure 上进行机器学习常见问答

Azure ML 与 Azure ML Studio 有何区别?

Azure ML 为整个机器学习生命周期提供全面的云平台,包括先进的模型管理与自动化能力。作为 Azure ML 的一部分,Azure ML Studio 提供更具可视化与交互性的环境,让用户无需深入的编程知识即可开发机器学习模型,重点在于拖放式功能和简洁的管道构建界面。

Azure ML 有哪些替代方案?

Azure ML 的替代方案包括 Google Cloud AI Platform、Amazon SageMaker 和 IBM Watson Studio。它们各具特色,面向机器学习与数据科学工作流的不同方面。

Azure ML 是免费的吗?

Azure ML 提供免费与付费订阅选项。免费层可有限度地使用 Azure ML 服务,适合学习与小型项目。对于更大规模、生产级的部署,付费订阅可提供更多资源与高级功能。

Azure 机器学习支持哪些编程语言?

Azure ML 支持使用 Python 和 R 等语言来开发机器学习模型。

AutoML 适合机器学习初学者吗?

是的。AutoML 通过自动化复杂任务简化了机器学习流程,非常适合初学者。

如何确保在 Azure 上部署的机器学习模型具备公平性?

确保公平性需要监控预测中的偏差,并实施诸如公平感知算法等技术。

Azure ML 与 Databricks 有何不同?

Azure ML 是用于构建、训练与部署机器学习模型的综合云服务,覆盖整个 ML 项目生命周期的工具。Databricks 则主要是面向大数据处理与分析的云平台。Azure ML 更侧重机器学习与 AI 服务,而 Databricks 则擅长使用 Spark 进行大数据处理。

主题