Parancssori felület (v2) által felügyelt online üzemelő példány YAML-sémája

ÉRVÉNYES:Azure CLI ml-bővítmény 2-es verzió (aktuális)

A forrás JSON-séma a következő helyen https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.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 Tanulás 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 erőforrás-kiegészítések meghívását.
name húr Szükséges. Az üzembe helyezés neve.

Itt definiáljuk az elnevezési szabályokat.
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.
model sztring vagy objektum 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>:<model-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á.

Ez a mező nem kötelező egyéni tárolótelepítési forgatókönyvekhez.
model_mount_path húr A modell egyéni tárolóba való csatlakoztatásának elérési útja. Csak egyéni tárolótelepítési forgatókönyvekre alkalmazható. Ha a model mező meg van adva, az erre az útvonalra van csatlakoztatva a tárolóban.
code_configuration object A pontozási kód logikájának konfigurálása.

Ez a mező nem kötelező egyéni tárolótelepítési forgatókönyvekhez.
code_configuration.code húr A modell pontozásához a forráskód könyvtárának helyi elérési útja.
code_configuration.scoring_script húr A forráskód könyvtárában található pontozófájl relatív elérési útja.
environment_variables object A környezeti változó kulcs-érték párjainak szótára, amely az üzembehelyezési tárolóban állítható be. Ezeket a környezeti változókat a pontozási szkriptekből érheti el.
environment sztring vagy objektum Szükséges. 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.

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á.
instance_type húr Szükséges. Az üzembe helyezéshez használandó virtuálisgép-méret. A támogatott méretek listáját a Felügyelt online végpontok termékváltozata című témakörben találja.
instance_count egész szám Szükséges. Az üzembe helyezéshez használandó példányok száma. Adja meg az értéket a várt számítási feladat alapján. A magas rendelkezésre állás érdekében a Microsoft azt javasolja, hogy állítsa be legalább 3.

instance_count a parancs használatával az ml online-deployment update végzett üzembe helyezés után frissíthető.

A frissítések végrehajtásához további 20%-ot foglalunk le. További információ: virtuálisgép-kvóta kiosztása az üzembe helyezéshez.
app_insights_enabled Logikai A munkaterülethez társított Azure-alkalmazás Elemzések-példány integrációjának engedélyezése. false
scale_settings object Az üzembe helyezés méretezési beállításai. Jelenleg csak a default méretezési típus támogatott, ezért nem kell megadnia ezt a tulajdonságot.

Ezzel a default méretezési típussal manuálisan skálázhatja a példányok számát az üzembe helyezés létrehozása után a instance_count tulajdonság frissítésével, vagy létrehozhat egy automatikus skálázási szabályzatot.
scale_settings.type húr A méretezés típusa. default default
data_collector object Az üzembe helyezés adatgyűjtési beállításai. A konfigurálható tulajdonságokat lásd a DataCollectorban .
request_settings object Pontozási kérés beállításai az üzembe helyezéshez. A konfigurálható tulajdonságokról lásd a Kérés Gépház című témakört.
liveness_probe object A tároló állapotának rendszeres monitorozására szolgáló liveness-mintavételi beállítások. A konfigurálható tulajdonságokat lásd: Mintavétel Gépház.
readiness_probe object A készenlét mintavételi beállításai annak ellenőrzéséhez, hogy a tároló készen áll-e a forgalom kiszolgálására. A konfigurálható tulajdonságokat lásd: Mintavétel Gépház.
egress_public_network_access húr Megjegyzés: Ez a kulcs akkor alkalmazható, ha az örökölt hálózatelkülönítési módszert használja az üzembe helyezés kimenő kommunikációjának biztonságossá tételéhez. Határozottan javasoljuk, hogy inkább egy munkaterület által felügyelt virtuális hálózat használatával biztosítsa a kimenő kommunikációt az üzemelő példányok számára.

Ez a jelző az üzemelő példány és az általa használt Azure-erőforrások közötti kommunikáció korlátozásával védi az üzembe helyezést. disabled Állítsa be annak biztosítására, hogy az üzembe helyezéshez szükséges modell, kód és rendszerképek letöltése privát végponttal legyen biztosítva. Ez a jelző csak felügyelt online végpontokra vonatkozik.
enabled, disabled enabled

Kérés Gépház

Kulcs Típus Leírás Alapértelmezett érték
request_timeout_ms egész szám A pontozási időtúllépés ezredmásodpercben. Vegye figyelembe, hogy az engedélyezett maximális érték ezredmásodperc 180000 . További információkért tekintse meg az online végpontok korlátait. 5000
max_concurrent_requests_per_instance egész szám Az egyidejű kérések példányonkénti maximális száma, amely engedélyezve van az üzembe helyezéshez.

Megjegyzés: Ha Az Azure Machine Tanulás Következtetési kiszolgálót vagy az Azure Machine Tanulás Következtetési rendszerképeket használja, a modellt konfigurálni kell az egyidejű kérések kezelésére. Ehhez adja át WORKER_COUNT: <int> környezeti változóként. További információ: WORKER_COUNTAzure Machine Tanulás Következtetéskiszolgáló paraméterei

Megjegyzés: Állítsa be azoknak a kéréseknek a számát, amelyeket a modell egyszerre tud feldolgozni egyetlen csomóponton. Ha ezt az értéket a modell tényleges egyidejűségénél magasabbra állítja, az nagyobb késésekhez vezethet. Ha ezt az értéket túl alacsonyra állítja, az kihasználatlan csomópontokhoz vezethet. A túl alacsony beállítás azt is eredményezheti, hogy a kérések elutasítása 429 HTTP-állapotkóddal történik, mivel a rendszer a gyors sikertelenség mellett dönt. További információ: Online végpontok hibaelhárítása: HTTP-állapotkódok.
1
max_queue_wait_ms egész szám (Elavult) A kérelmek maximális időtartama ezredmásodpercben az üzenetsorban marad. (Most növelje request_timeout_ms az esetleges hálózati/üzenetsor-késések számát) 500

Mintavétel Gépház

Kulcs Típus Leírás Alapértelmezett érték
initial_delay egész szám A tároló elindítása utáni másodpercek száma a mintavétel indítása előtt. A minimális érték a .1 10
period egész szám Milyen gyakran (másodpercben) hajtja végre a mintavételt. 10
timeout egész szám Az a másodperc, amely után a mintavétel túllépi az időkorlátot. A minimális érték a .1 2
success_threshold egész szám A mintavétel sikertelenségét követően sikeresnek ítélt minimális egymást követő sikerek. A minimális érték a 1 készültségi mintavétel. Az élőség-mintavétel értéke a következőképpen van rögzítve 1: . 1
failure_threshold egész szám Ha a mintavétel sikertelen, a rendszer megpróbál időt, failure_threshold mielőtt feladná. Az élőség mintavétele esetén történő átadás azt jelenti, hogy a tároló újraindul. Készültségi mintavétel esetén a tároló olvasatlanként lesz megjelölve. A minimális érték a .1 30

DataCollector

Kulcs Típus Leírás Alapértelmezett érték
sampling_rate float Az összegyűjtendő adatok százalékos aránya tizedes törtként. Az 1,0 érték például az adatok 100%-ának gyűjtését jelenti. 1.0
rolling_rate húr A tárolóban lévő adatok particionálásának sebessége. Az érték lehet: Perc, Óra, Nap, Hónap, Év. Hour
collections object Az egyes collection_namepéldányok és az üzembe helyezéshez szükséges beállítások készlete.
collections.<collection_name> object Az éles következtetési adatok logikai csoportosítása gyűjtendő (például: model_inputs). Két fenntartott név létezik: request a responseHTTP-kérések és válaszok hasznos adatgyűjteményének megfelelő név. Minden más név tetszőleges és meghatározható a felhasználó által.

Megjegyzés: Mindegyiknek collection_name meg kell felelnie az Collector üzemelő példányban score.py az éles következtetési adatok gyűjtéséhez használt objektum nevének. A hasznos adatok gyűjtésével és a megadott Python SDK-val történő adatgyűjtéssel kapcsolatos további információkért lásd : Adatok gyűjtése éles modellekből.
collections.<collection_name>.enabled Logikai Engedélyezi-e az adatgyűjtést a megadott collection_name. 'False''
collections.<collection_name>.data.name húr Az összegyűjtött adatokkal regisztrálandó adategység neve. <endpoint>-<deployment>-<collection_name>
collections.<collection_name>.data.path húr A teljes Azure Machine Tanulás adattár elérési útja, ahol az összegyűjtött adatokat adategységként kell regisztrálni. azureml://datastores/workspaceblobstore/paths/modelDataCollector/<endpoint_name>/<deployment_name>/<collection_name>
collections.<collection_name>.data.version egész szám A Blob Storage-ban gyűjtött adatokkal regisztrálandó adategység verziója. 1

Megjegyzések

A az ml online-deployment parancsok az Azure Machine Tanulás felügyelt online üzembe helyezések kezelésére használhatók.

Példák

A példák a GitHub-adattárban érhetők el. Az alábbiakban több is látható.

YAML: alapszintű

$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json
name: blue
endpoint_name: my-endpoint
model:
  path: ../../model-1/model/
code_configuration:
  code: ../../model-1/onlinescoring/
  scoring_script: score.py
environment: 
  conda_file: ../../model-1/environment/conda.yaml
  image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latest
instance_type: Standard_DS3_v2
instance_count: 1
$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json
name: green
endpoint_name: my-endpoint
model:
  path: ../../model-2/model/
code_configuration:
  code: ../../model-2/onlinescoring/
  scoring_script: score.py
environment:
  conda_file: ../../model-2/environment/conda.yaml
  image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latest
instance_type: Standard_DS3_v2
instance_count: 1

YAML: rendszer által hozzárendelt identitás

$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json
name: blue
model:
  path: ../../model-1/model/
code_configuration:
  code: ../../model-1/onlinescoring/
  scoring_script: score_managedidentity.py
environment:
  conda_file: ../../model-1/environment/conda-managedidentity.yaml
  image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latest
instance_type: Standard_DS3_v2
instance_count: 1
environment_variables:
  STORAGE_ACCOUNT_NAME: "storage_place_holder"
  STORAGE_CONTAINER_NAME: "container_place_holder"
  FILE_NAME: "file_place_holder"

YAML: felhasználó által hozzárendelt identitás

$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json
name: blue
model:
  path: ../../model-1/model/
code_configuration:
  code: ../../model-1/onlinescoring/
  scoring_script: score_managedidentity.py
environment: 
  conda_file: ../../model-1/environment/conda-managedidentity.yaml
  image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latest
instance_type: Standard_DS3_v2
instance_count: 1
environment_variables:
  STORAGE_ACCOUNT_NAME: "storage_place_holder"
  STORAGE_CONTAINER_NAME: "container_place_holder"
  FILE_NAME: "file_place_holder"
  UAI_CLIENT_ID: "uai_client_id_place_holder"

YAML: data_collector

$schema: http://azureml/sdk-2-0/OnlineDeployment.json

endpoint_name: my_endpoint 
name: blue 
model: azureml:my-model-m1:1 
environment: azureml:env-m1:1 
data_collector:
   collections:
       model_inputs:
           enabled: 'True' 
       model_outputs:
           enabled: 'True'
$schema: http://azureml/sdk-2-0/OnlineDeployment.json

endpoint_name: my_endpoint
name: blue 
model: azureml:my-model-m1:1 
environment: azureml:env-m1:1 
data_collector:
   collections:
     request: 
         enabled: 'True'
         data: 
           name: my_request_data_asset 
           path: azureml://datastores/workspaceblobstore/paths/modelDataCollector/my_endpoint/blue/request 
           version: 1 
     response:
         enabled: 'True' 
         data: 
           name: my_response_data_asset
           path: azureml://datastores/workspaceblobstore/paths/modelDataCollector/my_endpoint/blue/response
           version: 1 
     model_inputs:
         enabled: 'True'
         data: 
           name: my_model_inputs_data_asset
           path: azureml://datastores/workspaceblobstore/paths/modelDataCollector/my_endpoint/blue/model_inputs
           version: 1 
     model_outputs:
         enabled: 'True'
         data: 
           name: my_model_outputs_data_asset
           path: azureml://datastores/workspaceblobstore/paths/modelDataCollector/my_endpoint/blue/model_outputs
           version: 1

Következő lépések