Megosztás a következőn keresztül:


Adatok megosztása munkaterületek között regisztrációs adatbázisokkal (előzetes verzió)

Az Azure Machine Learning beállításjegyzéke lehetővé teszi a szervezeten belüli munkaterületek közötti együttműködést. A regisztrációs adatbázisok használatával modelleket, összetevőket, környezeteket és adatokat oszthat meg. Az adatok adatbázisokkal való megosztása jelenleg előzetes verziójú funkció. Ebben a cikkben az alábbiakkal ismerkedhet meg:

  • Hozzon létre egy adategységet a beállításjegyzékben.
  • Meglévő adategység megosztása a munkaterületről a beállításjegyzékbe
  • Használja a beállításjegyzékből származó adategységet egy modell betanítási feladatának bemeneteként egy munkaterületen.

Fontos

Ez a funkció jelenleg nyilvános előzetes verzióban érhető el. Ez az előzetes verzió szolgáltatásszint-szerződés nélkül érhető el, éles számítási feladatokhoz nem ajánljuk. Előfordulhat, hogy néhány funkció nem támogatott, vagy korlátozott képességekkel rendelkezik.

További információ: Kiegészítő használati feltételek a Microsoft Azure előzetes verziójú termékeihez.

Az Azure Machine Learning-beállításjegyzékkel végzett adatmegosztás által kezelt fő forgatókönyv

Előfordulhat, hogy egy központi helyen több csapat, projekt vagy munkaterület között is meg szeretné osztani az adatokat. Ezek az adatok nem rendelkeznek bizalmas hozzáférés-vezérléssel, és széles körben használhatók a szervezetben.

Példák:

  • A csapat meg szeretne osztani egy olyan nyilvános adathalmazt, amely előre feldolgozva van, és készen áll a kísérletekben való használatra.
  • A szervezet egy projekthez egy adott adathalmazt szerzett be egy külső gyártótól, és elérhetővé szeretné tenni azokat a projekten dolgozó összes csapat számára.
  • Egy csapat meg szeretné osztani az adategységeket a különböző régiókban található munkaterületeken.

Ezekben a forgatókönyvekben létrehozhat egy adategységet egy beállításjegyzékben, vagy megoszthatja egy meglévő adategységet egy munkaterületről egy beállításjegyzékbe. Ez az adategység ezután több munkaterületen is használható.

Az adatmegosztás által az Azure Machine Learning regisztrációs adatbázisával nem kezelt forgatókönyvek

  • Bizalmas adatok megosztása, amelyek részletes hozzáférés-vezérlést igényelnek. A beállításjegyzékben nem hozható létre adategység, amelyet megoszthat a felhasználók/munkaterületek egy kis részhalmazával, miközben a beállításjegyzéket a szervezet számos más felhasználója is elérheti.

  • A meglévő tárolóban elérhető olyan adatok megosztása, amelyeket nem szabad másolni, vagy amelyek túl nagyok vagy túl költségesek a másoláshoz. Amikor adategységek jönnek létre egy beállításjegyzékben, a rendszer betölti az adatok egy példányát a beállításjegyzék-tárolóba, hogy replikálható legyen.

Az Azure Machine Learning beállításjegyzéke által támogatott adategység-típusok

Tipp

Tekintse meg a következő canonical forgatókönyveket , amikor eldönti, hogy használni uri_fileszeretné-e a , uri_foldervagy mltable a forgatókönyvet.

Három adategység-típust hozhat létre:

Típus V2 API Canonical forgatókönyv
Fájl: Hivatkozás egyetlen fájlra uri_file Egyetlen fájl olvasása/írása – a fájl bármilyen formátumú lehet.
Mappa: Egyetlen mappa hivatkozása uri_folder Parquet-/CSV-fájlokat kell olvasnia/írnia a Pandasba/Sparkba. Mély tanulás egy könyvtárban található képekkel, szöveggel, hanggal és videofájlokkal.
Táblázat: Adattábla hivatkozása mltable Összetett sémája gyakori változásoknak van kitéve, vagy nagy táblázatos adatok egy részhalmazára van szüksége.

Az Azure Machine Learning beállításjegyzéke által támogatott útvonalak

Adategység létrehozásakor meg kell adnia egy elérésiút-paramétert , amely az adathelyre mutat. Jelenleg az egyetlen támogatott elérési út a helyi számítógépen található helyekre vonatkozik.

Tipp

A "Helyi" a használt számítógép helyi tárolója. Ha például laptopot használ, a helyi meghajtót. Azure Machine Learning számítási példány esetén a számítási példány "helyi" meghajtója.

Előfeltételek

A cikkben ismertetett lépések végrehajtása előtt győződjön meg arról, hogy rendelkezik az alábbi előfeltételekkel:

  • Az Azure Machine Learning-nyilvántartások és -adatfogalmak ismerete az Azure Machine Learningben.

  • Egy Azure Machine Learning-beállításjegyzék az adatok megosztásához. Beállításjegyzék létrehozásához lásd: Beállításjegyzék létrehozása.

  • Egy Azure Machine Learning-munkaterület. Ha nincs ilyenje, a munkaterület erőforrásainak létrehozása című rövid útmutató lépéseit követve hozzon létre egyet.

    Fontos

    A munkaterületet létrehozó Azure-régiónak (helynek) szerepelnie kell az Azure Machine Learning beállításjegyzékében támogatott régiók listájában.

  • A Modellek, összetevők és környezetek megosztása című cikkből létrehozott környezet és összetevő.

  • Az Azure CLI és a ml bővítmény vagy az Azure Machine Learning Python SDK v2:

    Az Azure CLI és a bővítmény telepítéséhez lásd a parancssori felület (v2) telepítését, beállítását és használatát ismertető cikket.

    Fontos

    • A jelen cikkben szereplő CLI-példák feltételezik, hogy a Bash (vagy kompatibilis) rendszerhéjat használja. Például linuxos rendszerből vagy Linuxhoz készült Windows-alrendszerből.

    • A példák azt is feltételezik, hogy az Azure CLI alapértelmezett értékeit konfigurálta, így nem kell megadnia az előfizetés, a munkaterület, az erőforráscsoport vagy a hely paramétereit. Az alapértelmezett beállítások megadásához használja az alábbi parancsokat. Cserélje le a következő paramétereket a konfiguráció értékeire:

      • Cserélje le a <subscription> értékét a saját Azure-előfizetése azonosítójára.
      • Cserélje le <workspace> a elemet az Azure Machine Learning-munkaterület nevére.
      • Cserélje le a elemet <resource-group> a munkaterületet tartalmazó Azure-erőforráscsoportra.
      • Cserélje le a elemet <location> a munkaterületet tartalmazó Azure-régióra.
      az account set --subscription <subscription>
      az configure --defaults workspace=<workspace> group=<resource-group> location=<location>
      

      A parancs használatával az configure -l megtekintheti az aktuális alapértelmezett beállításokat.

Példák adattárának klónozása

A cikkben szereplő kódpéldák a nyc_taxi_data_regressionpéldák adattárában található mintán alapulnak. Ha ezeket a fájlokat a fejlesztési környezetben szeretné használni, az alábbi parancsokkal klónozza az adattárat, és módosítsa a könyvtárakat a példára:

git clone https://github.com/Azure/azureml-examples
cd azureml-examples

A CLI-példában módosítsa a könyvtárakat cli/jobs/pipelines-with-components/nyc_taxi_data_regression a példaadattár helyi klónjára.

cd cli/jobs/pipelines-with-components/nyc_taxi_data_regression

SDK-kapcsolat létrehozása

Tipp

Erre a lépésre csak a Python SDK használatakor van szükség.

Hozzon létre egy ügyfélkapcsolatot az Azure Machine Learning-munkaterülethez és a beállításjegyzékhez. Az alábbi példában cserélje le a <...> helyőrző értékeket a konfigurációnak megfelelő értékekre. Például az Azure-előfizetés azonosítóját, a munkaterület nevét, a beállításjegyzék nevét stb.:

ml_client_workspace = MLClient( credential=credential,
    subscription_id = "<workspace-subscription>",
    resource_group_name = "<workspace-resource-group",
    workspace_name = "<workspace-name>")
print(ml_client_workspace)

ml_client_registry = MLClient(credential=credential,
                        registry_name="<REGISTRY_NAME>",
                        registry_location="<REGISTRY_REGION>")
print(ml_client_registry)

Adatok létrehozása a beállításjegyzékben

Az ebben a lépésben létrehozott adategységet a cikk későbbi részében használjuk betanítási feladat elküldésekor.

Tipp

Ugyanez a CLI-parancs az ml data create használható adatok munkaterületen vagy beállításjegyzékben való létrehozásához. A parancs paranccsal való --workspace-name futtatása létrehozza az adatokat egy munkaterületen, míg a parancs futtatásával --registry-name létrehozza az adatokat a beállításjegyzékben.

Az adatforrás a korábban klónozott példák adattárában található. A helyi klón alatt lépjen a következő könyvtár elérési útjára: cli/jobs/pipelines-with-components/nyc_taxi_data_regression. Ebben a könyvtárban hozzon létre egy nevű data-registry.yml YAML-fájlt, és használja a következő YAML-fájlt a fájl tartalmaként:

$schema: https://azuremlschemas.azureedge.net/latest/data.schema.json
name: transformed-nyc-taxt-data
description: Transformed NYC Taxi data created from local folder.
version: 1
type: uri_folder
path: data_transformed/

Az path érték az data_transformed alkönyvtárra mutat, amely a beállításjegyzék használatával megosztott adatokat tartalmazza.

Az adatok a beállításjegyzékben való létrehozásához használja a következőt az ml data create: . Az alábbi példákban cserélje le <registry-name> a elemet a beállításjegyzék nevére.

az ml data create --file data-registry.yml --registry-name <registry-name>

Ha hibaüzenetet kap arról, hogy az ilyen nevű és verziójú adatok már léteznek a beállításjegyzékben, szerkesztheti a mezőt a version fájlban data-registry.yml , vagy megadhat egy másik verziót a parancssori felületen, amely felülbírálja a verzió értékét a fájlban data-registry.yml.

# use shell epoch time as the version
version=$(date +%s)
az ml data create --file data-registry.yml --registry-name <registry-name> --set version=$version

Tipp

Ha a version=$(date +%s) parancs nem állítja be a változót $version a környezetben, cserélje le a elemet $version egy véletlenszerű számra.

Mentse az name és version az adatokat a az ml data create parancs kimenetéből, és használja őket a paranccsal az ml data show az objektum részleteinek megtekintéséhez.

az ml data show --name transformed-nyc-taxt-data --version 1 --registry-name <registry-name>

Tipp

Ha más adatnevet vagy verziót használt, cserélje le a és --version a --name paramétert ennek megfelelően.

A beállításjegyzékben található összes adategység listázására is használható az ml data list --registry-name <registry-name> .

Környezet és összetevő létrehozása a beállításjegyzékben

Ha környezetet és összetevőt szeretne létrehozni a beállításjegyzékben, kövesse a Modellek, összetevők és környezetek megosztása című cikk lépéseit . A környezet és az összetevő a következő szakaszban található betanítási feladatban lesz felhasználva.

Tipp

A munkaterületről is használhat környezeteket és összetevőket a beállításjegyzékből származók helyett.

Folyamatfeladat futtatása egy munkaterületen a beállításjegyzékből származó összetevő használatával

Ha olyan folyamatfeladatot futtat, amely egy összetevőt és egy beállításjegyzékből származó adatokat használ, a számítási erőforrások helyiek a munkaterületen. A következő példában a feladat a Scikit Learn betanítási összetevőt és az előző szakaszokban létrehozott adategységet használja a modell betanításához.

Megjegyzés

A fő szempont az, hogy ez a folyamat egy munkaterületen fog futni olyan betanítási adatokkal, amelyek nem az adott munkaterületen találhatóak. Az adatok egy beállításjegyzékben vannak, amely a szervezet bármely munkaterületével használható. Ezt a betanítási feladatot bármely olyan munkaterületen futtathatja, amelyhez hozzáférése van, anélkül, hogy aggódnia kellene a betanítási adatok elérhetővé tétele miatt az adott munkaterületen.

Ellenőrizze, hogy a cli/jobs/pipelines-with-components/nyc_taxi_data_regression könyvtárban van-e. Szerkessze a component fájl szakaszában található train_job szakaszt, single-job-pipeline.yml hogy a betanítási összetevőre és pathtraining_data a szakaszban az előző szakaszokban létrehozott adategységre hivatkozzon. Az alábbi példa bemutatja, hogyan néz ki a single-job-pipeline.yml szerkesztés után. Cserélje le a <registry_name> elemet a beállításjegyzék nevére:

$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
display_name: nyc_taxi_data_regression_single_job
description: Single job pipeline to train regression model based on nyc taxi dataset

jobs:
  train_job:
    type: command
    component: azureml://registries/<registry-name>/component/train_linear_regression_model/versions/1
    compute: azureml:cpu-cluster
    inputs:
      training_data: 
        type: uri_folder
        path: azureml://registries/<registry-name>/data/transformed-nyc-taxt-data/versions/1
    outputs:
      model_output: 
        type: mlflow_model
      test_data: 

Figyelmeztetés

  • A folyamatfeladat futtatása előtt ellenőrizze, hogy a munkaterület, amelyen futtatni fogja a feladatot, olyan Azure-régióban van-e, amelyet támogat az a beállításjegyzék, amelyben létrehozta az adatokat.
  • Ellenőrizze, hogy a munkaterület rendelkezik-e számítási fürttel a névvel cpu-cluster , vagy szerkessze a compute mező jobs.train_job.compute értékét a számítás nevével.

Futtassa a folyamatfeladatot a az ml job create paranccsal.

az ml job create --file single-job-pipeline.yml 

Tipp

Ha nem konfigurálta az alapértelmezett munkaterületet és erőforráscsoportot az előfeltételek szakaszban leírtak szerint, meg kell adnia a és --resource-group a --workspace-name paramétert a az ml job create működéshez.

A feladatok futtatásával kapcsolatos további információkért tekintse meg a következő cikkeket:

Adatok megosztása a munkaterületről a beállításjegyzékbe

Az alábbi lépések bemutatják, hogyan oszthat meg egy meglévő adategységet egy munkaterületről egy beállításjegyzékbe.

Először hozzon létre egy adategységet a munkaterületen. Győződjön meg arról, hogy a cli/assets/data könyvtárban van. Az local-folder.yml ebben a könyvtárban található adategységet a munkaterületen hozhatja létre. A fájlban megadott adatok a könyvtárban cli/assets/data/sample-data érhetők el. A fájl tartalma local-folder.yml a következő YAML:

$schema: https://azuremlschemas.azureedge.net/latest/data.schema.json
name: local-folder-example-titanic
description: Dataset created from local folder.
type: uri_folder
path: sample-data/

Az adategység munkaterületen való létrehozásához használja a következő parancsot:

az ml data create -f local-folder.yml

További információ az adategységek munkaterületen való létrehozásáról: Adategységek létrehozása.

A munkaterületen létrehozott adategység megosztható egy beállításjegyzékben. A beállításjegyzékben több munkaterületen is használható. Vegye figyelembe, hogy a megosztási --share_with_name függvényben továbbítjuk a és --share_with_version paramétert. Ezek a paraméterek nem kötelezőek, és ha nem adja át ezeket az adatokat, ugyanazzal a névvel és verzióval lesznek megosztva, mint a munkaterületen.

Az alábbi példa bemutatja, hogy a share paranccsal oszthat meg egy adategységet. A helyére <registry-name> írja be annak a beállításjegyzéknek a nevét, amellyel az adatok meg lesznek osztva.

az ml data share --name local-folder-example-titanic --version <version-in-workspace> --share-with-name <name-in-registry> --share-with-version <version-in-registry> --registry-name <registry-name>

Következő lépések