CLI (v2) Met Azure Arc ingeschakeld Kubernetes Online-implementatie YAML-schema
VAN TOEPASSING OP: Azure CLI ml-extensie v2 (huidige)
Het JSON-bronschema vindt u op https://azuremlschemas.azureedge.net/latest/kubernetesOnlineDeployment.schema.json.
Notitie
De YAML-syntaxis die in dit document wordt beschreven, is gebaseerd op het JSON-schema voor de nieuwste versie van de ML CLI v2-extensie. Deze syntaxis werkt gegarandeerd alleen met de nieuwste versie van de ML CLI v2-extensie. U vindt de schema's voor oudere extensieversies op https://azuremlschemasprod.azureedge.net/.
YAML-syntaxis
Sleutel | Type | Description | Toegestane waarden | Default value |
---|---|---|---|---|
$schema |
tekenreeks | Het YAML-schema. Als u de Azure Machine Learning VS Code-extensie gebruikt om het YAML-bestand te ontwerpen, inclusief $schema bovenaan het bestand, kunt u schema- en resourcevoltooiingen aanroepen. |
||
name |
tekenreeks | Vereist. Naam van de implementatie. Hier worden naamgevingsregels gedefinieerd. |
||
description |
tekenreeks | Beschrijving van de implementatie. | ||
tags |
object | Woordenlijst met tags voor de implementatie. | ||
endpoint_name |
tekenreeks | Vereist. De naam van het eindpunt voor het maken van de implementatie onder. | ||
model |
tekenreeks of object | Het model dat moet worden gebruikt voor de implementatie. Deze waarde kan een verwijzing zijn naar een bestaand versiemodel in de werkruimte of een inline modelspecificatie. Als u naar een bestaand model wilt verwijzen, gebruikt u de azureml:<model-name>:<model-version> syntaxis. Als u een model inline wilt definiƫren, volgt u het modelschema. Als best practice voor productiescenario's moet u het model afzonderlijk maken en hiernaar verwijzen. Dit veld is optioneel voor aangepaste containerimplementatiescenario's . |
||
model_mount_path |
tekenreeks | Het pad om het model te koppelen in een aangepaste container. Alleen van toepassing op aangepaste containerimplementatiescenario's . Als het model veld is opgegeven, wordt het gekoppeld aan dit pad in de container. |
||
code_configuration |
object | Configuratie voor de scorecodelogica. Dit veld is optioneel voor aangepaste containerimplementatiescenario's . |
||
code_configuration.code |
tekenreeks | Lokaal pad naar de broncodemap voor het scoren van het model. | ||
code_configuration.scoring_script |
tekenreeks | Relatief pad naar het scorebestand in de broncodemap. | ||
environment_variables |
object | Woordenlijst van sleutel-waardeparen van omgevingsvariabelen die moeten worden ingesteld in de implementatiecontainer. U kunt deze omgevingsvariabelen openen vanuit uw scorescripts. | ||
environment |
tekenreeks of object | Vereist. De omgeving die moet worden gebruikt voor de implementatie. Deze waarde kan een verwijzing zijn naar een bestaande versieomgeving in de werkruimte of een inline-omgevingsspecificatie. Als u naar een bestaande omgeving wilt verwijzen, gebruikt u de azureml:<environment-name>:<environment-version> syntaxis. Als u een omgeving inline wilt definiƫren, volgt u het omgevingsschema. Als best practice voor productiescenario's moet u de omgeving afzonderlijk maken en hiernaar verwijzen. |
||
instance_type |
tekenreeks | Het exemplaartype dat wordt gebruikt om de deductieworkload te plaatsen. Als u dit weglaat, wordt de deductieworkload geplaatst op het standaardexemplarentype van het Kubernetes-cluster dat is opgegeven in het veld van compute het eindpunt. Indien opgegeven, wordt de deductieworkload op dat geselecteerde exemplaartype geplaatst. De set exemplaartypen voor een Kubernetes-cluster wordt geconfigureerd via de aangepaste resourcedefinitie van het Kubernetes-cluster (CRD), waardoor ze geen deel uitmaken van het YAML-schema van Azure Machine Learning voor het koppelen van Kubernetes-rekenkracht. Zie Kubernetes-exemplaartypen maken en selecteren voor meer informatie. |
||
instance_count |
geheel getal | Het aantal exemplaren dat moet worden gebruikt voor de implementatie. Geef de waarde op op basis van de workload die u verwacht. Dit veld is alleen vereist als u het default schaaltype (scale_settings.type: default ) gebruikt. instance_count kan worden bijgewerkt nadat de implementatie is gemaakt met behulp van az ml online-deployment update de opdracht. |
||
app_insights_enabled |
boolean | Of u integratie wilt inschakelen met het Azure-toepassing Insights-exemplaar dat is gekoppeld aan uw werkruimte. | false |
|
scale_settings |
object | De schaalinstellingen voor de implementatie. De twee typen schaalinstellingen die worden ondersteund, zijn het default schaaltype en het target_utilization schaaltype. Met het default schaaltype (scale_settings.type: default ) kunt u het aantal exemplaren handmatig omhoog en omlaag schalen nadat de implementatie is gemaakt door de eigenschap bij te instance_count werken. Zie TargetUtilizationScaleSettings voor de set configureerbare eigenschappen om het target_utilization schaaltype (scale_settings.type: target_utilization ) te configureren. |
||
scale_settings.type |
tekenreeks | Het schaaltype. | default , target_utilization |
target_utilization |
data_collector |
object | Instellingen voor gegevensverzameling voor de implementatie. Zie DataCollector voor de set configureerbare eigenschappen. | ||
request_settings |
object | Scoreaanvraaginstellingen voor de implementatie. Zie RequestSettings voor de set configureerbare eigenschappen. | ||
liveness_probe |
object | Instellingen voor livenesstest voor het regelmatig controleren van de status van de container. Zie ProbeSettings voor de set configureerbare eigenschappen. | ||
readiness_probe |
object | Instellingen voor gereedheidstests om te valideren of de container gereed is om verkeer te verwerken. Zie ProbeSettings voor de set configureerbare eigenschappen. | ||
resources |
object | Vereisten voor containerresources. | ||
resources.requests |
object | Resourceaanvragen voor de container. Zie ContainerResourceRequests voor de set configureerbare eigenschappen. | ||
resources.limits |
object | Resourcelimieten voor de container. Zie ContainerResourceLimits voor de set configureerbare eigenschappen. |
RequestSettings
Sleutel | Type | Description | Default value |
---|---|---|---|
request_timeout_ms |
geheel getal | De time-out voor scoren in milliseconden. | 5000 |
max_concurrent_requests_per_instance |
geheel getal | Het maximum aantal gelijktijdige aanvragen per exemplaar dat is toegestaan voor de implementatie. Wijzig deze instelling niet van de standaardwaarde, tenzij dit wordt aangegeven door de technische ondersteuning van Microsoft of een lid van het Azure Machine Learning-team. |
1 |
max_queue_wait_ms |
geheel getal | De maximale tijdsduur in milliseconden van een aanvraag blijft in de wachtrij. | 500 |
ProbeSettings
Sleutel | Type | Description | Default value |
---|---|---|---|
period |
geheel getal | Hoe vaak (in seconden) de test moet worden uitgevoerd. | 10 |
initial_delay |
geheel getal | Het aantal seconden nadat de container is gestart voordat de test wordt gestart. Minimumwaarde is 1 . |
10 |
timeout |
geheel getal | Het aantal seconden waarna er een time-out optreedt voor de test. Minimumwaarde is 1 . |
2 |
success_threshold |
geheel getal | De minimale opeenvolgende successen voor de test worden beschouwd als geslaagd nadat deze is mislukt. Minimumwaarde is 1 . |
1 |
failure_threshold |
geheel getal | Wanneer een test mislukt, probeert failure_threshold het systeem tijden voordat het opgeeft. Als u een livenesstest opgeeft, wordt de container opnieuw opgestart. In het geval van een gereedheidstest wordt de container gemarkeerd als Ongelezen. Minimumwaarde is 1 . |
30 |
TargetUtilizationScaleSettings
Sleutel | Type | Description | Default value |
---|---|---|---|
type |
Const | Het schaaltype | target_utilization |
min_instances |
geheel getal | Het minimale aantal instanties dat moet worden gebruikt. | 1 |
max_instances |
geheel getal | Het maximum aantal exemplaren dat moet worden geschaald. | 1 |
target_utilization_percentage |
geheel getal | Het CPU-doelgebruik voor de automatische schaalaanpassing. | 70 |
polling_interval |
geheel getal | Hoe vaak de automatische schaalaanpassing moet proberen om de implementatie te schalen, in seconden. | 1 |
ContainerResourceRequests
Sleutel | Type | Omschrijving |
---|---|---|
cpu |
tekenreeks | Het aantal CPU-kernen dat is aangevraagd voor de container. |
memory |
tekenreeks | De geheugengrootte die is aangevraagd voor de container |
nvidia.com/gpu |
tekenreeks | Het aantal Nvidia GPU-kaarten dat is aangevraagd voor de container |
ContainerResourceLimits
Sleutel | Type | Omschrijving |
---|---|---|
cpu |
tekenreeks | De limiet voor het aantal CPU-kernen voor de container. |
memory |
tekenreeks | De limiet voor de geheugengrootte voor de container. |
nvidia.com/gpu |
tekenreeks | De limiet voor het aantal Nvidia GPU-kaarten voor de container |
DataCollector
Sleutel | Type | Description | Default value |
---|---|---|---|
sampling_rate |
zwevend | Het percentage dat wordt weergegeven als een decimaal percentage van de gegevens die moeten worden verzameld. Een waarde van 1,0 vertegenwoordigt bijvoorbeeld het verzamelen van 100% van de gegevens. | 1.0 |
rolling_rate |
tekenreeks | De snelheid voor het partitioneren van de gegevens in de opslag. Waarde kan zijn: Minuut, Uur, Dag, Maand, Jaar. | Hour |
collections |
object | Set afzonderlijke collection_name s en hun respectieve instellingen voor deze implementatie. |
|
collections.<collection_name> |
object | Logische groepering van productiedeductiegegevens die moeten worden verzameld (voorbeeld: model_inputs ). Er zijn twee gereserveerde namen: request en response , die respectievelijk overeenkomen met het verzamelen van nettoladinggegevens voor HTTP-aanvragen en antwoorden. Alle andere namen zijn willekeurig en definieerbaar door de gebruiker. Opmerking: elk collection_name moet overeenkomen met de naam van het Collector object dat in de implementatie score.py wordt gebruikt om de productiedeductiegegevens te verzamelen. Zie Gegevens verzamelen van modellen in productie voor meer informatie over het verzamelen van nettoladinggegevens en het verzamelen van gegevens met de meegeleverde Python SDK. |
|
collections.<collection_name>.enabled |
boolean | Hiermee wordt aangegeven of het verzamelen van gegevens voor de opgegeven gegevens moet worden ingeschakeld collection_name . |
'False'' |
collections.<collection_name>.data.name |
tekenreeks | De naam van de gegevensasset die moet worden geregistreerd bij de verzamelde gegevens. | <endpoint>-<deployment>-<collection_name> |
collections.<collection_name>.data.path |
tekenreeks | Het volledige Azure Machine Learning-gegevensarchiefpad waarin de verzamelde gegevens moeten worden geregistreerd als een gegevensasset. | azureml://datastores/workspaceblobstore/paths/modelDataCollector/<endpoint_name>/<deployment_name>/<collection_name> |
collections.<collection_name>.data.version |
geheel getal | De versie van de gegevensasset die moet worden geregistreerd bij de verzamelde gegevens in Blob Storage. | 1 |
Opmerkingen
De az ml online-deployment
opdrachten kunnen worden gebruikt voor het beheren van online-implementaties van Azure Machine Learning Kubernetes.
Voorbeelden
Voorbeelden zijn beschikbaar in de GitHub-voorbeeldenopslagplaats.