CLI (v2) Esquema YAML de implantação online do Kubernetes habilitado para Azure Arc
APLICA-SE A: Azure CLI ml extension v2 (atual)
O esquema JSON de origem pode ser encontrado em https://azuremlschemas.azureedge.net/latest/kubernetesOnlineDeployment.schema.json.
Nota
A sintaxe YAML detalhada neste documento é baseada no esquema JSON para a versão mais recente da extensão ML CLI v2. Esta sintaxe é garantida apenas para funcionar com a versão mais recente da extensão ML CLI v2. Você pode encontrar os esquemas para versões de extensão mais antigas em https://azuremlschemasprod.azureedge.net/.
Sintaxe YAML
Chave | Tipo | Description | Valores permitidos | Default value |
---|---|---|---|---|
$schema |
string | O esquema YAML. Se você usar a extensão VS Code do Aprendizado de Máquina do Azure para criar o arquivo YAML, inclusive $schema na parte superior do arquivo permitirá que você invoque o esquema e as completações de recursos. |
||
name |
string | Obrigatório. Nome da implantação. As regras de nomenclatura são definidas aqui. |
||
description |
string | Descrição da implantação. | ||
tags |
objeto | Dicionário de tags para a implantação. | ||
endpoint_name |
string | Obrigatório. Nome do ponto de extremidade sob o qual criar a implantação. | ||
model |
string ou objeto | O modelo a ser usado para a implantação. Esse valor pode ser uma referência a um modelo versionado existente no espaço de trabalho ou uma especificação de modelo embutido. Para fazer referência a um modelo existente, use a azureml:<model-name>:<model-version> sintaxe. Para definir um modelo embutido, siga o esquema Modelo. Como prática recomendada para cenários de produção, você deve criar o modelo separadamente e consultá-lo aqui. Este campo é opcional para cenários de implantação de contêiner personalizados. |
||
model_mount_path |
string | O caminho para montar o modelo em um contêiner personalizado. Aplicável somente para cenários de implantação de contêiner personalizado. Se o model campo for especificado, ele será montado nesse caminho no contêiner. |
||
code_configuration |
objeto | Configuração para a lógica do código de pontuação. Este campo é opcional para cenários de implantação de contêiner personalizados. |
||
code_configuration.code |
string | Caminho local para o diretório do código-fonte para pontuar o modelo. | ||
code_configuration.scoring_script |
string | Caminho relativo para o arquivo de pontuação no diretório do código-fonte. | ||
environment_variables |
objeto | Dicionário de pares chave-valor variável de ambiente a serem definidos no contêiner de implantação. Você pode acessar essas variáveis de ambiente a partir de seus scripts de pontuação. | ||
environment |
string ou objeto | Obrigatório. O ambiente a ser usado para a implantação. Esse valor pode ser uma referência a um ambiente versionado existente no espaço de trabalho ou uma especificação de ambiente embutido. Para fazer referência a um ambiente existente, use a azureml:<environment-name>:<environment-version> sintaxe. Para definir um ambiente embutido, siga o esquema Ambiente. Como prática recomendada para cenários de produção, você deve criar o ambiente separadamente e consultá-lo aqui. |
||
instance_type |
string | O tipo de instância usado para colocar a carga de trabalho de inferência. Se omitida, a carga de trabalho de inferência será colocada no tipo de instância padrão do cluster Kubernetes especificado no campo do ponto de compute extremidade. Se especificado, a carga de trabalho de inferência será colocada nesse tipo de instância selecionado. O conjunto de tipos de instância para um cluster Kubernetes é configurado por meio da CRD (definição de recurso personalizado) do cluster Kubernetes, portanto, eles não fazem parte do esquema YAML do Azure Machine Learning para anexar a computação do Kubernetes. Para obter mais informações, consulte Criar e selecionar tipos de instância do Kubernetes. |
||
instance_count |
integer | O número de instâncias a serem usadas para a implantação. Especifique o valor com base na carga de trabalho esperada. Este campo só é obrigatório se estiver a utilizar o default tipo de escala (scale_settings.type: default ). instance_count pode ser atualizado após a criação da implantação usando az ml online-deployment update o comando. |
||
app_insights_enabled |
boolean | Se deseja habilitar a integração com a instância do Azure Application Insights associada ao seu espaço de trabalho. | false |
|
scale_settings |
objeto | As configurações de escala para a implantação. Os dois tipos de configurações de escala suportados são o tipo de escala e o default target_utilization tipo de escala. Com o tipo de default escala (scale_settings.type: default ), você pode dimensionar manualmente a contagem de instâncias para cima e para baixo após a criação da implantação atualizando a instance_count propriedade. Para configurar o target_utilization tipo de escala (scale_settings.type: target_utilization ), consulte TargetUtilizationScaleSettings para obter o conjunto de propriedades configuráveis. |
||
scale_settings.type |
string | O tipo de escala. | default , target_utilization |
target_utilization |
data_collector |
objeto | Configurações de coleta de dados para a implantação. Consulte DataCollector para obter o conjunto de propriedades configuráveis. | ||
request_settings |
objeto | Pontuando as configurações de solicitação para a implantação. Consulte RequestSettings para obter o conjunto de propriedades configuráveis. | ||
liveness_probe |
objeto | Configurações da sonda Liveness para monitorar a integridade do contêiner regularmente. Consulte ProbeSettings para obter o conjunto de propriedades configuráveis. | ||
readiness_probe |
objeto | Configurações de teste de prontidão para validar se o contêiner está pronto para atender ao tráfego. Consulte ProbeSettings para obter o conjunto de propriedades configuráveis. | ||
resources |
objeto | Requisitos de recursos de contêiner. | ||
resources.requests |
objeto | Solicitações de recursos para o contêiner. Consulte ContainerResourceRequests para obter o conjunto de propriedades configuráveis. | ||
resources.limits |
objeto | Limites de recursos para o contêiner. Consulte ContainerResourceLimits para obter o conjunto de propriedades configuráveis. |
RequestSettings
Chave | Tipo | Description | Default value |
---|---|---|---|
request_timeout_ms |
integer | O tempo limite de pontuação em milissegundos. | 5000 |
max_concurrent_requests_per_instance |
integer | O número máximo de solicitações simultâneas por instância permitido para a implantação. Não altere essa configuração do valor padrão, a menos que seja instruído pelo Suporte Técnico da Microsoft ou por um membro da equipe do Azure Machine Learning. |
1 |
max_queue_wait_ms |
integer | A quantidade máxima de tempo, em milissegundos, uma solicitação permanecerá na fila. | 500 |
Configurações da sonda
Chave | Tipo | Description | Default value |
---|---|---|---|
period |
integer | Com que frequência (em segundos) realizar a sonda. | 10 |
initial_delay |
integer | O número de segundos após o início do recipiente antes de a sonda ser iniciada. O valor mínimo é 1 . |
10 |
timeout |
integer | O número de segundos após os quais a sonda atinge o tempo limite. O valor mínimo é 1 . |
2 |
success_threshold |
integer | Os sucessos consecutivos mínimos para que a sonda seja considerada bem-sucedida depois de ter falhado. O valor mínimo é 1 . |
1 |
failure_threshold |
integer | Quando uma sonda falha, o sistema tentará failure_threshold vezes antes de desistir. Desistir no caso de uma sonda de vivacidade significa que o contêiner será reiniciado. No caso de uma sonda de prontidão, o contêiner será marcado como Despronto. O valor mínimo é 1 . |
30 |
TargetUtilizationScaleSettings
Chave | Tipo | Description | Default value |
---|---|---|---|
type |
const | O tipo de escala | target_utilization |
min_instances |
integer | O número mínimo de instâncias a serem usadas. | 1 |
max_instances |
integer | O número máximo de instâncias para dimensionar. | 1 |
target_utilization_percentage |
integer | O uso da CPU de destino para o autoscaler. | 70 |
polling_interval |
integer | Com que frequência o autoscaler deve tentar dimensionar a implantação, em segundos. | 1 |
ContainerResourceRequests
Chave | Tipo | Description |
---|---|---|
cpu |
string | O número de núcleos de CPU solicitados para o contêiner. |
memory |
string | O tamanho da memória solicitado para o contêiner |
nvidia.com/gpu |
string | O número de placas GPU Nvidia solicitadas para o contêiner |
ContainerResourceLimits
Chave | Tipo | Description |
---|---|---|
cpu |
string | O limite para o número de núcleos de CPU para o contêiner. |
memory |
string | O limite para o tamanho da memória para o contêiner. |
nvidia.com/gpu |
string | O limite para o número de placas GPU Nvidia para o contêiner |
Coletor de dados
Chave | Tipo | Description | Default value |
---|---|---|---|
sampling_rate |
flutuante | A percentagem, representada como uma taxa decimal, dos dados a recolher. Por exemplo, um valor de 1,0 representa a recolha de 100% dos dados. | 1.0 |
rolling_rate |
string | A taxa para particionar os dados no armazenamento. O valor pode ser: Minuto, Hora, Dia, Mês, Ano. | Hour |
collections |
objeto | Conjunto de s individuais collection_name e suas respetivas configurações para esta implantação. |
|
collections.<collection_name> |
objeto | Agrupamento lógico dos dados de inferência de produção a recolher (exemplo: model_inputs ). Há dois nomes reservados: e response , que correspondem, request respectivamente, à coleta de dados de carga útil de solicitação e resposta HTTP. Todos os outros nomes são arbitrários e definíveis pelo usuário. Nota: Cada collection_name um deve corresponder ao nome do objeto usado na implantação score.py para coletar os dados de inferência de Collector produção. Para obter mais informações sobre coleta de dados de carga útil e coleta de dados com o SDK Python fornecido, consulte Coletar dados de modelos em produção. |
|
collections.<collection_name>.enabled |
boolean | Se a coleta de dados deve ser habilitada para o arquivo collection_name . |
'False'' |
collections.<collection_name>.data.name |
string | O nome do ativo de dados a ser registrado com os dados coletados. | <endpoint>-<deployment>-<collection_name> |
collections.<collection_name>.data.path |
string | O caminho completo do armazenamento de dados do Azure Machine Learning onde os dados coletados devem ser registrados como um ativo de dados. | azureml://datastores/workspaceblobstore/paths/modelDataCollector/<endpoint_name>/<deployment_name>/<collection_name> |
collections.<collection_name>.data.version |
integer | A versão do ativo de dados a ser registrado com os dados coletados no armazenamento de Blob. | 1 |
Observações
Os az ml online-deployment
comandos podem ser usados para gerenciar implantações online do Kubernetes do Azure Machine Learning.
Exemplos
Exemplos estão disponíveis no repositório GitHub de exemplos.