Dela via


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 Azure Machine Learning-kommandon eller som en del av en tränings-/utvärderingskö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 arbetsytenamn, 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
    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)
    

Arbetsyta

En arbetsyta är resursen på den översta nivån för Azure Machine Learning, vilket ger en central plats där du kan arbeta med alla artefakter som 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, till exempel modeller, miljöer, komponenter och datatillgångar.

Skapa en arbetsyta

Om du vill skapa en arbetsyta med hjälp av 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"),
)
# Use MLClient to connect to the subscription and resource group and create the workspace.
ml_client.workspaces.begin_create(ws) 

Fler sätt att skapa en Azure Machine Learning-arbetsyta med hjälp av SDK v2 finns i den här Jupyter-anteckningsboken.

Mer detaljerad information om hur du skapar en arbetsyta finns i Hantera Azure Machine Learning-arbetsytor i portalen eller med Python SDK (v2).

Räkna ut

En datorresurs är en tilldelad resurs där du kör din uppgift eller hostar din slutpunkt. 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.
  • Inference-kluster. Används för att distribuera tränade maskininlärningsmodeller till Azure Kubernetes Service (AKS). Du kan skapa ett Azure Kubernetes Service-kluster från din Azure Machine Learning-arbetsyta eller koppla ett befintligt AKS-kluster.
  • Ansluten beräkningsenhet. Du kan koppla dina egna beräkningsresurser till din arbetsyta och använda dem för träning och slutsatsdragning.

Skapa en beräkningsresurs

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

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

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)

Fler sätt att skapa beräkning med hjälp av SDK v2 finns i den här Jupyter-notebook-filen.

Mer detaljerad information om hur du skapar beräkning finns i:

Datalager

Azure Machine Learning-datalager behåller säkert anslutningsinformationen för 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 Storage
  • Azure Data Lake Storage Gen2

Skapa ett datalager

Om du vill skapa ett datalager med hjälp av 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)

Fler sätt att skapa datalager med hjälp av SDK v2 finns i den här Jupyter-anteckningsboken.

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

Modell

Azure Machine Learning-modeller består av en eller flera 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.

Miljö

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

Miljötyper

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 docker-basavbildning med en Conda YAML-fil för ytterligare anpassningar.
  • En Docker-byggkontext.

Skapa en anpassad Azure Machine Learning-miljö

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

Fler sätt att skapa anpassade miljöer med hjälp av SDK v2 finns i den här Jupyter-anteckningsboken.

Mer information om miljöer finns i Skapa och hantera miljöer i Azure Machine Learning.

Uppgifter

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

  • URI:er (en plats i lokal lagring eller 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) till en plats i lagringen som du enkelt kan mappa 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 används 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 slutför ett steg i en maskininlärningspipeline. Komponenter är byggstenarna i avancerade maskininlärningspipelines. Komponenter kan utföra uppgifter som databehandling, modellträning och modellbedömning. En komponent motsvarar en funktion: den har ett namn och parametrar, förväntar sig indata och returnerar utdata.