共用方式為


Azure Machine Learning 的運作方式:資源和資產

適用於:Azure CLI ml 延伸模組 v2 (目前)Python SDK azure-ai-ml v2 (目前)

本文適用於第二個版本的 Azure Machine Learning CLI 和 Python SDK v2。 如需第一版 (v1),請參閱 Azure Machine Learning 的運作方式:架構和概念 (v1)。

Azure Machine Learning 包含數個資源和資產,可讓您執行機器學習工作。 執行任何作業皆需要這些資源和資產。

  • 資源:執行機器學習工作流程所需的設定或基礎結構資源。 這些資源包括:
  • 資產:使用 Azure Machine Learning 命令建立,或作為定型/評分執行的一部分。 資產已建立版本,而且可以在 Azure Machine Learning 工作區中註冊。 其中包括:

本文件提供這些資源和資產的快速概觀。

先決條件

若要使用本文中的 Python SDK 程式碼範例:

  1. 安裝 Python SDK v2

  2. 建立 Azure Machine Learning 訂用帳戶的連線。 這些範例全都依賴 ml_client。 若要建立工作區,連線不需要工作區名稱,因為您可能還沒有工作區名稱。 本文中的所有其他範例則需要將工作區名稱包含在連線中。

    # Import required libraries.
    from azure.ai.ml import MLClient
    from azure.ai.ml.entities import Workspace
    from azure.identity import DefaultAzureCredential
    from azure.ai.ml.entities import AmlCompute
    
    # Enter details of your subscription.
    subscription_id = "<SUBSCRIPTION_ID>"
    resource_group = "<RESOURCE_GROUP>"
    
    # Get a handle to the subscription. (Use this if you haven't created a workspace yet.)
    ml_client = MLClient(DefaultAzureCredential(), subscription_id, resource_group)
    
    # All other examples in this article require that the connection include a workspace name.
    workspace_name = "<WORKSPACE_NAME>"
    ml_client = ml_client = MLClient(DefaultAzureCredential(), subscription_id, resource_group, workspace_name)
    

工作區

工作區是 Azure Machine Learning 的最上層資源,提供集中式位置來處理您在使用 Azure Machine Learning 時建立的所有成品。 工作區保留所有工作的歷程記錄,包括記錄、計量、輸出,以及指令碼的快照集。 工作區會儲存資料存放區與計算等資源的參考。 它也會保留所有資產,例如模型、環境、元件和資料資產。

建立工作區

若要使用 Python SDK v2 建立工作區,您可以使用下列程式碼:

適用於Python SDK azure-ai-ml v2 (目前)

# Specify the workspace details.
ws = Workspace(
    name="my_workspace",
    location="eastus",
    display_name="My workspace",
    description="This example shows how to create a workspace",
    tags=dict(purpose="demo"),
)
# Use MLClient to connect to the subscription and resource group and create the workspace.
ml_client.workspaces.begin_create(ws) 

如需使用 SDK v2 建立 Azure Machine Learning 工作區的更多方式,請參閱此 Jupyter 筆記本

如需建立工作區的詳細資訊,請參閱在入口網站中或使用 Python SDK (v2) 來管理 Azure Machine Learning 工作區

Compute

計算是您可以用來執行工作或是裝載端點的指定計算資源。 Azure Machine Learning 支援下列計算類型:

  • 運算執行個體。 雲端中完全配置和託管的開發環境。 您可以使用執行個體作為開發和測試的定型或推斷計算。 它類似於雲端中的虛擬機器。
  • 計算叢集。 受管運算基礎架構,可讓您輕鬆地在雲端中建立 CPU 或 GPU 運算節點叢集。
  • 無伺服器運算。 您即時存取的運算叢集。 當您使用無伺服器計算時,不需要建立自己的叢集。 所有計算生命週期管理都會卸載至 Azure Machine Learning。
  • 推論叢集。 用來將定型的機器學習模型部署至 Azure Kubernetes Service (AKS)。 您可以從 Azure Machine Learning 工作區建立 Azure Kubernetes Service 叢集,或附加現有的 AKS 叢集。
  • 附加計算。 您可以將自己的運算資源附加至工作區,並用於訓練和推論。

建立計算資源

若要使用 Python SDK v2 建立計算叢集,您可以使用下列程式碼:

適用於Python SDK azure-ai-ml v2 (目前)

from azure.ai.ml.entities import AmlCompute
cluster_basic = AmlCompute(
    name="basic-example",
    type="amlcompute",
    size="STANDARD_DS3_v2",
    location="westus",
    min_instances=0,
    max_instances=2,
    idle_time_before_scale_down=120,
)
ml_client.begin_create_or_update(cluster_basic)

如需使用 SDK v2 建立計算的更多方式,請參閱 此 Jupyter 筆記本

如需建立計算的詳細資訊,請參閱:

Datastore(資料存儲)

Azure Machine Learning 資料存放區會安全地將資料儲存體的連線資訊保留在 Azure 上,因此您不需要在指令碼中撰寫程式碼。 您可以註冊和建立資料存放區,輕鬆連線至儲存體帳戶,並存取基礎儲存體服務中的資料。 CLI v2 和 SDK v2 支援下列類型的雲端式儲存體服務:

  • Azure Blob 容器
  • Azure 檔案共用
  • Azure Data Lake Storage
  • Azure Data Lake Storage Gen2

建立資料存放區

若要使用 Python SDK v2 建立資料存放區,您可以使用下列程式碼:

適用於Python SDK azure-ai-ml v2 (目前)

import AzureBlobDatastore

blob_datastore1 = AzureBlobDatastore(
    name="blob_example",
    description="Datastore pointing to a blob container.",
    account_name="mytestblobstore",
    container_name="data-container",
    credentials={
        "account_key": "XXXxxxXXXxXXXXxxXXXXXxXXXXXxXxxXxXXXxXXXxXXxxxXXxxXXXxXxXXXxxXxxXXXXxxxxxXXxxxxxxXXXxXXX"
    },
)
ml_client.create_or_update(blob_datastore1)

如需使用 SDK v2 建立資料存放區的更多方法,請參閱 此 Jupyter 筆記本

若要深入了解如何使用資料存放區,請參閱建立及管理資料資產

型號

Azure 機器學習模型包含一或多個二進位檔案,這些檔案代表機器學習模型和任何對應的中繼資料。 您可以從本機或遠端的檔案或目錄建立模型。 針對遠端位置 https,支援 wasbsazureml 位置。 所建立的模型會在工作區中以指定的名稱和版本受到追蹤。 Azure Machine Learning 支援三種類型的模型儲存體格式:

  • custom_model
  • mlflow_model
  • triton_model

在模型登錄中建立模型

模型註冊可讓您在 Azure 雲端自己的工作區中儲存模型和控制模型版本。 模型登錄可協助您組織和追蹤已定型模型。

如需如何在登錄中建立模型的詳細資訊,請參閱在 Azure Machine Learning 中使用模型

環境

Azure Machine Learning 環境是發生機器學習工作之環境的封裝。 它指定訓練和評分指令碼的軟體套件、環境變數和軟體設定。 在您的機器學習工作區內,環境是被管理和版本控制的實體。 環境支援在各種計算的可重現性、可稽核和可攜式機器學習工作流程。

環境類型

Azure Machine Learning 支援兩種類型的環境:策展和自訂。

策展環境由 Azure Machine Learning 提供,依預設在工作區中可用。 主要是依原樣使用,含有 Python 封裝和設定的集合,協助您開始使用各種機器學習架構。 這些預先建立的環境也可加快部署時間。 如需完整清單,請參閱策展環境文章

在自訂環境中,您必須負責設定環境,以及安裝計算上定型或評分指令碼所需的套件或任何其他相依性。 Azure Machine Learning 可讓您使用下列專案來建立自己的環境:

  • Docker 映像。
  • 具有 Conda YAML 檔案的基底 Docker 映像,以進行進一步的自訂。
  • Docker 建置內容。

建立 Azure Machine Learning 自訂環境

如需使用 Python SDK v2 建立環境的相關資訊,請參閱 建立環境

如需使用 SDK v2 建立自訂環境的更多方式,請參閱 此 Jupyter 筆記本

如需環境的詳細資訊,請參閱在 Azure Machine Learning 中建立和管理環境

資料

Azure Machine Learning 可讓您使用不同類型的資料:

  • URI (本機或雲端儲存體中的位置)
    • uri_folder
    • uri_file
  • 資料表 (表格式資料抽象概念)
    • mltable
  • 基本型別
    • string
    • boolean
    • number

在大部分情況下,您會使用URI(uri_folderuri_file)指向儲存體中的某個位置,然後透過將儲存體掛載或下載至節點,輕鬆將其對應至工作中計算節點的檔案系統。

mltable 是表格式資料的抽象概念,用於 AutoML 作業、平行作業和某些進階案例。 如果您剛開始使用 Azure Machine Learning 且未使用 AutoML,強烈建議您從 URI 開始。

元件

Azure Machine Learning 元件 是獨立的程式碼片段,可完成機器學習管線中的一個步驟。 元件是進階機器學習管線的建置區塊。 元件可以執行資料處理、模型訓練和模型評分等任務。 元件類似於函數:它有名稱和參數,需要輸入並傳回輸出。