Upgradestappen voor Azure Container Instances-webservices naar beheerde online-eindpunten
Beheerde online-eindpunten helpen bij het implementeren van uw ML-modellen op een kant-en-klare manier. Beheerde online-eindpunten werken met krachtige CPU- en GPU-machines in Azure op een schaalbare, volledig beheerde manier. Beheerde online-eindpunten zorgen voor het leveren, schalen, beveiligen en bewaken van uw modellen, waardoor u geen last meer hebt van de overhead van het instellen en beheren van de onderliggende infrastructuur. Meer informatie vindt u op Een machine learning-model implementeren en beoordelen met behulp van een online-eindpunt.
U kunt rechtstreeks implementeren op het nieuwe rekendoel met uw vorige modellen en omgevingen, of de scripts van ons gebruiken om de huidige services te exporteren en vervolgens te implementeren in de nieuwe berekening zonder dat dit van invloed is op uw bestaande services. Als u regelmatig ACI-webservices (Azure Container Instances) maakt en verwijdert, raden we u ten zeerste aan om rechtstreeks te implementeren en niet de scripts te gebruiken.
Belangrijk
De score-URL wordt na de upgrade gewijzigd. De score-URL voor de ACI-webservice is bijvoorbeeld als http://aaaaaa-bbbbb-1111.westus.azurecontainer.io/score
volgt. De score-URI voor een beheerd online-eindpunt is als https://endpoint-name.westus.inference.ml.azure.com/score
volgt.
Ondersteunde scenario's en verschillen
Verificatiemodus
Er wordt geen verificatie ondersteund voor het beheerde online-eindpunt. Als u de upgradescripts gebruikt, wordt deze geconverteerd naar sleutelverificatie. Voor sleutelverificatie worden de oorspronkelijke sleutels gebruikt. Verificatie op basis van tokens wordt ook ondersteund.
TLS
Voor de ACI-service die is beveiligd met HTTPS, hoeft u uw eigen certificaten niet meer op te geven. Alle beheerde online-eindpunten worden beveiligd door TLS.
Aangepaste DNS-naam wordt niet ondersteund.
Resourcevereisten
ContainerResourceRequirements wordt niet ondersteund. U kunt de juiste SKU kiezen voor uw deductie. Het upgradeprogramma wijst de CPU/geheugenvereiste toe aan de bijbehorende SKU. Als u ervoor kiest om handmatig opnieuw te implementeren via CLI/SDK V2, wordt ook de bijbehorende SKU voor uw nieuwe implementatie voorgesteld.
CPU-aanvraag | Geheugenaanvraag in GB | Voorgestelde SKU |
---|---|---|
(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 |
"(" betekent groter dan en "]": kleiner dan of gelijk aan. Bijvoorbeeld: '(0, 1]' betekent 'groter dan 0 en kleiner dan of gelijk aan 1'.
Belangrijk
Wanneer u een upgrade uitvoert van ACI, worden er enkele wijzigingen aangebracht in de kosten. Zie onze blog voor een vergelijking van ruwe kosten om u te helpen bij het kiezen van de juiste VM-SKU's voor uw workload.
Netwerkisolatie
Zie Netwerkisolatie gebruiken met beheerde online-eindpunten voor privéwerkruimten en VNet-scenario's.
Belangrijk
Omdat er veel instellingen zijn voor uw werkruimte en VNet, raden we u sterk aan om de Azure CLI-extensie v2 opnieuw te implementeren voor machine learning in plaats van het scripthulpprogramma.
Niet ondersteund
- EncryptionProperties voor ACI-container wordt niet ondersteund.
- ACI-webservices die zijn geïmplementeerd via deploy_from_model en deploy_from_image worden niet ondersteund door het upgradeprogramma. Implementeer handmatig opnieuw via CLI/SDK V2.
Upgradestappen
Met onze CLI of SDK
Implementeer handmatig opnieuw met uw modelbestanden en omgevingsdefinitie. U vindt onze voorbeelden op azureml-examples. Dit is met name het SDK-voorbeeld voor het beheerde online-eindpunt.
Met ons upgradeprogramma
Met dit hulpprogramma wordt automatisch een nieuw beheerd online-eindpunt gemaakt op basis van uw bestaande webservices. Uw oorspronkelijke services worden niet beïnvloed. U kunt het verkeer veilig doorsturen naar het nieuwe eindpunt en vervolgens het oude eindpunt verwijderen.
Notitie
Het upgradescript is een voorbeeldscript en wordt geleverd zonder een SLA (Service Level Agreement).
Voer de volgende stappen uit om de scripts uit te voeren:
Tip
Het nieuwe eindpunt dat door de scripts wordt gemaakt, wordt gemaakt onder dezelfde werkruimte.
Gebruik een bash-shell om de scripts uit te voeren. Bijvoorbeeld een terminalsessie in Linux of de Windows-subsysteem voor Linux (WSL).
Installeer Python SDK V1 om het Python-script uit te voeren.
Installeer Azure CLI.
Kloon de opslagplaats naar uw lokale env. Bijvoorbeeld:
git clone https://github.com/Azure/azureml-examples
.Bewerk de volgende waarden in het
migrate-service.sh
bestand. Vervang de waarden door waarden die van toepassing zijn op uw configuratie.<SUBSCRIPTION_ID>
- De abonnements-id van uw Azure-abonnement dat uw werkruimte bevat.<RESOURCEGROUP_NAME>
- De resourcegroep die uw werkruimte bevat.<WORKSPACE_NAME>
- De naam van de werkruimte.<SERVICE_NAME>
- De naam van uw bestaande ACI-service.<LOCAL_PATH>
- Een lokaal pad waarin resources en sjablonen die door het script worden gebruikt, worden gedownload.<NEW_ENDPOINT_NAME>
- De naam van het nieuwe eindpunt dat wordt gemaakt. Het is raadzaam dat de naam van het nieuwe eindpunt verschilt van de vorige servicenaam. Anders wordt de oorspronkelijke service niet weergegeven als u uw eindpunten in de portal controleert.<NEW_DEPLOYMENT_NAME>
- De naam van de implementatie naar het nieuwe eindpunt.
Voer het bash-script uit. Bijvoorbeeld:
./migrate-service.sh
. Het duurt ongeveer 5-10 minuten om de nieuwe implementatie te voltooien.Tip
Als er een foutbericht wordt weergegeven dat het script niet uitvoerbaar is of er een editor wordt geopend wanneer u het script probeert uit te voeren, gebruikt u de volgende opdracht om het script als uitvoerbaar te markeren:
chmod +x migrate-service.sh
Nadat de implementatie is voltooid, kunt u het eindpunt controleren met de opdracht az ml online-endpoint invoke .
Contact opnemen
Als u vragen of feedback hebt over het upgradescript, neemt u contact met ons op via moeonboard@microsoft.com.