CLI (v2) yönetilen çevrimiçi 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/managedOnlineDeployment.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ı. Adlandırma kuralları burada tanımlanmıştır. |
||
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ı. | ||
model |
dize veya nesne | 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>:<model-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. Bu alan, özel kapsayıcı dağıtım senaryoları için isteğe bağlıdır. |
||
model_mount_path |
Dize | Modeli özel bir kapsayıcıya bağlama yolu. Yalnızca özel kapsayıcı dağıtım senaryoları için geçerlidir. model Alan belirtilirse, kapsayıcıdaki bu yola bağlanır. |
||
code_configuration |
nesne | Puanlama kodu mantığı için yapılandırma. Bu alan, özel kapsayıcı dağıtım senaryoları için isteğe bağlıdır. |
||
code_configuration.code |
Dize | Modeli puanlama için kaynak kod dizinine giden yerel yol. | ||
code_configuration.scoring_script |
Dize | Kaynak kod dizinindeki puanlama dosyasının göreli yolu. | ||
environment_variables |
nesne | Dağıtım kapsayıcısında ayarlanacağı ortam değişkeni anahtar-değer çiftlerinin sözlüğü. Bu ortam değişkenlerine puanlama betiklerinizden erişebilirsiniz. | ||
environment |
dize veya nesne | Gerekli. 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. 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. |
||
instance_type |
Dize | Gerekli. Dağıtım için kullanılacak VM boyutu. Desteklenen boyutların listesi için bkz . Yönetilen çevrimiçi uç noktalar SKU listesi. | ||
instance_count |
integer | Gerekli. Dağıtım için kullanılacak örnek sayısı. Beklediğiniz iş yüküne göre değeri belirtin. Yüksek kullanılabilirlik için, Microsoft bunu en az 3 olarak ayarlamanızı önerir. instance_count komutu kullanılarak az ml online-deployment update dağıtım oluşturulduktan sonra güncelleştirilebilir. Yükseltmeleri gerçekleştirmek için fazladan %20 ayırıyoruz. Daha fazla bilgi için bkz . Dağıtım için sanal makine kota ayırma. |
||
app_insights_enabled |
boolean | Çalışma alanınızla ilişkilendirilmiş Azure Uygulaması Lication Insights örneğiyle tümleştirmenin etkinleştirilip etkinleştirilmeyileceği. | false |
|
scale_settings |
nesne | Dağıtımın ölçek ayarları. Şu anda yalnızca default ölçek türü desteklenmektedir, bu nedenle bu özelliği belirtmeniz gerekmez. Bu default ölçek türüyle, özelliği güncelleştirerek instance_count dağıtım oluşturulduktan sonra örnek sayısını el ile artırıp azaltabilir veya bir otomatik ölçeklendirme ilkesi oluşturabilirsiniz. |
||
scale_settings.type |
Dize | Ölçek türü. | default |
default |
data_collector |
nesne | Dağıtım için veri toplama ayarları. Yapılandırılabilir özellikler kümesi için bkz . DataCollector . | ||
request_settings |
nesne | Dağıtım için puanlama isteği ayarları. Yapılandırılabilir özellikler kümesi için bkz . RequestSettings . | ||
liveness_probe |
nesne | Kapsayıcının durumunu düzenli olarak izlemek için canlılık yoklaması ayarları. Yapılandırılabilir özellikler kümesi için bkz . ProbeSettings . | ||
readiness_probe |
nesne | Kapsayıcının trafiğe hizmet etmeye hazır olup olmadığını doğrulamak için hazır olma yoklaması ayarları. Yapılandırılabilir özellikler kümesi için bkz . ProbeSettings . | ||
egress_public_network_access |
Dize | Not: Bu anahtar, dağıtım için giden iletişimin güvenliğini sağlamak için eski ağ yalıtım yöntemini kullandığınızda geçerlidir. Bunun yerine çalışma alanı tarafından yönetilen bir sanal ağ kullanarak dağıtımlar için giden iletişimin güvenliğini sağlamanızı kesinlikle öneririz. Bu bayrak, dağıtım ile tarafından kullanılan Azure kaynakları arasındaki iletişimi kısıtlayarak dağıtımın güvenliğini sağlar. disabled Dağıtımınız için gereken modelin, kodun ve görüntülerin indirilmesinin özel bir uç noktayla güvenli hale getirildiğinden emin olmak için olarak ayarlayın. Bu bayrak yalnızca yönetilen çevrimiçi uç noktalar için geçerlidir. |
enabled , disabled |
enabled |
RequestSettings
Anahtar | Type | Açıklama | Default value |
---|---|---|---|
request_timeout_ms |
integer | Milisaniye cinsinden puanlama zaman aşımı. İzin verilen en yüksek değerin milisaniye olduğunu 180000 unutmayın. Daha fazla bilgi için bkz . çevrimiçi uç noktaların sınırları. |
5000 |
max_concurrent_requests_per_instance |
integer | Dağıtım için izin verilen örnek başına en fazla eşzamanlı istek sayısı. Not: Azure Machine Learning Çıkarım Sunucusu veya Azure Machine Learning Çıkarım Görüntüleri kullanıyorsanız modelinizin eşzamanlı istekleri işleyecek şekilde yapılandırılması gerekir. Bunu yapmak için ortam değişkeni olarak geçirin WORKER_COUNT: <int> . hakkında WORKER_COUNT daha fazla bilgi için bkz. Azure Machine Learning Çıkarım Sunucusu Parametreleri Not: Modelinizin tek bir düğümde eşzamanlı olarak işleyebileceği istek sayısına ayarlayın. Bunun modelinizdeki gerçek eşzamanlılıktan yüksek bir değere ayarlanması daha uzun gecikmelere yol açabilir. Bu değerin çok düşük ayarlanması, az kullanılan düğümlere neden olabilir. Sistemin çok düşük olması, isteklerin 429 HTTP durum koduyla reddedilmesine de neden olabilir. Sistem hızlı başarısız olmayı tercih eder. Daha fazla bilgi için bkz . Çevrimiçi uç nokta sorunlarını giderme: HTTP durum kodları. |
1 |
max_queue_wait_ms |
integer | (Kullanım dışı) bir isteğin kuyrukta kalacağı milisaniye cinsinden en uzun süre. (Şimdi ağ/kuyruk gecikmelerini hesaba eklemek için artırın request_timeout_ms ) |
500 |
ProbeSettings
Anahtar | Type | Açıklama | Default value |
---|---|---|---|
initial_delay |
integer | Yoklama başlatılmadan önce kapsayıcı başlatıldıktan sonraki saniye sayısı. En düşük değer: 1 . |
10 |
period |
integer | Yoklamanın ne sıklıkta (saniye olarak) gerçekleştirilecek? | 10 |
timeout |
integer | Yoklamanın zaman aşımına uğradıktan sonraki saniye sayısı. En düşük değer: 1 . |
2 |
success_threshold |
integer | Başarısız olduktan sonra yoklamanın başarılı olarak kabul edilmesi için ardışık en düşük başarı. En düşük değer hazır 1 olma yoklaması içindir. Canlılık yoklaması değeri olarak 1 sabittir. |
1 |
failure_threshold |
integer | Bir yoklama başarısız olduğunda, sistem vazgeçmeden önce zamanları dener failure_threshold . Canlılık araştırması söz konusu olduğunda vazgeçmek, kapsayıcının yeniden başlatılacağı anlamına gelir. Hazırlık araştırması söz konusu olduğunda kapsayıcı Okunmadı olarak işaretlenir. En düşük değer: 1 . |
30 |
DataCollector
Anahtar | Type | Açıklama | Default value |
---|---|---|---|
sampling_rate |
kayan noktalı sayı | Toplayacak verilerin ondalık oranı olarak gösterilen yüzdesi. Örneğin, 1,0 değeri verilerin %100'ünün topladığını temsil eder. | 1.0 |
rolling_rate |
Dize | Depolamadaki verileri bölümleme oranı. Değer şu olabilir: Dakika, Saat, Gün, Ay, Yıl. | Hour |
collections |
nesne | Bu dağıtım için tek tek collection_name sn ve bunların ilgili ayarları. |
|
collections.<collection_name> |
nesne | Toplayacak üretim çıkarımı verilerinin mantıksal gruplandırılması (örnek: model_inputs ). İki ayrılmış ad vardır: request ve response sırasıyla HTTP isteğine ve yanıt yükü veri toplamaya karşılık gelir. Diğer tüm adlar rastgeledir ve kullanıcı tarafından tanımlanabilir. Not: Her collection_name biri, üretim çıkarım verilerini toplamak için dağıtımda score.py kullanılan nesnenin adına Collector karşılık gelir. Sağlanan Python SDK'sı ile yük veri toplama ve veri toplama hakkında daha fazla bilgi için bkz . Üretimdeki modellerden veri toplama. |
|
collections.<collection_name>.enabled |
boolean | Belirtilen collection_name için veri toplamanın etkinleştirilip etkinleştirilmeyileceği. |
'False'' |
collections.<collection_name>.data.name |
Dize | Toplanan verilere kaydedilecek veri varlığının adı. | <endpoint>-<deployment>-<collection_name> |
collections.<collection_name>.data.path |
Dize | Toplanan verilerin veri varlığı olarak kaydedilmesi gereken tam Azure Machine Learning veri deposu yolu. | azureml://datastores/workspaceblobstore/paths/modelDataCollector/<endpoint_name>/<deployment_name>/<collection_name> |
collections.<collection_name>.data.version |
integer | Blob depolamada toplanan verilerle kaydedilecek veri varlığının sürümü. | 1 |
Açıklamalar
Komutlar az ml online-deployment
, Azure Machine Learning tarafından yönetilen çevrimiçi dağıtımları yönetmek için kullanılabilir.
Örnekler
Örnekler GitHub deposunda bulunabilir. Aşağıda birkaçı gösterilmiştir.
YAML: temel
$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: sistem tarafından atanan kimlik
$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: kullanıcı tarafından atanan kimlik
$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