Come posso risolvere i problemi di latenza con il mio endpoint di Amazon SageMaker?

4 minuti di lettura
0

Desidero risolvere i problemi di latenza elevata con il mio endpoint di Amazon SageMaker.

Breve descrizione

L'endpoint di SageMaker potrebbe presentare i seguenti tipi di latenza:

  • Latenza del modello: è il tempo impiegato dal modello per rispondere a una richiesta di inferenza. La latenza del modello include il tempo di comunicazione locale per inviare una richiesta e recuperare una risposta. Inoltre, la latenza del modello include il tempo di completamento dell'inferenza all'interno del container del modello.
  • Latenza sovraccarico: è il tempo impiegato da SageMaker per rispondere a una richiesta di invocazione, esclusa la latenza del modello.
  • Latenza di rete: è il tempo impiegato dalla richiesta per andare avanti e indietro tra il client e l'endpoint di SageMaker. La latenza di rete si verifica al di fuori dell'infrastruttura AWS.

Se l'endpoint di SageMaker gestisce un singolo modello, sono disponibili le seguenti metriche Amazon CloudWatch:

  • Latenza del modello
  • Latenza sovraccarico

Se l'endpoint di SageMaker gestisce un endpoint multi-modello, sono disponibili le seguenti metriche CloudWatch:

  • Tempo di attesa per il caricamento del modello: questa metrica mostra il tempo di attesa che una richiesta di invocazione impiega per scaricare o caricare il modello di destinazione prima di eseguire l'inferenza.
  • Tempo di download del modello: questa metrica mostra il tempo necessario per scaricare il modello da Amazon Simple Storage Service (Amazon S3).
  • Tempo di caricamento del modello: questa metrica mostra il tempo necessario per caricare il modello nel container.
  • Occorrenze nella cache del modello: questa metrica mostra il numero di richieste InvokeEndpoint inviate all'endpoint in cui è stato caricato il modello.

Nota: gli endpoint multi-modello caricano e scaricano i modelli per tutta la loro durata. Per visualizzare il numero di modelli caricati per un endpoint, utilizza la metrica CloudWatch LoadedModelCount.

Risoluzione

La risoluzione dei problemi di latenza elevata si basa sui seguenti tipi di latenza:

Latenza del modello

Per ridurre l'elevata latenza del modello, completa la seguente procedura:

  • Per verificare le prestazioni del modello, esegui il benchmark del modello al di fuori di un endpoint di SageMaker.
  • Se SageMaker Neo supporta il modello, puoi compilarlo. SageMaker Neo ottimizza i modelli in modo che vengano eseguiti due volte più velocemente, con un minore ingombro di memoria e senza perdita di precisione.
  • Se AWS Inferentia supporta il modello, puoi compilarlo. Ciò consente un maggiore throughput a un costo per inferenza inferiore.
  • Se utilizzi un'istanza CPU e il modello supporta l'accelerazione GPU, utilizza un'istanza GPU per aggiungere l'accelerazione GPU a un'istanza.
    Nota: il codice di inferenza potrebbe influire sulla latenza del modello in base a come il codice gestisce l'inferenza. Eventuali ritardi nel codice aumentano la latenza.
  • Per aumentare e diminuire dinamicamente il numero di istanze disponibili per un endpoint, aggiungi il dimensionamento automatico a un endpoint. Un endpoint sovraccarico potrebbe causare una maggiore latenza del modello.

Latenza sovraccarico

I fattori che contribuiscono all'elevata latenza sovraccarico sono:

  • Dimensione del payload per le richieste e le risposte
  • Frequenza o infrequenza della richiesta
  • Autenticazione o autorizzazione della richiesta

Inoltre, la prima invocazione dell'endpoint potrebbe causare un aumento della latenza a causa di un avvio a freddo. Per evitare una latenza elevata in caso di avvio a freddo, invia richieste di test all'endpoint per inizializzarlo.

Latenza di rete

Per ridurre una latenza di rete elevata, completa la procedura seguente:

  • Distribuisci l'applicazione client più vicina alla regione AWS in cui è ospitato l'endpoint di SageMaker.
  • Ottimizza le configurazioni di rete lato client e la connettività Internet.
  • Per avvicinare le richieste di inferenza al client, utilizza una rete di distribuzione di contenuti (CDN) o una soluzione di edge computing.

Nota: SageMaker non può influenzare direttamente la latenza di rete. Assicurati di ottimizzare la latenza complessiva dell'inferenza per le applicazioni che utilizzano gli endpoint di SageMaker in base al tuo caso d'uso.