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_batchgö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 environmentbelirtilmesi 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 typeher 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

Sonraki adımlar