了解 Azure 机器学习工作区

Azure 机器学习提供了一个用于训练和管理机器学习模型的数据科学平台。 在此实验室中,你将创建一个 Azure 机器学习工作区,并探索使用该工作区的各种方式。 该实验室旨在介绍 Azure 机器学习的各种核心功能和开发人员工具。 如果想要更深入地了解这些功能,可以探索其他实验室。

准备工作

需要一个你在其中具有管理级权限的 Azure 订阅

预配 Azure 机器学习工作区

借助 Azure 机器学习工作区,可集中管理训练和管理模型所需的所有资源和资产。 可以使用 Azure 门户中的交互式界面预配工作区,也可以将 Azure CLI 与 Azure 机器学习扩展配合使用。 在大多数生产场景中,最好使用 CLI 自动预配,以便可以将资源部署整合到可重复的开发和操作 (DevOps) 过程中。

在本练习中,你将使用 Azure 门户预配 Azure 机器学习,以探索所有选项。

  1. 登录到 https://portal.azure.com/
  2. 使用以下设置创建新的“Azure 机器学习”资源:
    • 订阅:Azure 订阅
    • 资源组rg-dp100-labs
    • 工作区名称:mlw-dp100-labs
    • 区域:选择最靠近你的地理区域
    • 存储帐户:请记下要为工作区创建的默认新存储帐户
    • 密钥保管库:请记下要为工作区创建的默认新密钥保管库
    • Application Insights:请记下要为工作区创建的默认新 Application Insights
    • 容器注册表:无(第一次将模型部署到容器时,将自动创建一个)
  3. 等待创建工作区及其关联资源 - 这通常需要大约 5 分钟。

注意:创建 Azure 机器学习工作区时,可以使用一些高级选项来限制通过专用终结点的访问,并指定用于数据加密的自定义密钥。 本练习中不使用这些选项,但你应该知道有这些选项。

浏览 Azure 机器学习工作室

Azure 机器学习工作室是一个基于 Web 的门户,可通过其访问 Azure 机器学习工作区。 可以使用 Azure 机器学习工作室来管理工作区内的所有资产和资源。

  1. 转到名为“rg-dp100-labs”的资源组。
  2. 确认资源组包含 Azure 机器学习工作区、Application Insights、Key Vault 和存储帐户。
  3. 选择你的 Azure 机器学习工作区。
  4. 从“概述”页面选择“启动工作室” 。 将在浏览器中打开另一标签页,以打开 Azure 机器学习工作室。
  5. 关闭工作室中显示的任何弹出窗口。
  6. 请注意工作室左侧显示的不同页面。 如果菜单中只显示符号,请选择 ☰ 图标展开菜单并浏览页面的名称。
  7. 请注意“创作”部分,其中包括“Notebooks”、“自动化 ML”和“设计器”。 可以通过以下三种方式在 Azure 机器学习工作室中创建自己的机器学习模型。
  8. 请注意“资产”部分,其中包括“数据”、“作业”和“模型”等 。 在对模型进行训练或评分时,资产会被消耗或创建。 资产用于训练、部署和管理模型,并且可以进行版本控制以跟踪历史记录。
  9. 请注意“管理”部分,其中包括“计算”等内容。 这些是训练或部署机器学习模型所需的基础结构资源。

创作训练管道

要探索 Azure 机器学习工作区中资产和资源的使用,让我们尝试训练一个模型。

创作模型训练管道的一种快速方法是使用“设计器”。

注意:弹出窗口可能会出现在整个过程中,以引导你完成整个工作室。 可以关闭并忽略所有弹出窗口,并专注于本实验室的说明。

  1. 从工作室左侧的菜单中选择“设计器”页面。
  2. 选择“回归 - 汽车价格预测(基本)”示例。

    此时会显示一个新管道。 管道顶部显示了一个组件,用于加载“汽车价格数据(原始)”。 管道处理数据并训练线性回归模型,以预测每辆汽车的价格。

  3. 选择页面顶部的“配置和提交”,打开“设置管道作业”对话框
  4. 在“基本信息”页上,选择“新建”,并将试验名称设置为“train-regression-designer”,然后选择“下一步”。
  5. 在“输入和输出”页面上,选择“下一步”,不进行任何更改 。
  6. 在“运行时设置”页上出现错误,因为你没有用于运行管道的默认计算。

让我们创建一个计算目标。

创建计算目标

若要在 Azure 机器学习工作区内运行任何工作负载,将需要一个计算资源。 Azure 机器学习的好处之一是能够创建基于云的计算,可以在其上大规模运行试验和训练脚本。

  1. 在 Azure 机器学习工作室中,从左侧菜单中选择“计算”页面。 可以使用四种类型的计算资源:
    • 计算实例:由 Azure 机器学习管理的虚拟机。 非常适合在探索数据和迭代试验机器学习模型时进行开发。
    • 计算群集:用于按需处理试验代码的可缩放虚拟机群集。 非常适合运行生产代码或自动化作业。
    • Kubernetes 群集:用于训练和评分的 Kubernetes 群集。 非常适合大规模实时模型部署。
    • 附加计算:将现有的 Azure 计算资源附加到工作区,例如虚拟机或 Azure Databricks 群集。

    要训练使用设计器创作的机器学习模型,可以使用计算实例或计算群集。

  2. 在“计算实例”选项卡上,通过以下设置添加新计算实例。
    • 计算名称输入唯一名称
    • 位置:自动与工作区位于同一位置
    • 虚拟机类型:CPU
    • 虚拟机大小:Standard_DS11_v2
    • 可用配额:显示可用的专用内核。
    • 显示高级设置:请注意以下设置,但不要选择它们:
      • 启用 SSH 访问:Unselected(可使用此设置来实现使用 SSH 客户端直接访问虚拟机)
      • 启用虚拟网络:Unselected(通常会在企业环境中使用此设置来增强网络安全)
      • 分配给其他用户:Unselected(可使用此设置将计算实例分配给数据科学家)
      • 使用安装脚本进行预配:Unselected(可使用此设置添加一个要在远程实例创建后在其上运行的脚本)
      • 分配托管标识Unselected (可以附加系统分配的托管标识或用户分配的托管标识,以授予对资源的访问权限)
  3. 选择“创建”并等待计算实例启动,以及其状态更改为“正在运行” 。

注意:计算实例和群集是基于标准 Azure 虚拟机映像的。 对于本练习,建议使用 Standard_DS11_v2 映像来实现成本和性能的最佳平衡。 如果你的订阅配额不包含此映像,请选择其他映像;但请注意,较大的映像可能会产生较高的成本,而较小的映像可能不足以完成任务。 或者,让 Azure 管理员扩展配额。

运行训练管道

你已经创建计算目标,现在可以在设计器中运行示例训练管道。

  1. 导航到“设计器”页。
  2. 选择“回归 - 汽车价格预测(基本)”管道草稿。
  3. 选择页面顶部的“配置和提交”,打开“设置管道作业”对话框
  4. 在“基本信息”页上,选择“新建”,并将试验名称设置为“train-regression-designer”,然后选择“下一步”。
  5. 在“输入和输出”页面上,选择“下一步”,不进行任何更改 。
  6. 在“运行时设置”的“选择计算类型”下拉列表中,选择“计算实例”,并在“选择 Azure ML 计算实例”下拉列表中选择新创建的计算实例。
  7. 选择“查看 + 提交”查看管道作业,然后选择“提交”以运行训练管道 。

训练管道现在将提交到计算实例。 完成管道大约需要 10 分钟。 同时,让我们浏览一些其他页面。

使用作业查看历史记录

每当在 Azure 机器学习工作区中运行脚本或管道时,它都会被记录为“作业”。 使用作业可以跟踪运行的工作负载,并将它们相互比较。 作业属于“试验”,因此可以将作业运行进行分组。

  1. 使用 Azure 机器学习工作室左侧的菜单,导航到“作业”页面。
  2. 选择“train-regression-designer”实验,以查看其作业运行。 在这里,你将看到属于此试验的所有作业的概述。 如果运行了多个训练管道,则使用此视图可以比较管道并确定最佳管道。
  3. 选择“train-regression-designer”试验中的最后一个作业。
  4. 请注意,将显示训练管道,可在其中查看运行成功或失败的组件。 如果作业仍在运行,还可以确定当前正在运行的内容。
  5. 要查看管道作业详细信息,请选择右上角的“作业概述”以展开“管道作业概述” 。
  6. 请注意,在“概述”参数中,可以找到作业的状态、管道的创建者、创建时间以及运行完整管道所花费的时间(以及其他信息)。

    将脚本或管道作为作业运行时,可以定义任何输入并记录任何输出。 Azure 机器学习还会自动跟踪作业的属性。 通过使用工作,可以轻松查看历史记录以了解你或同事已经完成的操作。

    在实验期间,作业有助于跟踪训练的不同模型,以比较和确定最佳模型。 在生产期间,通过作业可以检查自动化工作负载是否按预期运行。

  7. 作业完成后,还可以单独查看每个组件运行的详细信息,包括输出。 可随时浏览管道,了解模型的训练方式。

删除 Azure 资源

当你完成对 Azure 机器学习的探索时,应删除已创建的资源,以避免产生不必要的 Azure 成本。

  1. 关闭“Azure 机器学习工作室”选项卡并返回到 Azure 门户。
  2. 在 Azure 门户的主页上,选择“资源组”。
  3. 选择“rg-dp100-labs”资源组。
  4. 在资源组的“概述”页的顶部,选择“删除资源组”。
  5. 输入资源组名称以确认要删除该资源组,然后选择“删除”。