Condividi tramite


Procedura di aggiornamento per i servizi Web di Istanze di Azure Container agli endpoint online gestiti

Gli endpoint online gestiti consentono di distribuire i modelli di Machine Learning in modo chiavi in mano. Funzionano con computer CPU e GPU potenti in Azure in modo scalabile e completamente gestito. Gli endpoint online gestiti si occupano di gestire, dimensionare, proteggere e monitorare i modelli, liberando l'utente dalle attività di configurazione e gestione dell'infrastruttura sottostante. Per informazioni dettagliate, vedere Distribuire e assegnare punteggi a un modello di Machine Learning usando un endpoint online.

È possibile eseguire la distribuzione direttamente nella nuova destinazione di calcolo con i modelli e gli ambienti precedenti oppure usare gli script forniti da Microsoft per esportare i servizi correnti e quindi distribuirli nel nuovo ambiente di calcolo senza influire sui servizi esistenti. Se si creano ed eliminano regolarmente servizi Web Istanze di Azure Container (ACI), è consigliabile distribuire direttamente e non usare gli script.

Importante

L'URL di assegnazione dei punteggi verrà modificato dopo l'aggiornamento. Ad esempio, l'URL di assegnazione dei punteggi per il servizio Web ACI è simile a http://aaaaaa-bbbbb-1111.westus.azurecontainer.io/score. L'URI di assegnazione dei punteggi per un endpoint online gestito è simile a https://endpoint-name.westus.inference.ml.azure.com/score.

Scenari e differenze supportati

Modalità di autenticazione

Nessuna autenticazione non è supportata per l'endpoint online gestito. Se si usano gli script di aggiornamento, lo convertirà nell'autenticazione della chiave. Per l'autenticazione della chiave, verranno usate le chiavi originali. È supportata anche l'autenticazione basata su token.

TLS

Per il servizio ACI protetto con HTTPS, non è più necessario fornire certificati personalizzati, tutti gli endpoint online gestiti sono protetti da TLS.

Il nome DNS personalizzato non è supportato.

Requisiti di risorse

ContainerResourceRequirements non è supportato, è possibile scegliere lo SKU appropriato per l'inferenza. Lo strumento di aggiornamento eseguirà il mapping del requisito di CPU/memoria allo SKU corrispondente. Se si sceglie di ridistribuire manualmente tramite l'interfaccia della riga di comando/SDK V2, è anche consigliabile usare lo SKU corrispondente per la nuova distribuzione.

Richiesta CPU Richiesta di memoria in GB SKU suggerito
(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 maggiore di e "]" significa minore o uguale a. Ad esempio, "(0, 1]" significa "maggiore di 0 e minore o uguale a 1".

Importante

Quando si esegue l'aggiornamento da ACI, verranno apportate alcune modifiche alla modalità di addebito. Per un confronto approssimativo dei costi, vedere il blog per scegliere gli SKU di macchina virtuale corretti per il carico di lavoro.

Isolamento della rete

Per gli scenari di area di lavoro privata e rete virtuale, vedere Usare l'isolamento di rete con endpoint online gestiti.

Importante

Poiché sono disponibili molte impostazioni per l'area di lavoro e la rete virtuale, è consigliabile ridistribuire tramite l'estensione dell'interfaccia della riga di comando di Azure v2 per Machine Learning anziché lo strumento di script.

Non supportato

  • EncryptionProperties per il contenitore ACI non è supportato.
  • I servizi Web ACI distribuiti tramite deploy_from_model e deploy_from_image non sono supportati dallo strumento di aggiornamento. Ridistribuire manualmente tramite l'interfaccia della riga di comando/SDK V2.

Passaggi dell'aggiornamento

Con l'interfaccia della riga di comando o l'SDK

Ridistribuire manualmente con i file di modello e la definizione dell'ambiente. Gli esempi sono disponibili in azureml-examples. In particolare, questo è l'esempio sdk per l'endpoint online gestito.

Con lo strumento di aggiornamento

Questo strumento creerà automaticamente un nuovo endpoint online gestito in base ai servizi Web esistenti. I servizi originali non saranno interessati. È possibile instradare in modo sicuro il traffico al nuovo endpoint e quindi eliminarlo.

Nota

Lo script di aggiornamento è uno script di esempio e viene fornito senza un contratto di servizio.The upgrade script is a sample script and is provided without a service level agreement (SLA).

Per eseguire gli script, seguire questa procedura:

Suggerimento

Il nuovo endpoint creato dagli script verrà creato nella stessa area di lavoro.

  1. Usare una shell bash per eseguire gli script. Ad esempio, una sessione del terminale in Linux o il sottosistema Windows per Linux (WSL).

  2. Installare Python SDK V1 per eseguire lo script Python.

  3. Installare l'interfaccia della riga di comando di Azure.

  4. Clonare il repository nell'ambiente di sviluppo locale. Ad esempio, git clone https://github.com/Azure/azureml-examples.

  5. Modificare i valori seguenti nel migrate-service.sh file. Sostituire i valori con quelli applicabili alla configurazione.

    • <SUBSCRIPTION_ID> - ID sottoscrizione della sottoscrizione di Azure che contiene l'area di lavoro.
    • <RESOURCEGROUP_NAME> - Gruppo di risorse che contiene l'area di lavoro.
    • <WORKSPACE_NAME> - Nome dell'area di lavoro.
    • <SERVICE_NAME> - Nome del servizio ACI esistente.
    • <LOCAL_PATH> - Percorso locale in cui vengono scaricati risorse e modelli usati dallo script.
    • <NEW_ENDPOINT_NAME> - Nome del nuovo endpoint che verrà creato. È consigliabile che il nuovo nome dell'endpoint sia diverso dal nome del servizio precedente. In caso contrario, il servizio originale non verrà visualizzato se si controllano gli endpoint nel portale.
    • <NEW_DEPLOYMENT_NAME> - Nome della distribuzione nel nuovo endpoint.
  6. Eseguire lo script bash. Ad esempio, ./migrate-service.sh. Il completamento della nuova distribuzione richiederà circa 5-10 minuti.

    Suggerimento

    Se viene visualizzato un errore che indica che lo script non è eseguibile o viene aperto un editor quando si tenta di eseguire lo script, usare il comando seguente per contrassegnare lo script come eseguibile:

    chmod +x migrate-service.sh
    
  7. Al termine della distribuzione, è possibile verificare l'endpoint con il comando az ml online-endpoint invoke .

Contatti

Per eventuali domande o commenti e suggerimenti sullo script di aggiornamento, contattare Microsoft all'indirizzo moeonboard@microsoft.com.

Passaggi successivi