Etapas de atualização dos serviços Web de Instâncias de Contêiner do Azure para pontos de extremidade online gerenciados
Os endpoints online gerenciados ajudam a implantar seus modelos de ML de maneira turnkey. 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. Detalhes podem ser encontrados em Implantar e pontuar um modelo de aprendizado de máquina usando um ponto de extremidade online.
Você pode implantar diretamente no novo destino de computação com seus modelos e ambientes anteriores ou usar os scripts fornecidos por nós para exportar os serviços atuais e, em seguida, implantar na nova computação sem afetar os serviços existentes. Se você criar e excluir regularmente serviços Web de Instâncias de Contêiner do Azure (ACI), é altamente recomendável implantar diretamente e não usar os scripts.
Importante
O URL de pontuação será alterado após a atualização. Por exemplo, a url de pontuação para o serviço Web ACI é como http://aaaaaa-bbbbb-1111.westus.azurecontainer.io/score
. O URI de pontuação para um endpoint online gerenciado é como https://endpoint-name.westus.inference.ml.azure.com/score
.
Cenários suportados e diferenças
Modo de autenticação
Nenhuma autenticação não é suportada para endpoints online gerenciados. Se você usar os scripts de atualização, ele irá convertê-lo em auth chave. Para a autenticação de chaves, as chaves originais serão usadas. A autenticação baseada em tokens também é suportada.
TLS
Para o serviço ACI protegido com HTTPS, você não precisa mais fornecer seus próprios certificados, todos os pontos de extremidade on-line gerenciados são protegidos por TLS.
O nome DNS personalizado não é suportado.
Requisitos de recursos
ContainerResourceRequirements não é suportado, você pode escolher a SKU adequada para sua inferência. A ferramenta de atualização mapeará o requisito de CPU/Memória para o SKU correspondente. Se você optar por reimplantar manualmente por meio da CLI/SDK V2, também sugerimos a SKU correspondente para sua nova implantaçã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 da ACI, haverá algumas mudanças na forma como você será cobrado. Consulte nosso blog para obter uma comparação de custos aproximada para ajudá-lo a escolher as SKUs de VM certas para sua carga de trabalho.
Isolamento da rede
Para cenários de espaço de trabalho privado e VNet, consulte Usar isolamento de rede com pontos de extremidade online gerenciados.
Importante
Como há muitas configurações para seu espaço de trabalho e VNet, sugerimos fortemente que reimplante por meio da extensão da CLI do Azure v2 para aprendizado de máquina em vez da ferramenta de script.
Não suportado
- EncryptionProperties para contêiner ACI não é suportado.
- Os serviços Web ACI implantados por meio de deploy_from_model e deploy_from_image não são suportados pela ferramenta de atualização. Reimplante manualmente através da CLI/SDK V2.
Etapas de atualização
Com a nossa CLI ou SDK
Reimplante manualmente com seus arquivos de modelo e definição de ambiente. Pode encontrar os nossos exemplos em azureml-examples. Especificamente, este é o exemplo de SDK para endpoint online gerenciado.
Com a nossa ferramenta de atualização
Esta ferramenta criará automaticamente um novo endpoint online gerenciado com base em seus serviços Web existentes. Os seus serviços originais não serão afetados. Você pode rotear com segurança o tráfego para o novo ponto de extremidade e, em seguida, excluir o antigo.
Nota
O script de atualização é um script de exemplo e é fornecido sem um contrato de nível de serviço (SLA).
Use as seguintes etapas para executar os scripts:
Gorjeta
O novo ponto de extremidade criado pelos scripts será criado no mesmo espaço de trabalho.
Use um shell bash para executar os scripts. Por exemplo, uma sessão de terminal no Linux ou o Subsistema Windows para Linux (WSL).
Instale o Python SDK V1 para executar o script Python.
Instalar a CLI do Azure.
Clone o repositório para o seu env local. Por exemplo,
git clone https://github.com/Azure/azureml-examples
.Edite
migrate-service.sh
os seguintes valores no arquivo. Substitua os valores por outros que se aplicam à sua configuração.<SUBSCRIPTION_ID>
- A ID de assinatura da sua assinatura do Azure que contém seu espaço de trabalho.<RESOURCEGROUP_NAME>
- O grupo de recursos que contém seu espaço de trabalho.<WORKSPACE_NAME>
- O nome do espaço de trabalho.<SERVICE_NAME>
- O nome do seu serviço ACI existente.<LOCAL_PATH>
- Um caminho local onde os recursos e modelos usados pelo script são baixados.<NEW_ENDPOINT_NAME>
- O nome do novo ponto de extremidade que será criado. Recomendamos que o novo nome do ponto de extremidade seja diferente do nome do serviço anterior. Caso contrário, o serviço original não será exibido se você verificar seus pontos de extremidade no portal.<NEW_DEPLOYMENT_NAME>
- O nome da implantação para o novo ponto de extremidade.
Execute o script bash. Por exemplo,
./migrate-service.sh
. Levará cerca de 5 a 10 minutos para concluir a nova implantação.Gorjeta
Se você receber um erro informando que o script não é executável ou se um editor for aberto quando você tentar executar o script, use o seguinte comando para marcar o script como executável:
chmod +x migrate-service.sh
Depois que a implantação for concluída com êxito, você poderá verificar o ponto de extremidade com o comando az ml online-endpoint invoke .
Contactos
Se você tiver alguma dúvida ou feedback sobre o script de atualização, entre em contato conosco em moeonboard@microsoft.com.