Share via


Az Azure Machine Tanulás működése: erőforrások és eszközök

ÉRVÉNYES:Azure CLI ml-bővítmény v2 (aktuális)Python SDK azure-ai-ml v2 (aktuális)

Ez a cikk az Azure Machine Tanulás CLI > Python SDK (v2) második verziójára vonatkozik. Az első verzió (v1) az Azure Machine Tanulás működése: Architektúra és fogalmak (v1)

Az Azure Machine Tanulás számos erőforrást és eszközt tartalmaz a gépi tanulási feladatok elvégzéséhez. Ezekre az erőforrásokra és eszközökre minden feladat futtatásához szükség van.

  • Erőforrások: gépi tanulási munkafolyamat futtatásához szükséges beállítási vagy infrastrukturális erőforrások. Az erőforrások a következők:
  • Eszközök: Azure Machine-Tanulás parancsokkal vagy egy betanítási/pontozási futtatás részeként hozhatók létre. Az eszközök verziószámozottak, és regisztrálhatók az Azure Machine Tanulás munkaterületen. Ezek közé tartoznak a következők:

Ez a dokumentum gyors áttekintést nyújt ezekről az erőforrásokról és eszközökről.

Előfeltételek

A Python SDK-kód példáinak használata ebben a cikkben:

  1. A Python SDK v2 telepítése

  2. Hozzon létre kapcsolatot az Azure Machine Tanulás-előfizetéssel. A példák mindegyike a következőre támaszkodik ml_client: Munkaterület létrehozásához a kapcsolatnak nincs szüksége munkaterületnévre, mivel lehet, hogy még nem rendelkezik ilyennel. A cikkben szereplő összes többi példa megköveteli, hogy a munkaterület neve szerepel a kapcsolatban.

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

Munkaterület

A munkaterület az Azure Machine Learning legfelső szintű erőforrása, amely egy központi helyet biztosít az Azure Machine Learning használata során létrehozott összetevőkkel való munkához. A munkaterület megőrzi az összes feladat előzményeit, beleértve a naplókat, metrikákat, kimeneteket és a szkriptek pillanatképét. A munkaterület olyan erőforrásokra mutató hivatkozásokat tárol, mint az adattárak és a számítás. Emellett minden olyan eszközt tartalmaz, mint a modellek, a környezetek, az összetevők és az adategységek.

Munkaterület létrehozása

Ha a Python SDK 2-sel szeretne munkaterületet létrehozni, használja a következő kódot:

A KÖVETKEZŐKRE VONATKOZIK: Python SDK azure-ai-ml v2 (aktuális)

# 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

Ez a Jupyter-jegyzetfüzet további módszereket mutat be egy Azure Machine Tanulás-munkaterület SDK v2 használatával történő létrehozására.

Compute

A számítás egy kijelölt számítási erőforrás, ahol futtatja a feladatot, vagy üzemelteti a végpontot. Az Azure Machine Tanulás a következő számítási típusokat támogatja:

  • Számítási példány – teljes mértékben konfigurált és felügyelt fejlesztési környezet a felhőben. A példányt a fejlesztéshez és teszteléshez használhatja betanítási vagy következtetési számításként. Hasonló a felhőben lévő virtuális géphez.
  • Számítási fürt – felügyelt számítási infrastruktúra, amely lehetővé teszi, hogy egyszerűen hozzon létre cpu- vagy GPU-számítási csomópontokat tartalmazó fürtöt a felhőben.
  • Kiszolgáló nélküli számítás – egy menet közben elérhető számítási fürt. Kiszolgáló nélküli számítás használatakor nem kell saját fürtöt létrehoznia. Minden számítási életciklus-felügyelet ki van töltve az Azure Machine Tanulás.
  • Következtetési fürt – betanított gépi tanulási modellek üzembe helyezésére szolgál az Azure Kubernetes Service-ben. Létrehozhat egy Azure Kubernetes Service-fürtöt (AKS) az Azure Machine Tanulás-munkaterületről, vagy csatolhat egy meglévő AKS-fürtöt.
  • Csatolt számítás – Saját számítási erőforrásokat csatolhat a munkaterülethez, és használhatja őket betanításra és következtetésre.

Számítás létrehozása

Ha a Python SDK v2 használatával szeretne számítási fürtöt létrehozni, használja a következő kódot:

A KÖVETKEZŐKRE VONATKOZIK: Python SDK azure-ai-ml v2 (aktuális)

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)

Ez a Jupyter-jegyzetfüzet további módszereket mutat be a számítás SDK v2 használatával történő létrehozására.

Adattár

Az Azure Machine Tanulás adattárak biztonságosan őrzik meg a kapcsolati adatokat az Azure-beli adattárhoz, így nem kell a szkriptekben kódokat megadnia. Regisztrálhat és létrehozhat egy adattárat, amellyel egyszerűen csatlakozhat a tárfiókhoz, és hozzáférhet a mögöttes tárolási szolgáltatásban lévő adatokhoz. A CLI v2 és az SDK v2 a következő felhőalapú tárolási szolgáltatásokat támogatja:

  • Azure-blobtároló
  • Azure-fájlmegosztás
  • Azure Data Lake
  • Azure Data Lake Gen2

Adattár létrehozása

Ha a Python SDK v2 használatával szeretne adattárat létrehozni, használja a következő kódot:

A KÖVETKEZŐKRE VONATKOZIK: Python SDK azure-ai-ml v2 (aktuális)

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)

Ez a Jupyter-jegyzetfüzet további lehetőségeket mutat be az adattárak SDK v2 használatával történő létrehozására.

Az adattárak használatáról további információt az adategységek létrehozása és kezelése című témakörben talál.

Modell

Az Azure Machine Tanulás-modellek a gépi tanulási modellt és a kapcsolódó metaadatokat képviselő bináris fájl(ok)ból állnak. A modellek helyi vagy távoli fájlból vagy könyvtárból hozhatók létre. A távoli helyek httpswasbs és azureml helyek támogatottak. A létrehozott modell a megadott név és verzió alatt lesz nyomon követve a munkaterületen. Az Azure Machine Tanulás háromféle tárolási formátumot támogat a modellekhez:

  • custom_model
  • mlflow_model
  • triton_model

Modell létrehozása a modellregisztrációs adatbázisban

A modellregisztráció lehetővé teszi a modellek azure-felhőben, a munkaterületen való tárolását és verziószámozását. A modellregisztrációs adatbázis segít a betanított modellek rendszerezésében és nyomon követésében.

A modellek beállításjegyzékben való létrehozásáról további információt az Azure Machine Tanulás modellek használata című témakörben talál.

Környezet

Az Azure Machine Tanulás környezetek annak a környezetnek a beágyazása, amelyben a gépi tanulási feladat történik. Megadják a betanítási és pontozási szkriptek körüli szoftvercsomagokat, környezeti változókat és szoftverbeállításokat. A környezetek felügyelt és verziószámozott entitások a Gép Tanulás munkaterületen belül. A környezetek lehetővé teszik a reprodukálható, naplózható és hordozható gépi tanulási munkafolyamatokat a különböző számításokban.

Környezettípusok

Az Azure Machine Tanulás kétféle környezetet támogat: válogatott és egyéni.

A válogatott környezeteket az Azure Machine Tanulás biztosítja, és alapértelmezés szerint elérhetők a munkaterületen. A használatukhoz a Python-csomagok és -beállítások gyűjteményei szolgálnak, amelyek segítenek a különböző gépi tanulási keretrendszerek használatának megkezdésében. Ezek az előre létrehozott környezetek gyorsabb üzembe helyezési időt is lehetővé teszik. A teljes listát a válogatott környezetekről szóló cikkben találja.

Egyéni környezetekben Ön a felelős a környezet beállításáért és a csomagok vagy egyéb függőségek telepítéséért, amelyekre a betanítási vagy pontozási szkriptnek szüksége van a számításhoz. Az Azure Machine Tanulás lehetővé teszi saját környezet létrehozását a

  • Docker-rendszerkép
  • Alap docker-rendszerkép conda YAML-sel a további testreszabáshoz
  • A Docker buildkörnyezete

Azure Machine-Tanulás egyéni környezet létrehozása

Ha a Python SDK v2 használatával szeretne környezetet létrehozni, olvassa el a Környezet létrehozása című témakört.

Ez a Jupyter-jegyzetfüzet további módszereket mutat be egyéni környezetek SDK v2 használatával történő létrehozására.

Adatok

Az Azure Machine Tanulás különböző típusú adatokkal dolgozhat:

  • URI-k (hely a helyi/felhőbeli tárolóban)
    • uri_folder
    • uri_file
  • Táblák (táblázatos adat absztrakció)
    • mltable
  • Primitívek
    • string
    • boolean
    • number

A legtöbb forgatókönyv esetében URI-kat (uri_folder és uri_file) – olyan tárolóhelyet fog használni, amely egyszerűen leképezhető egy számítási csomópont fájlrendszerére egy feladatban a tároló csatlakoztatásával vagy a csomópontra való letöltésével.

mltable Absztrakció az AutoML-feladatokhoz, párhuzamos feladatokhoz és bizonyos speciális forgatókönyvekhez használandó táblázatos adatokhoz. Ha csak most kezdi használni az Azure Machine Tanulás, és nem használja az AutoML-t, határozottan javasoljuk, hogy kezdjen URI-kkal.

Összetevő

Az Azure Machine Tanulás-összetevők olyan önálló kódrészletek, amelyek egy lépést hajtanak végre egy gépi tanulási folyamatban. Az összetevők a fejlett gépi tanulási folyamatok építőelemei. Az összetevők olyan feladatokat végezhetnek, mint az adatfeldolgozás, a modell betanítása, a modell pontozása stb. Az összetevők egy függvényhez hasonlóak – névvel, paraméterekkel, bemenetet várnak, és kimenetet ad vissza.

Következő lépések