Compartilhar via


Implantar um modelo para Azure Container Instances com a CLI (v1)

Importante

Alguns dos comandos Azure CLI neste artigo usam a extensão azure-cli-ml ou v1 para Azure Machine Learning. O suporte à CLI v1 terminou em 30 de setembro de 2025. A Microsoft não fornecerá mais suporte técnico ou atualizações para esse serviço. Seus fluxos de trabalho existentes usando a CLI v1 continuarão a operar após a data de fim do suporte. No entanto, eles podem ficar expostos a riscos de segurança ou a alterações interruptivas em caso de mudanças na arquitetura do produto.

Recomendamos que você faça a transição para a mlextensão , ou v2, o mais rápido possível. Para obter mais informações sobre a extensão v2, consulte Azure Machine Learning extensão da CLI e Python SDK v2.

Importante

Este artigo fornece informações sobre como usar o SDK do Azure Machine Learning v1. O SDK v1 foi preterido a partir de 31 de março de 2025. O suporte para ele terminará em 30 de junho de 2026. Você pode instalar e usar o SDK v1 até essa data. Seus fluxos de trabalho existentes usando o SDK v1 continuarão a operar após a data de fim do suporte. No entanto, eles podem ficar expostos a riscos de segurança ou a alterações interruptivas em caso de mudanças na arquitetura do produto.

Recomendamos que você faça a transição para o SDK v2 antes de 30 de junho de 2026. Para obter mais informações sobre o SDK v2, consulte O que é Azure Machine Learning CLI e Python SDK v2? e a referência SDK v2.

Importante

Este artigo mostra como usar a CLI e o SDK v1 para implantar um modelo. Para obter a abordagem recomendada para v2, confira Implantar e pontuar um modelo de machine learning usando um ponto de extremidade online.

Saiba como usar Azure Machine Learning para implantar um modelo como um serviço Web na ACI (Azure Container Instances). Use as Instâncias de Contêiner do Azure caso:

  • prefira não gerenciar seu próprio cluster Kubernetes
  • aceita ter apenas uma única réplica do seu serviço, o que pode afetar o tempo de atividade

Para obter informações sobre a disponibilidade de quotas e regiões para ACI, consulte o artigo Quotas e disponibilidade de regiões para Azure Container Instances.

Importante

Depure localmente antes de implantar no serviço Web. Para obter mais informações, consulte Depurar Localmente.

Você também pode consultar o Azure Machine Learning - Implantar no Notebook Local.

Pré-requisitos

Limitações

Observação

  • Não há suporte para a implantação de Azure Container Instances em uma rede virtual. Em vez disso, para isolamento de rede, considere usar pontos de extremidade online gerenciados.
  • Para garantir o suporte efetivo, você deve fornecer os logs necessários para seus contêineres da ACI. Sem esses logs, o suporte técnico não pode ser garantido. Use as ferramentas de análise de log especificando enable_app_insights=True em sua configuração de implantação para gerenciar e analisar os logs de contêiner da ACI com eficiência.

Implantar no ACI

Para implantar um modelo em Azure Container Instances, crie uma configuração deployment que descreve os recursos de computação necessários, como o número de núcleos e memória. Você também precisa de uma configuração de inferência, que descreve o ambiente necessário para hospedar o modelo e o serviço Web. Para obter mais informações sobre como criar a configuração de inferência, confira Como e onde implantar modelos.

Observação

  • A ACI é adequada apenas para modelos pequenos com menos de 1 GB de tamanho.
  • Use o AKS de nó único para testar modelos maiores em desenvolvimento.
  • Você pode implantar até 1.000 modelos por implantação (por contêiner).

Usar o SDK

APLICA-SE A:Azure Machine Learning SDK v1 para Python

from azureml.core.webservice import AciWebservice, Webservice
from azureml.core.model import Model

deployment_config = AciWebservice.deploy_configuration(cpu_cores = 1, memory_gb = 1)
service = Model.deploy(ws, "aciservice", [model], inference_config, deployment_config)
service.wait_for_deployment(show_output = True)
print(service.state)

Para obter mais informações sobre as classes, métodos e parâmetros usados neste exemplo, consulte os seguintes artigos de referência:

Usando o Azure CLI

APLICA-SE A:Extensão Azure CLI ml v1

Para implantar usando a CLI, execute o comando a seguir. Substituir mymodel:1 pelo nome e versão do modelo registrado. Substitua myservice pelo nome para fornecer este serviço:

az ml model deploy -n myservice -m mymodel:1 --ic inferenceconfig.json --dc deploymentconfig.json

As entradas no arquivo deploymentconfig.json são mapeadas para os parâmetros de AciWebservice.deploy_configuration. A tabela a seguir descreve o mapeamento entre as entidades no arquivo JSON e os parâmetros do método:

Entidade JSON Parâmetro de método Descrição
computeType NA O destino de computação. Para o ACI, o valor precisa ser ACI.
containerResourceRequirements NA Contêiner para as entidades de CPU e de memória.
  cpu cpu_cores O número de núcleos de CPU a serem alocados. Padrão, 0.1
  memoryInGB memory_gb A quantidade de memória (em GB) a ser alocada para esse serviço Web. Padrão, 0.5
location location A região Azure para a qual implantar esse serviço Web. Se você não especificar esse valor, será usada a localização da área de trabalho. Para obter mais detalhes sobre as regiões disponíveis, consulte Regiões da ACI.
authEnabled auth_enabled Se deseja habilitar a autenticação para esse serviço Web. Usa False como padrão
sslEnabled ssl_enabled Se deseja habilitar o TLS para este serviço Web. Usa False como padrão.
appInsightsEnabled enable_app_insights Se deseja habilitar o AppInsights para este serviço Web. Usa False como padrão
sslCertificate ssl_cert_pem_file O arquivo de certificado necessário se o TLS estiver habilitado
sslKey ssl_key_pem_file O arquivo-chave necessário se o TLS estiver habilitado
cname ssl_cname O CNAME para se o TLS estiver habilitado
dnsNameLabel dns_name_label O rótulo de nome DNS do ponto de extremidade de pontuação. Se você não especificar esse valor, um rótulo de nome DNS exclusivo será gerado para o endpoint de pontuação.

O seguinte JSON é um exemplo de configuração de implantação a ser usada com a CLI:

{
    "computeType": "aci",
    "containerResourceRequirements":
    {
        "cpu": 0.5,
        "memoryInGB": 1.0
    },
    "authEnabled": true,
    "sslEnabled": false,
    "appInsightsEnabled": false
}

Para obter mais informações, confira a referência az ml model deploy.

Usar o VS Code

Confira como gerenciar recursos no VS Code.

Importante

Não é necessário criar um contêiner de ACI para testar com antecedência. A solução cria contêineres de ACI conforme necessário.

Importante

A solução anexa uma ID de área de trabalho com hash a todos os recursos ACI subjacentes que cria. Todos os nomes de ACI do mesmo workspace têm o mesmo sufixo. O nome do serviço Azure Machine Learning permanece o mesmo que o service_name. As APIs do SDK Azure Machine Learning que os usuários veem não precisam de nenhuma alteração. A solução não fornece garantias sobre os nomes dos recursos subjacentes que ela cria.

Próximas etapas