管理Azure Machine Learning计算实例

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

了解如何在Azure Machine Learning工作区中管理 compute 实例

可将计算实例用作云中的完全配置、完全托管的开发环境。 对于开发和测试,还可将该实例用作训练计算目标。 计算实例可以并行运行多个作业,它有一个作业队列。 作为开发环境,计算实例不会与工作区中的其他用户共享。

本文介绍如何启动、停止、重启和删除计算实例。 若要了解如何创建计算实例,请参阅 创建Azure Machine Learning计算实例

注意

本文在各个部分中展示了CLI v2。 如果仍在使用 CLI v1,请参阅 创建Azure Machine Learning计算群集 CLI v1

先决条件

根据首选的计算实例管理方法,为其余先决条件选择相应的选项卡。

  • 如果未在计算实例上运行代码,请安装 Azure Machine Learning Python SDK。 此 SDK 已安装在计算实例上。

  • 附加到 Python 脚本中的工作区:

    运行此代码以连接到Azure Machine Learning工作区。

    替换以下代码中的订阅 ID、资源组名称和工作区名称。 若要查找这些值:

    1. 登录到 Azure Machine Learning studio
    2. 打开要使用的工作区。
    3. 选择右上角Azure Machine Learning studio工具栏中的工作区名称。
    4. 将工作区、资源组和订阅 ID 的值复制到代码中。

    适用于Python SDK azure-ai-ml v2(当前)

    # Enter details of your AML workspace
    subscription_id = "<SUBSCRIPTION_ID>"
    resource_group = "<RESOURCE_GROUP>"
    workspace = "<AML_WORKSPACE_NAME>"
    
    # get a handle to the workspace
    from azure.ai.ml import MLClient
    from azure.identity import DefaultAzureCredential
    
    ml_client = MLClient(
        DefaultAzureCredential(), subscription_id, resource_group, workspace
    )
    

    ml_client 是用于管理其他资源和作业的工作区处理程序。

注意

当您配置位于与 Azure 机器学习工作区不同资源组中的虚拟网络(VNet)时,网络安全组(NSG)、公共 IP 和负载均衡器等资源会在与 VNet 相同的资源组中创建。 此行为可确保正确的网络管理和隔离。

管理

可以启动、停止、重启和删除计算实例。 计算实例并不总是会自动缩减,因此请务必停止该资源以避免产生额外费用。 停止计算实例会将其解除分配。 然后在需要时重启。 停止计算实例会结束计算小时数的计费,但您仍需为磁盘、公共 IP 和标准负载均衡器付费。

可以启用自动关闭以在指定时间后自动停止计算实例。

也可以为计算实例创建计划,以基于时间和星期几自动启动和停止。

提示

计算实例具有 120 GB OS 磁盘。 如果磁盘空间不足,使用终端在停止或重启计算实例之前清除至少 5 GB。 不要通过从终端发出 sudo 关闭来停止计算实例。 计算实例上的临时磁盘大小取决于所选 VM 大小,它装载在 /mnt 上。

适用于Python SDK azure-ai-ml v2(当前)

在这些示例中,变量 ci_basic_name 存储计算实例的名称。

  • 获取状态

      from azure.ai.ml.entities import ComputeInstance, AmlCompute
    
      # Get compute
      ci_basic_state = ml_client.compute.get(ci_basic_name)
    
  • 停下

      from azure.ai.ml.entities import ComputeInstance, AmlCompute
    
      # Stop compute
      ml_client.compute.begin_stop(ci_basic_name).wait()
    
  • 启动

      from azure.ai.ml.entities import ComputeInstance, AmlCompute
    
      # Start compute
      ml_client.compute.begin_start(ci_basic_name).wait()
    
  • 重启

      from azure.ai.ml.entities import ComputeInstance, AmlCompute
    
      # Restart compute
      ml_client.compute.begin_restart(ci_basic_name).wait()
    
  • 删除

      from azure.ai.ml.entities import ComputeInstance, AmlCompute
    
      ml_client.compute.begin_delete(ci_basic_name).wait()
    

谨慎

将资源锁(如“删除”或“只读”)应用于包含机器学习工作区的资源组,或应用于配置了虚拟网络的单独资源组,可以防止执行诸如创建、调整大小或删除这些实例的操作。 确保资源锁配置得当,以避免意外中断。

Azure RBAC允许你控制工作区中的哪些用户可以创建、删除、启动、停止、重启计算实例。 充当工作区参与者和所有者角色的所有用户可以在整个工作区中创建、删除、启动、停止和重启计算实例。 然而,只有特定计算实例的创建者,或者如果实例是代表某用户创建的,则仅该用户被允许访问已配置的 Jupyter、JupyterLab 和 RStudio。 计算实例专用于单个用户,并向其授予root权限。 该用户具有对 Jupyter/JupyterLab 以及在实例上运行的所有已配置的自定义应用程序的访问权限。 计算实例支持单用户登录,并且所有操作都使用该用户的标识来进行 Azure RBAC 和试验作业的归属。 SSH访问通过公钥/私钥机制进行控制。

这些操作可以通过 Azure RBAC 控制:

  • Microsoft.MachineLearningServices/workspaces/computes/read
  • Microsoft.MachineLearningServices/workspaces/computes/write
  • Microsoft.MachineLearningServices/workspaces/computes/delete
  • Microsoft.MachineLearningServices/workspaces/computes/start/action
  • Microsoft.MachineLearningServices/workspaces/computes/stop/action
  • Microsoft.MachineLearningServices/workspaces/computes/restart/action
  • Microsoft.MachineLearningServices/workspaces/computes/updateSchedules/action

若要创建计算实例,需要以下操作的权限:

  • Microsoft.MachineLearningServices/workspaces/computes/write
  • Microsoft.MachineLearningServices/workspaces/checkComputeNameAvailability/action

审核和观察计算实例版本

部署计算实例后,不会自动更新该实例。 Microsoft每月发布新的 VM 映像。 若要了解使用最新版本来保持最新状态的选项,请参阅漏洞管理

要对实例的操作系统版本是否为最新版本进行跟踪,可以使用 CLI、SDK 或 Studio UI 查询其版本。

适用于Python SDK azure-ai-ml v2(当前)

from azure.ai.ml.entities import ComputeInstance, AmlCompute

# Display operating system version
instance = ml_client.compute.get("myci")
print(instance.os_image_metadata)

有关此示例中使用的类、方法和参数的详细信息,请参阅以下参考文档:

IT 管理员可以使用 Azure Policy 在 Azure Policy 合规性门户中监视工作区中的实例清单。 在 Azure 订阅或 Azure 管理组范围内分配内置策略审核操作系统过时的 Azure 机器学习计算实例

后续步骤