Azure Machine Learning 的運作方式:資源和資產
本文內容
必要條件
工作區
計算
Datastore
Model
Environment
資料
元件
相關內容
顯示其他 5 個
適用於: 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 程式碼範例:
安裝 Python SDK v2
建立 Azure Machine Learning 訂用帳戶的連線。 這些範例全都依賴 ml_client
。 若要建立工作區,連線不需要工作區名稱,因為您可能還沒有工作區名稱。 本文中的所有其他範例則需要將工作區名稱包含在連線中。
from azure.ai.ml import MLClient
from azure.ai.ml.entities import Workspace
from azure.identity import DefaultAzureCredential
subscription_id = "<SUBSCRIPTION_ID>"
resource_group = "<RESOURCE_GROUP>"
ml_client = MLClient(DefaultAzureCredential(), subscription_id, resource_group)
workspace_name = "<WORKSPACE_NAME>"
ml_client = ml_client = MLClient(DefaultAzureCredential(), subscription_id, resource_group, workspace_name)
若要使用本文中的 Azure CLI 程式碼範例,您必須安裝並設定 Azure CLI。 您可以從安裝和設定 CLI (v2) 安裝 Azure CLI。
安裝 Azure CLI 之後,請登入您的 Azure 帳戶:
az login
如果您有多個 Azure 訂用帳戶的存取權,請設定使用中的訂用帳戶:
az account set -s "<YOUR_SUBSCRIPTION_NAME_OR_ID>"
工作區是 Azure Machine Learning 的最上層資源,其提供一個集中位置來處理您在使用 Azure Machine Learning 時建立的所有成品。 工作區保留所有工作的歷程記錄,包括記錄、計量、輸出,以及指令碼的快照集。 工作區會儲存資料存放區與計算等資源的參考。 它也會保存模型、環境、元件和數據資產等所有資產。
若要使用 Python SDK v2 建立工作區,您可以使用下列程式碼:
適用於 :Python SDK azure-ai-ml v2 (目前)
ws = Workspace(
name="my_workspace" ,
location="eastus" ,
display_name="My workspace" ,
description="This example shows how to create a workspace" ,
tags=dict(purpose="demo" ),
)
ml_client.workspaces.begin_create(ws)
此 Jupyter Notebook 會顯示更多使用 SDK v2 建立 Azure Machine Learning 工作區的方式。
在工作室歡迎頁面中,選取 [建立工作區] 以建立工作區。
如需建立工作區的詳細資訊,請參閱在入口網站中或使用 Python SDK (v2) 來管理 Azure Machine Learning 工作區 。
計算是您可以用來執行工作或是裝載端點的指定計算資源。 Azure Machine Learning 支援下列計算類型:
計算執行個體 - 已完整設定和完全受控的雲端開發環境。 您可以使用執行個體作為開發和測試的定型或推斷計算。 它類似於雲端的虛擬機器。
計算叢集 - 受控計算基礎結構,可讓您輕鬆地在雲端中建立 CPU 或 GPU 計算節點的叢集。
無伺服器計算 - 可即時存取的計算叢集。 當您使用無伺服器計算時,不需要建立自己的叢集。 所有計算生命週期管理都會卸載至 Azure Machine Learning。
推斷叢集 - 可用於將定型的機器學習模型部署到 Azure Kubernetes Service。 您可以從 Azure Machine Learning 工作區建立 Azure Kubernetes Service (AKS) 叢集,或附加現有的 AKS 叢集。
附加的計算 - 您可以將自己的計算資源附加至工作區,並將它們用於定型和推斷。
若要使用 Python SDK v2 建立計算叢集,您可以使用下列程式碼:
適用於 :Python SDK azure-ai-ml v2 (目前)
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)
此 Jupyter Notebook 會顯示更多使用 SDK v2 建立計算的方式。
如果您還沒有工作區,請選取工作區。
從左側功能表選取 [計算] 。
在頂端,選取索引標籤以指定您想要建立的計算類型。
選取 [新增] 以建立新的計算。
如需建立計算的詳細資訊,請參閱:
Azure Machine Learning 資料存放區安全保留 Azure 資料儲存體的連線資訊,因此您不需要寫在指令碼中。 您可以註冊和建立資料存放區,輕鬆連線至儲存體帳戶,並存取基礎儲存體服務中的資料。 CLI v2 和 SDK v2 支援下列類型的雲端式儲存體服務:
Azure Blob 容器
Azure 檔案共用
Azure Data Lake
Azure Data Lake 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)
此 Jupyter Notebook 會顯示更多使用 SDK v2 建立資料存放區的方式。
如果您還沒有工作區,請選取工作區。
從左側功能表選取 [資料] 。
在頂端,選取 [資料存放區] 。
選取 [建立] 以建立新資料存放區。
若要深入了解如何使用資料存放區,請參閱建立及管理資料資產 。
Azure 機器學習 模型包含一或多個二進位檔,這些檔案代表機器學習模型和任何對應的元數據。 您可以從本機或遠端的檔案或目錄建立模型。 針對遠端位置 https
,支援 wasbs
和 azureml
位置。 所建立的模型會在工作區中以指定的名稱和版本受到追蹤。 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 自訂環境
如果您還沒有工作區,請選取工作區。
從左側功能表選取 [環境] 。
在頂端,選取 [自訂環境] 。
選取 [建立] 以建立新的自訂環境。
如需環境的詳細資訊,請參閱在 Azure Machine Learning 中建立和管理環境 。
Azure Machine Learning 可讓您使用不同類型的資料:
URI (本機/雲端儲存體中的位置)
資料表 (表格式資料抽象概念)
基本型別
在大部分情況下,您會使用 URI (uri_folder
和 uri_file
) - 記憶體中的位置,可藉由掛接或下載記憶體至節點,輕鬆地對應至作業中計算節點的文件系統。
mltable
是表格式資料的抽象概念,用於 AutoML 作業、平行作業和一些進階案例。 如果您剛開始使用 Azure Machine Learning 且未使用 AutoML,我們強烈建議您開始使用 URI。
Azure Machine Learning 元件 是獨立式程式碼片段,可在機器學習管線中執行單一步驟。 元件是進階機器學習管線的建置區塊。 元件可以執行資料處理、模型定型、模型評分等工作。 元件類似於函式 - 它具有名稱、參數,會預期輸入並會傳回輸出。