CLI (v2) toplu dağıtım YAML şeması
ŞUNLAR IÇIN GEÇERLIDIR: Azure CLI ml uzantısı v2 (geçerli)
Kaynak JSON şeması adresinde https://azuremlschemas.azureedge.net/latest/batchDeployment.schema.jsonbulunabilir.
Not
Bu belgede ayrıntılı olarak yer alan YAML söz dizimi, ML CLI v2 uzantısının en son sürümü için JSON şemasını temel alır. Bu söz diziminin yalnızca ML CLI v2 uzantısının en son sürümüyle çalışması garanti edilir. Eski uzantı sürümleri için şemaları adresinde https://azuremlschemasprod.azureedge.net/bulabilirsiniz.
YAML söz dizimi
Anahtar | Type | Açıklama | İzin verilen değerler | Default value |
---|---|---|---|---|
$schema |
Dize | YAML şeması. YAML dosyasını yazmak için Azure Machine Learning VS Code uzantısını kullanırsanız, dosyanızın üst kısmındakiler de dahil olmak üzere $schema şema ve kaynak tamamlama işlemlerini çağırmanıza olanak tanır. |
||
name |
Dize | Gerekli. Dağıtımın adı. | ||
description |
Dize | Dağıtımın açıklaması. | ||
tags |
nesne | Dağıtım için etiket sözlüğü. | ||
endpoint_name |
Dize | Gerekli. Dağıtımın oluşturulacağı uç noktanın adı. | ||
type |
Dize | Gerekli. Banyo dağıtımının türü. Model dağıtımları ve pipeline işlem hattı bileşeni dağıtımları için kullanınmodel . Sürüm 1.7'de yeni. |
model , pipeline |
model |
settings |
nesne | Dağıtımın yapılandırması. İzin verilen değerler için bkz. model ve işlem hattı bileşeni için belirli YAML başvurusu. Sürüm 1.7'de yeni. |
İpucu
Anahtar type
, CLI uzantısının 1.7 ve üzeri sürümünde kullanıma sunulmuştur. Geriye dönük uyumluluğu tam olarak desteklemek için, bu özellik varsayılan olarak olarak ayarlanır model
. Ancak açıkça belirtilmemişse anahtar settings
zorlanmaz ve model dağıtım ayarlarının tüm özellikleri YAML belirtiminin kökünde belirtilmelidir.
Model dağıtımları için YAML söz dizimi
olduğunda type: model
, aşağıdaki söz dizimi uygulanır:
Anahtar | Type | Açıklama | İzin verilen değerler | Default value |
---|---|---|---|---|
model |
dize veya nesne | Gerekli. Dağıtım için kullanılacak model. Bu değer, çalışma alanında var olan bir sürüme sahip modelin başvurusu veya satır içi model belirtimi olabilir. Var olan bir modele başvurmak için söz dizimini azureml:<model-name>:<version> kullanın. Satır içi bir model tanımlamak için Model şemasını izleyin. Üretim senaryoları için en iyi uygulama olarak modeli ayrı ayrı oluşturup burada başvurmanız gerekir. |
||
code_configuration |
nesne | Puanlama kodu mantığı için yapılandırma. Modeliniz MLflow biçimindeyse bu özellik gerekli değildir. |
||
code_configuration.code |
Dize | Modeli puanlayan tüm Python kaynak kodunu içeren yerel dizin. | ||
code_configuration.scoring_script |
Dize | Yukarıdaki dizindeki Python dosyası. Bu dosyanın bir init() işlevi ve bir run() işlevi olmalıdır. init() Yüksek maliyetli veya yaygın hazırlıklar için işlevini kullanın (örneğin, modeli belleğe yükleyin). init() , işlemin başlangıcında yalnızca bir kez çağrılır. Her girdiyi puanlarken kullanın run(mini_batch) ; değeri mini_batch dosya yollarının listesidir. İşlev bir run() pandas DataFrame veya dizi döndürmelidir. Döndürülen her öğe, içindeki giriş öğesinin başarılı bir çalıştırmasını mini_batch gösterir. Puanlama betiği yazma hakkında daha fazla bilgi için bkz . Puanlama betiğini anlama. |
||
environment |
dize veya nesne | Dağıtım için kullanılacak ortam. Bu değer, çalışma alanında var olan bir sürüme sahip ortama başvuru veya satır içi ortam belirtimi olabilir. Modeliniz MLflow biçimindeyse bu özellik gerekli değildir. Var olan bir ortama başvurmak için söz dizimini azureml:<environment-name>:<environment-version> kullanın. Bir ortamı satır içinde tanımlamak için Ortam şemasını izleyin. Üretim senaryoları için en iyi uygulama olarak, ortamı ayrı ayrı oluşturup buraya başvurmanız gerekir. |
||
compute |
Dize | Gerekli. Toplu puanlama işlerinin yürütülecek işlem hedefinin adı. Bu değer, söz dizimi kullanılarak azureml:<compute-name> çalışma alanında var olan bir işlem başvurusu olmalıdır. |
||
resources.instance_count |
integer | Her toplu puanlama işi için kullanılacak düğüm sayısı. | 1 |
|
settings |
nesne | Model dağıtımının belirli yapılandırması. Sürüm 1.7'de değiştirildi. |
||
settings.max_concurrency_per_instance |
integer | Örnek başına en fazla paralel scoring_script çalıştırma sayısı. |
1 |
|
settings.error_threshold |
integer | Yoksayılması gereken dosya hatası sayısı. Girişin tamamı için hata sayısı bu değerin üzerine çıkarsa toplu puanlama işi sonlandırılır. error_threshold tek tek mini toplu işlemler için değil, girişin tamamı içindir. Atlanırsa, işi sonlandırmadan herhangi bir sayıda dosya hatasına izin verilir. |
-1 |
|
settings.logging_level |
Dize | Günlük ayrıntı düzeyi. | warning , info , debug |
info |
settings.mini_batch_size |
integer | Bir çağrıda run() işleyebileceği dosya code_configuration.scoring_script sayısı. |
10 |
|
settings.retry_settings |
nesne | Her mini toplu işlemi puanlama ayarlarını yeniden deneyin. | ||
settings.retry_settings.max_retries |
integer | Başarısız veya zaman aşımına uğradı mini toplu işlem için yeniden deneme sayısı üst sınırı. | 3 |
|
settings.retry_settings.timeout |
integer | Tek bir mini toplu iş puanlama için saniye cinsinden zaman aşımı. Mini toplu iş boyutu daha büyükse veya modelin çalıştırılması daha pahalıysa daha büyük değerler kullanın. | 30 |
|
settings.output_action |
Dize | Çıkışın çıkış dosyasında nasıl düzenlenmesi gerektiğini gösterir. Çıkış dosyalarını model dağıtımlarında çıkışları özelleştirme bölümünde gösterildiği gibi oluşturuyorsanız kullanınsummary_only . İşlev return deyiminin run() bir parçası olarak tahmin döndürerek kullanınappend_row . |
append_row , summary_only |
append_row |
settings.output_file_name |
Dize | Toplu puanlama çıkış dosyasının adı. | predictions.csv |
|
settings.environment_variables |
nesne | Her toplu puanlama işi için ayarlanacağı ortam değişkeni anahtar-değer çiftlerinin sözlüğü. |
İşlem hattı bileşeni dağıtımları için YAML söz dizimi
olduğunda type: pipeline
, aşağıdaki söz dizimi uygulanır:
Anahtar | Type | Açıklama | İzin verilen değerler | Default value |
---|---|---|---|---|
component |
dize veya nesne | Gerekli. Dağıtım için kullanılan işlem hattı bileşeni. Bu değer, çalışma alanında veya kayıt defterinde var olan bir sürüme sahip işlem hattı bileşenine başvuru ya da satır içi işlem hattı belirtimi olabilir. Mevcut bir bileşene başvurmak için söz dizimini azureml:<component-name>:<version> kullanın. Satır içi bir işlem hattı bileşeni tanımlamak için İşlem hattı bileşeni şemasını izleyin. Üretim senaryoları için en iyi uygulama olarak, bileşeni ayrı ayrı oluşturup buraya başvurmanız gerekir. Sürüm 1.7'de yeni. |
||
settings |
nesne | İşlem hattı işi için varsayılan ayarlar. Yapılandırılabilir özellikler kümesi için ayarlar anahtarının öznitelikleri bölümüne bakın. Sürüm 1.7'de yeni. |
Açıklamalar
Komutlar az ml batch-deployment
Azure Machine Learning toplu dağıtımlarını yönetmek için kullanılabilir.
Örnekler
Örnekler GitHub deposunda bulunabilir. Bunlardan bazılarına aşağıda başvurabilirsiniz:
YAML: MLflow modeli dağıtımı
veya environment
belirtilmesi code_configuration
gerekmeyen bir MLflow modeli içeren model dağıtımı:
$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: Puanlama betiği ile özel model dağıtımı
Kullanılacak puanlama betiğini ve ortamı gösteren bir model dağıtımı:
$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: Eski model dağıtımları
Öznitelik type
YAML'de belirtilmemişse, model dağıtımı çıkarılır. Ancak anahtar settings
kullanılamaz ve özellikler bu örnekte gösterildiği gibi YAML'nin köküne yerleştirilmelidir. özelliğinin type
her zaman belirtilmesi kesinlikle önerilir.
$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: İşlem hattı bileşeni dağıtımı
Basit bir işlem hattı bileşeni dağıtımı:
$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