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_name s 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.