Compartilhar via


Esquema YAML de implantação online do Kubernetes habilitado para o Azure Arc da CLI (v2)

APLICA-SE A: Extensão de ML da CLI do Azurev2 (atual)

O esquema JSON de origem pode ser encontrado em https://azuremlschemas.azureedge.net/latest/kubernetesOnlineDeployment.schema.json.

Observação

A sintaxe YAML detalhada neste documento baseia-se no esquema JSON da última versão da extensão de ML da CLI v2. Essa sintaxe só tem a garantia de funcionar com a última versão da extensão de ML da CLI v2. Encontre os esquemas para as versões mais antigas da extensão em https://azuremlschemasprod.azureedge.net/.

Sintaxe YAML

Chave Type Descrição Valores permitidos Valor padrão
$schema string O esquema YAML. Se você usar a extensão do Azure Machine Learning para VS Code para criar o arquivo YAML, a inclusão de $schema no início do arquivo permitirá invocar conclusões de esquema e recursos.
name string Obrigatórios. 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órios. O nome do ponto de extremidade no qual criar a implantação.
model cadeia de caracteres ou objeto O modelo a ser usado para a implantação. Esse valor pode ser uma referência a um modelo com versão existente no workspace ou uma especificação de modelo embutida.

Para referenciar um modelo existente, use a sintaxe azureml:<model-name>:<model-version>.

Para definir um modelo embutido, siga o esquema de modelo.

Como prática recomendada para cenários de produção, você deve criar o modelo separadamente e fazer referência a ele aqui.

Esse campo é opcional para cenários de implantação de contêiner personalizado.
model_mount_path string O caminho para montar o modelo em um contêiner personalizado. Aplicável apenas a cenários de implantação de contêiner personalizado. Se o campo model for especificado, ele será montado nesse caminho no contêiner.
code_configuration objeto Configuração da lógica do código de pontuação.

Esse campo é opcional para cenários de implantação de contêiner personalizado.
code_configuration.code string Caminho local para o diretório de código-fonte para pontuação do 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 de variável de ambiente para definir no contêiner de implantação. Você pode acessar essas variáveis de ambiente de seus scripts de pontuação.
environment cadeia de caracteres ou objeto Obrigatórios. O ambiente a ser usado para a implantação. Esse valor pode ser uma referência para um ambiente com versão existente no espaço de trabalho ou uma especificação de ambiente embutido.

Use a sintaxe azureml:<environment-name>:<environment-version> para referenciar um ambiente existente.

Siga o esquema do ambiente para definir um ambiente embutido.

Como prática recomendada para cenários de produção, você deve criar o ambiente separadamente e fazer referência a ele aqui.
instance_type string O tipo de instância usado para posicionar a carga de trabalho de inferência. Se omitido, a carga de trabalho de inferência será colocada no tipo de instância padrão do cluster de Kubernetes especificado no campo compute do ponto de extremidade. Se especificado, a carga de trabalho de inferência será colocada nesse tipo de instância selecionado.

O conjunto de tipos de instâncias de um cluster do Kubernetes é configurado por meio da CRD (definição de recurso personalizado) do cluster do 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, confira Criar e selecionar tipos de instâncias do Kubernetes.
instance_count Número inteiro O número de instâncias a serem usadas para a implantação. Especifique o valor com base na carga de trabalho esperada. Esse campo só será necessário se você estiver usando o tipo de escala default (scale_settings.type: default).

instance_count pode ser atualizado após a criação da implantação usando o comando az ml online-deployment update.
app_insights_enabled booleano Se deve 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 do conjunto de dimensionamento para a implantação. Os dois tipos de configurações de escala com suporte são o tipo de escala default e o tipo de escala target_utilization.

Com o default tipo de escala ( scale_settings.type: default ), é possível escalar manualmente a contagem de instâncias para cima e para baixo após a criação da implantação atualizando a propriedade instance_count.

Para configurar o target_utilization tipo de escala ( scale_settings.type: target_utilization ), consulte TargetUtilizationScaleSettings para o conjunto de propriedades configuráveis.
scale_settings.type string O tipo de escala. default, target_utilization target_utilization
data_collector objeto Configurações da coleta de dados para a implantação. Confira DataCollector para obter o conjunto de propriedades configuráveis.
request_settings objeto Configurações de solicitação de pontuação para a implantação. Confira RequestSettings para obter o conjunto de propriedades configuráveis.
liveness_probe objeto Configurações de investigação de atividade para monitorar a integridade do contêiner regularmente. Confira ProbeSettings para obter o conjunto de propriedades configuráveis.
readiness_probe objeto Configurações de investigação de preparação para validar se o contêiner está pronto para atender ao tráfego. Confira ProbeSettings para obter o conjunto de propriedades configuráveis.
resources objeto Requisitos de recursos do contêiner.
resources.requests objeto Solicitações de recursos para o contêiner. Confira ContainerResourceRequests para obter o conjunto de propriedades configuráveis.
resources.limits objeto Limites de recursos para o contêiner. Confira ContainerResourceLimits para obter o conjunto de propriedades configuráveis.

RequestSettings

Chave Type Descrição Valor padrão
request_timeout_ms inteiro O tempo limite de pontuação em milissegundos. 5000
max_concurrent_requests_per_instance inteiro O número máximo de solicitações simultâneas por instância permitidas para a implantação.

Não altere o valor padrão dessa configuração, a menos que tenha recebido instruções do suporte técnico da Microsoft ou de um membro da equipe do Azure Machine Learning.
1
max_queue_wait_ms inteiro A quantidade máxima de tempo em milissegundos que uma solicitação permanecerá na fila. 500

ProbeSettings

Chave Type Descrição Valor padrão
period inteiro A frequência (em segundos) para realizar a investigação. 10
initial_delay inteiro O número de segundos após a inicialização do contêiner e antes da inicialização das investigações. O valor mínimo é 1. 10
timeout inteiro O número de segundos após o qual a investigação atinge o tempo limite. O valor mínimo é 1. 2
success_threshold inteiro O mínimo de sucessos consecutivos para que a investigação seja considerada bem-sucedida após apresentar falha. O valor mínimo é 1. 1
failure_threshold inteiro Quando uma investigação falhar, o sistema tentará por failure_threshold vezes antes de desistir. Desistir no caso de uma investigação de atividade significa que o contêiner será reiniciado. No caso de uma investigação de preparação, o contêiner estará marcado como Inapto. O valor mínimo é 1. 30

TargetUtilizationScaleSettings

Chave Type Descrição Valor padrão
type const O tipo de escala target_utilization
min_instances Número inteiro O número mínimo de instâncias a serem usadas. 1
max_instances Número inteiro O número máximo de instâncias para escalar. 1
target_utilization_percentage Número inteiro O uso de CPU de destino para o dimensionamento automático. 70
polling_interval Número inteiro Com que frequência o dimensionador automático deve tentar escalara implantação, em segundos. 1

ContainerResourceRequests

Chave Type Descrição
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 Nvidia GPU solicitadas para o contêiner

ContainerResourceLimits

Chave Type Descrição
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 do contêiner.
nvidia.com/gpu string O limite para o número de placas Nvidia GPU para o contêiner

DataCollector

Chave Type Descrição Valor padrão
sampling_rate FLOAT O percentual, representado como uma taxa decimal, dos dados a coletar. Por exemplo, um valor 1,0 representa a coleta 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 collection_names individuais e suas respectivas configurações para essa implantação.
collections.<collection_name> objeto Agrupamento lógico de dados de inferência de produção a coletar (exemplo: model_inputs). Há dois nomes reservados: request e response, que correspondem, respectivamente, à coleta de dados da solicitação HTTP e do payload de resposta. Todos os outros nomes são arbitrários e definidos pelo usuário.

Observação: cada collection_name deve corresponder ao nome do objeto Collector usado na implantação score.py para coletar os dados de inferência de produção. Para obter mais informações sobre a coleta de dados do payload e a coleta de dados com o SDK do Python fornecido, confira Coletar dados dos modelos em produção.
collections.<collection_name>.enabled booleano Se deseja habilitar a coleta de dados para o collection_name especificado. '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 inteiro A versão do ativo de dados a ser registrada com os dados coletados no armazenamento de Blobs. 1

Comentários

Os comandos az ml online-deployment podem ser usados para gerenciar implantações online de Kubernetes do Azure Machine Learning.

Exemplos

Os exemplos estão disponíveis no repositório de exemplos do GitHub.

Próximas etapas