Jak Azure Machine Learning funguje: prostředky a prostředky
PLATÍ PRO:Rozšíření Azure CLI ml v2 (aktuální)Python SDK azure-ai-ml v2 (aktuální)
Tento článek se týká druhé verze sady Azure Machine Learning CLI &Python SDK (v2). Informace o verzi 1 (v1) najdete v tématu Fungování služby Azure Machine Learning: Architektura a koncepty (v1)
Azure Machine Learning obsahuje několik prostředků a prostředků, které vám umožní provádět úlohy strojového učení. Tyto prostředky a prostředky jsou potřeba ke spuštění jakékoli úlohy.
- Zdroje: nastavení nebo prostředky infrastruktury potřebné ke spuštění pracovního postupu strojového učení. Mezi zdroje patří:
- Prostředky: vytvořené pomocí příkazů služby Azure Machine Learning nebo jako součást trénovacího/bodovacího spuštění. Prostředky jsou verze a dají se zaregistrovat v pracovním prostoru Azure Machine Learning. Patří mezi ně:
Tento dokument poskytuje rychlý přehled těchto prostředků a prostředků.
Požadavky
Použití příkladů kódu sady Python SDK v tomto článku:
Vytvořte připojení k předplatnému služby Azure Machine Learning. Všechny příklady spoléhají na
ml_client
. Pokud chcete vytvořit pracovní prostor, připojení nepotřebuje název pracovního prostoru, protože ho ještě nemáte. Všechny ostatní příklady v tomto článku vyžadují, aby název pracovního prostoru byl součástí připojení.# import required libraries from azure.ai.ml import MLClient from azure.ai.ml.entities import Workspace from azure.identity import DefaultAzureCredential # 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 the connection to include workspace name workspace_name = "<WORKSPACE_NAME>" ml_client = ml_client = MLClient(DefaultAzureCredential(), subscription_id, resource_group, workspace_name)
Pracovní prostor
Pracovní prostor je prostředek nejvyšší úrovně pro Azure Machine Learning, který nabízí centralizované místo, kde můžete pracovat se všemi artefakty, které vytvoříte při použití služby Azure Machine Learning. Pracovní prostor uchovává historii všech úloh, včetně protokolů, metrik, výstupu a snímku vašich skriptů. Pracovní prostor ukládá odkazy na prostředky, jako jsou úložiště dat a výpočetní prostředky. Obsahuje také všechny prostředky, jako jsou modely, prostředí, komponenty a datový prostředek.
Vytvoření pracovního prostoru
Pokud chcete vytvořit pracovní prostor pomocí sady Python SDK v2, můžete použít následující kód:
PLATÍ PRO: Python SDK azure-ai-ml v2 (aktuální)
# 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"),
)
ml_client.workspaces.begin_create(ws) # use MLClient to connect to the subscription and resource group and create workspace
Tento poznámkový blok Jupyter ukazuje další způsoby vytvoření pracovního prostoru Azure Machine Learning pomocí sady SDK v2.
Podrobnější informace o vytváření pracovního prostoru najdete v tématu Správa pracovních prostorů Služby Azure Machine Learning na portálu nebo pomocí sady Python SDK (v2).
Compute
Výpočetní prostředek je určený výpočetní prostředek, ve kterém spouštíte úlohu nebo hostujete koncový bod. Azure Machine Learning podporuje následující typy výpočetních prostředků:
- Výpočetní instance – plně nakonfigurované a spravované vývojové prostředí v cloudu. Instanci můžete použít jako trénování nebo odvozování výpočetních prostředků pro vývoj a testování. Podobá se virtuálnímu počítači v cloudu.
- Výpočetní cluster – spravovaná výpočetní infrastruktura, která umožňuje snadno vytvořit cluster výpočetních uzlů PROCESORu nebo GPU v cloudu.
- Výpočetní prostředí bez serveru – výpočetní cluster, ke který přistupujete průběžně. Pokud používáte bezserverové výpočetní prostředky, nemusíte vytvářet vlastní cluster. Veškerá správa životního cyklu výpočetních prostředků se přesměruje do služby Azure Machine Learning.
- Cluster odvozování – slouží k nasazení natrénovaných modelů strojového učení do služby Azure Kubernetes Service. Cluster Azure Kubernetes Service (AKS) můžete vytvořit z pracovního prostoru Služby Azure Machine Learning nebo připojit existující cluster AKS.
- Připojené výpočetní prostředky – K pracovnímu prostoru můžete připojit vlastní výpočetní prostředky a použít je k trénování a odvozování.
Vytvoření výpočetních prostředků
K vytvoření výpočetního clusteru pomocí sady Python SDK v2 můžete použít následující kód:
PLATÍ PRO: Python SDK azure-ai-ml v2 (aktuální)
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)
Tento poznámkový blok Jupyter ukazuje další způsoby vytvoření výpočetních prostředků pomocí sady SDK v2.
Podrobnější informace o vytváření výpočetních prostředků najdete tady:
- Vytvoření výpočetní instance služby Azure Machine Learning
- Vytvoření výpočetního clusteru Azure Machine Learning
Úložiště dat
Úložiště dat Azure Machine Learning bezpečně udržují informace o připojení k úložišti dat v Azure, takže je nemusíte kódovat ve skriptech. Úložiště dat můžete zaregistrovat a vytvořit, abyste se mohli snadno připojit ke svému účtu úložiště a přistupovat k datům v podkladové službě úložiště. Rozhraní příkazového řádku v2 a SDK v2 podporují následující typy cloudových služeb úložiště:
- Kontejner objektů blob Azure
- Sdílená složka Azure
- Azure Data Lake
- Azure Data Lake Gen2
Vytvoření úložiště dat
Pokud chcete vytvořit úložiště dat pomocí sady Python SDK v2, můžete použít následující kód:
PLATÍ PRO: Python SDK azure-ai-ml v2 (aktuální)
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)
Tento poznámkový blok Jupyter ukazuje další způsoby vytváření úložišť dat pomocí sady SDK v2.
Další informace o používání úložiště dat najdete v tématu Vytvoření a správa datových prostředků.
Model
Modely Azure Machine Learning se skládají z jednoho nebo více binárních souborů, které představují model strojového učení a všechna odpovídající metadata. Modely lze vytvořit z místního nebo vzdáleného souboru nebo adresáře. Pro vzdálená umístění https
wasbs
a azureml
umístění se podporují. Vytvořený model se sleduje v pracovním prostoru pod zadaným názvem a verzí. Azure Machine Learning podporuje pro modely tři typy formátu úložiště:
custom_model
mlflow_model
triton_model
Vytvoření modelu v registru modelů
Registrace modelu umožňuje ukládat a vytvářet verze modelů v cloudu Azure ve vašem pracovním prostoru. Registr modelů vám pomůže organizovat a sledovat trénované modely.
Další informace o vytváření modelů v registru najdete v tématu Práce s modely ve službě Azure Machine Learning.
Prostředí
Prostředí Azure Machine Learning jsou zapouzdřením prostředí, ve kterém probíhá úloha strojového učení. Určují softwarové balíčky, proměnné prostředí a nastavení softwaru kolem trénovacích a bodovacích skriptů. Prostředí jsou spravované a verze entit v rámci vašeho pracovního prostoru Machine Learning. Prostředí umožňují reprodukovatelné, auditovatelné a přenosné pracovní postupy strojového učení napříč různými výpočetními prostředky.
Typy prostředí
Azure Machine Learning podporuje dva typy prostředí: kurátorované a vlastní.
Kurátorovaná prostředí poskytuje Služba Azure Machine Learning a jsou ve výchozím nastavení dostupná ve vašem pracovním prostoru. Účelem použití tak, jak je, obsahují kolekce balíčků a nastavení Pythonu, které vám pomůžou začít s různými architekturami strojového učení. Tato předem vytvořená prostředí také umožňují rychlejší dobu nasazení. Úplný seznam najdete v článku o kurátorovaných prostředích.
Ve vlastních prostředích zodpovídáte za nastavení prostředí a instalaci balíčků nebo jakýchkoli jiných závislostí, které váš trénovací nebo bodovací skript potřebuje na výpočetní prostředky. Azure Machine Learning umožňuje vytvořit vlastní prostředí pomocí
- Image Dockeru
- Základní image Dockeru s YAML conda pro další přizpůsobení
- Kontext sestavení Dockeru
Vytvoření vlastního prostředí Azure Machine Learning
Pokud chcete vytvořit prostředí pomocí sady Python SDK v2, přečtěte si téma Vytvoření prostředí.
Tento poznámkový blok Jupyter ukazuje další způsoby vytváření vlastních prostředí pomocí sady SDK v2.
Podrobnější informace o prostředích najdete v tématu Vytváření a správa prostředí ve službě Azure Machine Learning.
Data
Azure Machine Learning umožňuje pracovat s různými typy dat:
- Identifikátory URI (umístění v místním nebo cloudovém úložišti)
uri_folder
uri_file
- Tabulky (abstrakce tabulkových dat)
mltable
- Primitiva
string
boolean
number
Ve většině scénářů používáte identifikátory URI (uri_folder
a uri_file
) – umístění v úložišti, které se dá snadno namapovat na systém souborů výpočetního uzlu v úloze připojením nebo stažením úložiště do uzlu.
mltable
je abstrakce tabulkových dat, která se mají používat pro úlohy AutoML, paralelní úlohy a některé pokročilé scénáře. Pokud teprve začínáte používat Azure Machine Learning a nepoužíváte AutoML, důrazně doporučujeme začít s identifikátory URI.
Komponenta
Komponenta Azure Machine Learning je samostatná část kódu, která provádí jeden krok v kanálu strojového učení. Komponenty jsou stavební bloky pokročilých kanálů strojového učení. Komponenty můžou provádět úlohy, jako je zpracování dat, trénování modelu, bodování modelu atd. Komponenta je podobná funkci – má název, parametry, očekává vstup a vrací výstup.