Jak azure Machine Učení 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 Učení CLI a Python SDK (v2). Informace o verzi 1 (v1) najdete v tématu Fungování služby Azure Machine Učení: Architektura a koncepty (v1)

Azure Machine Učení zahrnuje 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ů azure Machine Učení nebo jako součást spuštění trénování/vyhodnocování. Prostředky jsou verze a dají se zaregistrovat v pracovním prostoru Azure Machine Učení. 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:

  1. Instalace sady Python SDK v2

  2. Vytvořte připojení k předplatnému azure machine Učení. 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 Učení pomocí sady 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 Učení 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 na Učení Azure Machine.
  • 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 Azure Machine Učení 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.

Úložiště dat

Azure Machine Učení úložiště dat 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 Učení se skládají z 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í httpswasbs a azureml umístění se podporují. Vytvořený model se bude sledovat v pracovním prostoru pod zadaným názvem a verzí. Azure Machine Učení 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 v Učení Azure Machine.

Prostředí

Prostředí Azure Machine Učení 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 pracovního prostoru Učení počítače. 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 Učení podporuje dva typy prostředí: kurátorovaná a vlastní.

Kurátorovaná prostředí poskytuje služba Azure Machine Učení 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ší 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 Učení 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 Učení

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.

Data

Azure Machine Učení 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
  • Primitiv
    • string
    • boolean
    • number

Ve většině scénářů použijete 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 právě začínáte používat Azure Machine Učení a nepoužíváte AutoML, důrazně doporučujeme začít s identifikátory URI.

Komponenta

Komponenta Azure Machine Učení 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.

Další kroky