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


CLI (v2) batch deployment YAML-séma

A KÖVETKEZŐRE VONATKOZIK: Azure CLI ml-bővítmény v2 (aktuális)

A forrás JSON-séma a következő helyen https://azuremlschemas.azureedge.net/latest/batchDeployment.schema.jsontalálható: .

Feljegyzés

A dokumentumban részletezett YAML-szintaxis az ML CLI v2 bővítmény legújabb verziójának JSON-sémáján alapul. Ez a szintaxis garantáltan csak az ML CLI v2 bővítmény legújabb verziójával működik. A régebbi bővítményverziók sémáit a következő helyen https://azuremlschemasprod.azureedge.net/találja: .

YAML-szintaxis

Kulcs Típus Leírás Megengedett értékek Alapértelmezett érték
$schema húr A YAML-séma. Ha az Azure Machine Learning VS Code-bővítményt használja a YAML-fájl létrehozásához, a fájl tetején is $schema lehetővé teszi a séma és az erőforrás-kiegészítések meghívását.
name húr Szükséges. Az üzembe helyezés neve.
description húr Az üzembe helyezés leírása.
tags object Az üzembe helyezés címkéinek szótára.
endpoint_name húr Szükséges. Az üzembe helyezés létrehozásához szükséges végpont neve.
type húr Szükséges. A fürdő üzembe helyezésének típusa. Modelltelepítésekhez és folyamatösszetevők üzembe helyezéséhez használhatómodel.pipeline

Új az 1.7-es verzióban.
model, pipeline model
settings object Az üzembe helyezés konfigurálása. Az engedélyezett értékekhez tekintse meg a modell- és folyamatösszetevőre vonatkozó konkrét YAML-referenciát.

Új az 1.7-es verzióban.

Tipp.

A kulcs type a CLI-bővítmény 1.7-es és újabb verziójában lett bevezetve. A visszamenőleges kompatibilitás teljes támogatása érdekében ez a tulajdonság alapértelmezés szerint a model. Ha azonban nincs explicit módon megjelölve, a kulcs settings nem lesz kényszerítve, és a modell üzembe helyezési beállításainak összes tulajdonságát fel kell tüntetni a YAML-specifikáció gyökerében.

YAML-szintaxis modelltelepítésekhez

Amikor type: modela következő szintaxist kényszeríti ki:

Kulcs Típus Leírás Megengedett értékek Alapértelmezett érték
model sztring vagy objektum Szükséges. Az üzembe helyezéshez használni kívánt modell. Ez az érték lehet a munkaterület egy meglévő verziójú modelljére való hivatkozás, vagy egy beágyazott modell specifikációja.

Meglévő modellre való hivatkozáshoz használja a szintaxist azureml:<model-name>:<version> .

Modell beágyazott definiálásához kövesse a Modell sémát.

Az éles forgatókönyvekhez ajánlott eljárásként külön kell létrehoznia a modellt, és itt kell hivatkoznia rá.
code_configuration object A pontozási kód logikájának konfigurálása.

Ez a tulajdonság nem szükséges, ha a modell MLflow formátumú.
code_configuration.code húr A modell pontozásához használt összes Python-forráskódot tartalmazó helyi könyvtár.
code_configuration.scoring_script húr A Python-fájl a fenti könyvtárban. Ennek a fájlnak függvényt init() és függvényt kell tartalmaznia run() . Használja a függvényt init() bármilyen költséges vagy gyakori előkészítéshez (például töltse be a modellt a memóriába). init() a rendszer csak egyszer hívja meg a folyamat elején. Az egyes bejegyzések pontozására mini_batch használhatórun(mini_batch); az érték a fájl elérési útjainak listája. A run() függvénynek pandas DataFrame-et vagy tömböt kell visszaadnia. Minden visszaadott elem a bemeneti elem egy sikeres futtatását jelzi a mini_batch. A pontozási szkript készítésével kapcsolatos további információkért lásd a pontozószkript ismertetése című témakört.
environment sztring vagy objektum Az üzembe helyezéshez használni kívánt környezet. Ez az érték hivatkozhat a munkaterület meglévő verziójú környezetére, vagy egy beágyazott környezeti specifikációra.

Ez a tulajdonság nem szükséges, ha a modell MLflow formátumú.

Meglévő környezetre való hivatkozáshoz használja a szintaxist azureml:<environment-name>:<environment-version> .

A környezet beágyazott definiálásához kövesse a Környezeti sémát.

Az éles forgatókönyvekhez ajánlott eljárásként külön kell létrehoznia a környezetet, és itt kell hivatkoznia rá.
compute húr Szükséges. A kötegelt pontozási feladatok végrehajtásához használni kívánt számítási cél neve. Ennek az értéknek a szintaxist használó azureml:<compute-name> , a munkaterületen meglévő számításra kell hivatkoznia.
resources.instance_count egész szám Az egyes kötegpontozási feladatokhoz használandó csomópontok száma. 1
settings object A modell központi telepítésének konkrét konfigurációja.

Az 1.7-es verzióban módosult.
settings.max_concurrency_per_instance egész szám A párhuzamos scoring_script futtatások maximális száma példányonként. 1
settings.error_threshold egész szám A figyelmen kívül hagyandó fájlhibák száma. Ha a teljes bemenet hibaszáma meghaladja ezt az értéket, a kötegpontozási feladat leáll. error_threshold a teljes bemenethez tartozik, nem pedig az egyes mini kötegekhez. Ha nincs megadva, tetszőleges számú fájlhiba engedélyezett a feladat leállása nélkül. -1
settings.logging_level húr A napló részletességi szintje. warning, , infodebug info
settings.mini_batch_size egész szám Az egy run() hívásban feldolgozható fájlok code_configuration.scoring_script száma. 10
settings.retry_settings object Próbálkozzon újra az egyes mini kötegek pontozásának beállításaival.
settings.retry_settings.max_retries egész szám A sikertelen vagy időtúllépéses mini kötegek újrapróbálkozásának maximális száma. 3
settings.retry_settings.timeout egész szám Az egyetlen mini köteg pontozásának időtúllépése másodpercben. Használjon nagyobb értékeket, ha a mini köteg mérete nagyobb, vagy a modell futtatása drágább. 30
settings.output_action húr Azt jelzi, hogy a kimenet hogyan legyen rendszerezve a kimeneti fájlban. Akkor használjasummary_only, ha a kimeneti fájlokat a modelltelepítések kimeneteinek testreszabása című témakörben leírtak szerint hozza létre. Akkor használjaappend_row, ha a függvényutasítás return részeként run() előrejelzéseket ad vissza. append_row, summary_only append_row
settings.output_file_name húr A kötegpontozás kimeneti fájljának neve. predictions.csv
settings.environment_variables object Az egyes kötegpontozási feladatokhoz beállított környezeti változókulcs-érték párok szótára.

YAML-szintaxis a folyamatösszetevők üzembe helyezéséhez

Amikor type: pipelinea következő szintaxist kényszeríti ki:

Kulcs Típus Leírás Megengedett értékek Alapértelmezett érték
component sztring vagy objektum Szükséges. Az üzembe helyezéshez használt folyamatösszetevő. Ez az érték lehet egy meglévő verziójú folyamatösszetevőre való hivatkozás a munkaterületen vagy a beállításjegyzékben, vagy egy beágyazott folyamat specifikációja.

Meglévő összetevőre való hivatkozáshoz használja a szintaxist azureml:<component-name>:<version> .

Folyamatösszetevő beágyazott definiálásához kövesse a Folyamat összetevő sémáját.

Az éles forgatókönyvekhez ajánlott eljárásként külön kell létrehoznia az összetevőt, és itt kell hivatkoznia rá.

Új az 1.7-es verzióban.
settings object A folyamatfeladat alapértelmezett beállításai. A konfigurálható tulajdonságok halmazához tekintse meg a beállításkulcs attribútumait.

Új az 1.7-es verzióban.

Megjegyzések

A az ml batch-deployment parancsok az Azure Machine Learning kötegtelepítéseinek kezelésére használhatók.

Példák

A példák a GitHub-adattárban érhetők el. Néhányukra az alábbiakban hivatkozunk:

YAML: MLflow-modell üzembe helyezése

Egy MLflow-modellt tartalmazó modelltelepítés, amely nem igényel jelzést code_configuration vagy environment:

$schema: https://azuremlschemas.azureedge.net/latest/modelBatchDeployment.schema.json
endpoint_name: heart-classifier-batch
name: classifier-xgboost-mlflow
description: A heart condition classifier based on XGBoost
type: model
model: azureml:heart-classifier-mlflow@latest
compute: azureml:batch-cluster
resources:
  instance_count: 2
settings:
  max_concurrency_per_instance: 2
  mini_batch_size: 2
  output_action: append_row
  output_file_name: predictions.csv
  retry_settings:
    max_retries: 3
    timeout: 300
  error_threshold: -1
  logging_level: info

YAML: Egyéni modell üzembe helyezése pontozó szkripttel

Egy modelltelepítés, amely a használni kívánt pontozószkriptet és a környezetet jelzi:

$schema: https://azuremlschemas.azureedge.net/latest/modelBatchDeployment.schema.json
name: mnist-torch-dpl
description: A deployment using Torch to solve the MNIST classification dataset.
endpoint_name: mnist-batch
type: model
model:
  name: mnist-classifier-torch
  path: model
code_configuration:
  code: code
  scoring_script: batch_driver.py
environment:
  name: batch-torch-py38
  image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latest
  conda_file: environment/conda.yaml
compute: azureml:batch-cluster
resources:
  instance_count: 1
settings:
  max_concurrency_per_instance: 2
  mini_batch_size: 10
  output_action: append_row
  output_file_name: predictions.csv
  retry_settings:
    max_retries: 3
    timeout: 30
  error_threshold: -1
  logging_level: info

YAML: Örökölt modelltelepítések

Ha az attribútum type nem szerepel a YAML-ben, akkor a modell üzembe helyezése következik. A kulcs settings azonban nem lesz elérhető, és a tulajdonságokat a YAML gyökerébe kell helyezni az ebben a példában leírtak szerint. Erősen ajánlott mindig megadni a tulajdonságottype.

$schema: https://azuremlschemas.azureedge.net/latest/batchDeployment.schema.json
endpoint_name: heart-classifier-batch
name: classifier-xgboost-mlflow
description: A heart condition classifier based on XGBoost
model: azureml:heart-classifier-mlflow@latest
compute: azureml:batch-cluster
resources:
  instance_count: 2
max_concurrency_per_instance: 2
mini_batch_size: 2
output_action: append_row
output_file_name: predictions.csv
retry_settings:
  max_retries: 3
  timeout: 300
error_threshold: -1
logging_level: info

YAML: Folyamatösszetevő üzembe helyezése

Egyszerű folyamatösszetevő üzembe helyezése:

$schema: https://azuremlschemas.azureedge.net/latest/pipelineComponentBatchDeployment.schema.json
name: hello-batch-dpl
endpoint_name: hello-pipeline-batch
type: pipeline
component: azureml:hello_batch@latest
settings:
    default_compute: batch-cluster

Következő lépések