Så här fungerar Azure Machine Learning: resurser och tillgångar

GÄLLER FÖR:Azure CLI ml extension v2 (current)Python SDK azure-ai-ml v2 (aktuell)

Den här artikeln gäller för den andra versionen av Azure Machine Learning CLI och Python SDK (v2). Version ett (v1) finns i Så här fungerar Azure Machine Learning: Arkitektur och begrepp (v1)

Azure Machine Learning innehåller flera resurser och tillgångar så att du kan utföra dina maskininlärningsuppgifter. Dessa resurser och tillgångar behövs för att köra alla jobb.

  • Resurser: konfigurera eller infrastrukturella resurser som behövs för att köra ett maskininlärningsarbetsflöde. Bland resurserna finns:
  • Tillgångar: skapas med hjälp av Azure Machine Learning-kommandon eller som en del av en tränings-/bedömningskörning. Tillgångar är versionshanterade och kan registreras på Azure Machine Learning-arbetsytan. De omfattar:

Det här dokumentet ger en snabb översikt över dessa resurser och tillgångar.

Förutsättningar

Så här använder du Python SDK-kodexemplen i den här artikeln:

  1. Installera Python SDK v2

  2. Skapa en anslutning till din Azure Machine Learning-prenumeration. Exemplen är alla beroende ml_clientav . För att skapa en arbetsyta behöver anslutningen inte något namn på arbetsytan, eftersom du kanske inte har något ännu. Alla andra exempel i den här artikeln kräver att arbetsytans namn ingår i anslutningen.

    # 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)
    

Arbetsyta

Arbetsytan är resursen på den översta nivån i Azure Machine Learning, och är en central plats där du kan arbeta med alla artefakter du skapar när du använder Azure Machine Learning. Arbetsytan behåller en historik över alla jobb, inklusive loggar, mått, utdata och en ögonblicksbild av dina skript. Arbetsytan lagrar referenser till resurser som datalager och beräkning. Den innehåller även alla tillgångar som modeller, miljöer, komponenter och datatillgångar.

Skapa en arbetsyta

Om du vill skapa en arbetsyta med Python SDK v2 kan du använda följande kod:

GÄLLER FÖR: Python SDK azure-ai-ml v2 (aktuell)

# 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

Den här Jupyter-anteckningsboken visar fler sätt att skapa en Azure Machine Learning-arbetsyta med SDK v2.

Compute

En beräkning är en utsedd beräkningsresurs där du kör jobbet eller är värd för slutpunkten. Azure Machine Learning stöder följande typer av beräkning:

  • Beräkningsinstans – en fullständigt konfigurerad och hanterad utvecklingsmiljö i molnet. Du kan använda instansen som en tränings- eller slutsatsdragningsberäkning för utveckling och testning. Det liknar en virtuell dator i molnet.
  • Beräkningskluster – en infrastruktur för hanterad beräkning som gör att du enkelt kan skapa ett kluster med CPU- eller GPU-beräkningsnoder i molnet.
  • Serverlös beräkning – ett beräkningskluster som du kommer åt direkt. När du använder serverlös beräkning behöver du inte skapa ett eget kluster. All hantering av beräkningslivscykeln avlastas till Azure Machine Learning.
  • Slutsatsdragningskluster – används för att distribuera tränade maskininlärningsmodeller till Azure Kubernetes Service. Du kan skapa ett AkS-kluster (Azure Kubernetes Service) från din Azure Machine Learning-arbetsyta eller koppla ett befintligt AKS-kluster.
  • Bifogad beräkning – Du kan koppla dina egna beräkningsresurser till din arbetsyta och använda dem för träning och slutsatsdragning.

Skapa en beräkning

Om du vill skapa ett beräkningskluster med Python SDK v2 kan du använda följande kod:

GÄLLER FÖR: Python SDK azure-ai-ml v2 (aktuell)

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)

Den här Jupyter-anteckningsboken visar fler sätt att skapa beräkning med SDK v2.

Datalager

Azure Machine Learning-datalager behåller säkert anslutningsinformationen till din datalagring i Azure, så att du inte behöver koda den i skripten. Du kan registrera och skapa ett datalager för att enkelt ansluta till ditt lagringskonto och komma åt data i din underliggande lagringstjänst. CLI v2 och SDK v2 stöder följande typer av molnbaserade lagringstjänster:

  • Azure Blob-container
  • Azure-filresurs
  • Azure Data Lake
  • Azure Data Lake Gen2

Skapa ett datalager

Om du vill skapa ett datalager med Python SDK v2 kan du använda följande kod:

GÄLLER FÖR: Python SDK azure-ai-ml v2 (aktuell)

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)

Den här Jupyter-anteckningsboken visar fler sätt att skapa datalager med SDK v2.

Mer information om hur du använder ett datalager finns i Skapa och hantera datatillgångar.

Modell

Azure Machine Learning-modeller består av de binära filer som representerar en maskininlärningsmodell och motsvarande metadata. Modeller kan skapas från en lokal fil eller fjärrfil eller katalog. För fjärrplatser httpsstöds och wasbsazureml platser. Den skapade modellen spåras på arbetsytan under det angivna namnet och versionen. Azure Machine Learning stöder tre typer av lagringsformat för modeller:

  • custom_model
  • mlflow_model
  • triton_model

Skapa en modell i modellregistret

Med modellregistrering kan du lagra och versionshantera dina modeller i Azure-molnet på din arbetsyta. Modellregistret hjälper dig att organisera och hålla reda på dina tränade modeller.

Mer information om hur du skapar modeller i registret finns i Arbeta med modeller i Azure Machine Learning.

Environment

Azure Machine Learning-miljöer är en inkapsling av miljön där din maskininlärningsuppgift sker. De anger programvarupaket, miljövariabler och programvaruinställningar kring dina tränings- och bedömningsskript. Miljöerna är hanterade och versionshanterade entiteter på din Machine Learning-arbetsyta. Miljöer möjliggör reproducerbara, granskningsbara och bärbara arbetsflöden för maskininlärning i en mängd olika beräkningar.

Typer av miljö

Azure Machine Learning stöder två typer av miljöer: utvalda och anpassade.

Utvalda miljöer tillhandahålls av Azure Machine Learning och är tillgängliga på din arbetsyta som standard. De är avsedda att användas som de är och innehåller samlingar med Python-paket och inställningar som hjälper dig att komma igång med olika ramverk för maskininlärning. Dessa förskapade miljöer ger också snabbare distributionstid. En fullständig lista finns i artikeln om utvalda miljöer.

I anpassade miljöer ansvarar du för att konfigurera din miljö och installera paket eller andra beroenden som ditt tränings- eller bedömningsskript behöver för beräkningen. Med Azure Machine Learning kan du skapa en egen miljö med hjälp av

  • En docker-avbildning
  • En bas docker-avbildning med en conda YAML för att anpassa ytterligare
  • En Docker-byggkontext

Skapa en anpassad Azure Machine Learning-miljö

Information om hur du skapar en miljö med Python SDK v2 finns i Skapa en miljö.

Den här Jupyter-anteckningsboken visar fler sätt att skapa anpassade miljöer med SDK v2.

Data

Med Azure Machine Learning kan du arbeta med olika typer av data:

  • URI:er (en plats i lokal/molnlagring)
    • uri_folder
    • uri_file
  • Tabeller (en abstraktion av tabelldata)
    • mltable
  • Primitiver
    • string
    • boolean
    • number

I de flesta scenarier använder du URI:er (uri_folder och uri_file) – en plats i lagringen som enkelt kan mappas till filsystemet för en beräkningsnod i ett jobb genom att antingen montera eller ladda ned lagringen till noden.

mltable är en abstraktion för tabelldata som ska användas för AutoML-jobb, parallella jobb och vissa avancerade scenarier. Om du precis har börjat använda Azure Machine Learning och inte använder AutoML rekommenderar vi starkt att du börjar med URI:er.

Komponent

En Azure Machine Learning-komponent är en fristående kod som utför ett steg i en maskininlärningspipeline. Komponenter är byggstenarna i avancerade maskininlärningspipelines. Komponenter kan utföra uppgifter som databehandling, modellträning, modellbedömning och så vidare. En komponent motsvarar en funktion – den har ett namn, parametrar, förväntar sig indata och returnerar utdata.

Nästa steg