Share via


Passos de atualização para Azure Container Instances serviços Web para pontos finais online geridos

Os pontos finais online geridos ajudam a implementar os seus modelos de ML de forma chave na mão. Os pontos finais online geridos funcionam com computadores GPU e CPU avançados no Azure de forma dimensionável e totalmente gerida. Os pontos finais online geridos tratam de servir, dimensionar, proteger e monitorizar os modelos, ao libertá-lo da sobrecarga de configuração e gestão da infraestrutura subjacente. Pode encontrar detalhes em Implementar e classificar um modelo de machine learning com um ponto final online.

Pode implementar diretamente no novo destino de computação com os seus modelos e ambientes anteriores ou utilizar os scripts fornecidos por nós para exportar os serviços atuais e, em seguida, implementar na nova computação sem afetar os serviços existentes. Se criar e eliminar regularmente serviços Web Azure Container Instances (ACI), recomendamos vivamente que implemente diretamente e não utilize os scripts.

Importante

O URL de classificação será alterado após a atualização. Por exemplo, o URL de classificação do serviço Web do ACI é como http://aaaaaa-bbbbb-1111.westus.azurecontainer.io/score. O URI de classificação para um ponto final online gerido é como https://endpoint-name.westus.inference.ml.azure.com/score.

Cenários e diferenças suportados

Modo de autenticação

Não é suportada nenhuma autenticação para o ponto final online gerido. Se utilizar os scripts de atualização, este irá convertê-lo em autenticação de chave. Para autenticação de chaves, serão utilizadas as chaves originais. A autenticação baseada em tokens também é suportada.

TLS

Para o serviço ACI protegido com HTTPS, já não precisa de fornecer os seus próprios certificados, todos os pontos finais online geridos estão protegidos pelo TLS.

O nome DNS personalizado não é suportado.

Requisitos de recursos

ContainerResourceRequirements não é suportado. Pode escolher o SKU adequado para a sua inferência. A ferramenta de atualização irá mapear o requisito de CPU/Memória para o SKU correspondente. Se optar por reimplementar manualmente através da CLI/SDK V2, sugerimos também o SKU correspondente para a sua nova implementação.

Pedido de CPU Pedido de memória em GB SKU sugerido
(0, 1] (0, 1.2] DS1 V2
(1, 2] (1.2, 1.7] F2s V2
(1, 2] (1.7, 4.7] DS2 V2
(1, 2] (4.7, 13.7] E2s V3
(2, 4] (0, 5.7] F4s V2
(2, 4] (5.7, 11.7] DS3 V2
(2, 4] (11.7, 16] E4s V3

"(" significa maior que e "]" significa menor ou igual a. Por exemplo, "(0, 1]" significa "maior que 0 e menor ou igual a 1".

Importante

Ao atualizar a partir do ACI, haverá algumas alterações na forma como será cobrado. Veja o nosso blogue para obter uma comparação de custos aproximada para o ajudar a escolher os SKUs de VM corretos para a sua carga de trabalho.

Isolamento da rede

Para cenários de área de trabalho privada e VNet, veja Utilizar o isolamento de rede com pontos finais online geridos.

Importante

Como existem muitas definições para a sua área de trabalho e VNet, sugerimos vivamente que reimplemente através da extensão da CLI do Azure v2 para machine learning em vez da ferramenta de script.

Não suportado

  • EncryptionProperties para o contentor do ACI não é suportado.
  • Os serviços Web do ACI implementados através de deploy_from_model e deploy_from_image não são suportados pela ferramenta de atualização. Reimplemente manualmente através da CLI/SDK V2.

Passos de atualização

Com a nossa CLI ou SDK

Reimplemente manualmente com os ficheiros de modelo e a definição de ambiente. Pode encontrar os nossos exemplos em azureml-examples. Especificamente, este é o exemplo do SDK para o ponto final online gerido.

Com a nossa ferramenta de atualização

Esta ferramenta irá criar automaticamente um novo ponto final online gerido com base nos seus serviços Web existentes. Os seus serviços originais não serão afetados. Pode encaminhar com segurança o tráfego para o novo ponto final e, em seguida, eliminar o antigo.

Nota

O script de atualização é um script de exemplo e é fornecido sem um contrato de nível de serviço (SLA).

Utilize os seguintes passos para executar os scripts:

Dica

O novo ponto final criado pelos scripts será criado na mesma área de trabalho.

  1. Utilize uma shell de bash para executar os scripts. Por exemplo, uma sessão de terminal no Linux ou no Subsistema Windows para Linux (WSL).

  2. Instale o SDK Python V1 para executar o script python.

  3. Instalar a CLI do Azure.

  4. Clone o repositório para o seu ambiente local. Por exemplo, git clone https://github.com/Azure/azureml-examples.

  5. Edite os seguintes valores no migrate-service.sh ficheiro. Substitua os valores por valores que se aplicam à sua configuração.

    • <SUBSCRIPTION_ID> - O ID da subscrição do Azure que contém a área de trabalho.
    • <RESOURCEGROUP_NAME> - O grupo de recursos que contém a área de trabalho.
    • <WORKSPACE_NAME> - O nome da área de trabalho.
    • <SERVICE_NAME> - O nome do serviço ACI existente.
    • <LOCAL_PATH> - Um caminho local onde os recursos e modelos utilizados pelo script são transferidos.
    • <NEW_ENDPOINT_NAME> - O nome do novo ponto final que será criado. Recomendamos que o novo nome do ponto final seja diferente do nome do serviço anterior. Caso contrário, o serviço original não será apresentado se verificar os pontos finais no portal.
    • <NEW_DEPLOYMENT_NAME> - O nome da implementação para o novo ponto final.
  6. Execute o script bash. Por exemplo, ./migrate-service.sh. A conclusão da nova implementação demorará cerca de 5 a 10 minutos.

    Dica

    Se receber um erro a indicar que o script não é executável ou se um editor for aberto quando tentar executar o script, utilize o seguinte comando para marcar o script como executável:

    chmod +x migrate-service.sh
    
  7. Depois de concluída a implementação com êxito, pode verificar o ponto final com o comando az ml online-endpoint invoke .

Contacte-nos

Se tiver dúvidas ou comentários sobre o script de atualização, contacte-nos em moeonboard@microsoft.com.

Passos seguintes