Az Azure Machine Learning 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 Learning CLI & Python SDK (v2) második verziójára vonatkozik. Az első verzió (v1) az Azure Machine Learning működése: Architektúra és fogalmak (v1)
Az Azure Machine Learning 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 Learning-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 Learning-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:
Hozzon létre egy kapcsolatot az Azure Machine Learning-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 Learning-munkaterület SDK v2 használatával történő létrehozására.
A munkaterületek létrehozásával kapcsolatos további információkért lásd: Azure Machine Learning-munkaterületek kezelése a portálon vagy a Python SDK-val (v2).
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 Learning 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 Learningbe.
- 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 Learning-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.
A számítás létrehozásával kapcsolatos részletesebb információkért lásd:
- Azure Machine Learning számítási példány létrehozása
- Azure Machine Learning számítási fürt létrehozása
Adattár
Az Azure Machine Learning-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 Learning-modellek egy vagy több bináris fájlból állnak, amelyek egy gépi tanulási modellt és a megfelelő metaadatokat jelölik. A modellek helyi vagy távoli fájlból vagy könyvtárból hozhatók létre. A távoli helyek https
wasbs
és azureml
helyek támogatottak. A létrehozott modell nyomon követhető a munkaterületen a megadott név és verzió alatt. Az Azure Machine Learning 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 a Modellek használata az Azure Machine Learningben című témakörben talál.
Környezet
Az Azure Machine Learning-környezetek annak a környezetnek a beágyazása, ahol 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 Machine Learning-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 Learning kétféle környezetet támogat: válogatott és egyéni.
A válogatott környezeteket az Azure Machine Learning 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 Learning lehetővé teszi, hogy saját környezetet hozzon létre a
- Docker-rendszerkép
- Alap docker-rendszerkép conda YAML-sel a további testreszabáshoz
- A Docker buildkörnyezete
Egyéni Azure Machine Learning-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.
A környezetekkel kapcsolatos részletesebb információkért lásd : Környezetek létrehozása és kezelése az Azure Machine Learningben.
Adatok
Az Azure Machine Learning lehetővé teszi, hogy különböző típusú adatokkal dolgozzon:
- 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
) használ– a tárterület olyan helyét, amely egyszerűen leképezhető egy számítási csomópont fájlrendszerére egy feladatban, ha csatlakoztatja vagy letölti a tárterületet a csomópontra.
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 Learninget, és nem használja az AutoML-t, határozottan javasoljuk, hogy kezdjen URI-kkal.
Összetevő
Az Azure Machine Learning-ö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.