Partilhar via


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_namee 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.

Próximos passos