Raccomandazioni sulle istanze per le distribuzioni di endpoint a più modelli - Amazon SageMaker AI

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Raccomandazioni sulle istanze per le distribuzioni di endpoint a più modelli

Ci sono diversi elementi da considerare quando si seleziona un tipo di istanza SageMaker AI ML per un endpoint multimodello:

  • Assegna una capacità sufficiente di Amazon Elastic Block Store (Amazon EBS) per tutti i modelli che devono essere serviti.

  • Bilancia le prestazioni (riduci al minimo gli avvii a freddo) e i costi (non sovraccaricare la capacità delle istanze). Per informazioni sulla dimensione del volume di archiviazione che SageMaker AI allega per ogni tipo di istanza per un endpoint e per un endpoint multimodello, consulta. Volumi di storage delle istanze

  • Per un container configurato per l'esecuzione in modalità MultiModel, il volume di storage assegnato per le sue istanze è più grande rispetto alla modalità predefinita SingleModel. Ciò consente di memorizzare nella cache più modelli nel volume di storage dell'istanza rispetto alla modalità SingleModel.

Quando scegli un tipo di istanza SageMaker AI ML, considera quanto segue:

  • Gli endpoint a più modelli sono attualmente supportati per tutti i tipi di istanze CPU e per i tipi di istanze a GPU singola.

  • Per la distribuzione del traffico (modelli di accesso) ai modelli da ospitare dietro l'endpoint a più modelli, insieme alla dimensione del modello (quanti modelli possono essere caricati in memoria sull'istanza) tieni a mente le seguenti informazioni:

    • Pensate alla quantità di memoria su un'istanza come spazio di cache per i modelli da caricare e al numero di v CPUs come limite di concorrenza per eseguire inferenze sui modelli caricati (supponendo che l'invocazione di un modello sia vincolata alla CPU).

    • Per le istanze basate su CPU, il numero di v CPUs influisce sul numero massimo di chiamate simultanee per istanza (supponendo che l'invocazione di un modello sia vincolata alla CPU). Una quantità maggiore di v CPUs consente di richiamare contemporaneamente più modelli unici.

    • Per le istanze supportate da GPU, una quantità maggiore di memoria dell'istanza e della GPU consente di avere più modelli caricati e pronti a servire le richieste di inferenza.

    • Sia per le istanze supportate dalla CPU che per quelle supportate dalla GPU è necessario avere un po' di memoria "slack" disponibile in modo che i modelli non utilizzati possano essere scaricati, soprattutto per gli endpoint a più modelli con più istanze. Se un'istanza o una zona di disponibilità non riesce, i modelli su tali istanze verranno reindirizzati ad altre istanze dietro l'endpoint.

  • Determinare la tolleranza dei tempi di carico/scarico:

    • Le famiglie di tipi di istanze d (ad esempio m5d, c5d o r5d) e g5s sono dotate di un'unità SSD NVMe (non volatile memory express), che offre prestazioni di I/O elevate e può ridurre il tempo necessario per scaricare i modelli nel volume di archiviazione e il contenitore per caricare il modello dal volume di archiviazione.

    • Poiché i tipi di istanze d e g5 sono dotati di uno storage NVMe SSD, SageMaker AI non collega un volume di storage Amazon EBS a queste istanze di calcolo ML che ospitano l'endpoint multimodello. Il dimensionamento automatico funziona meglio quando i modelli sono di dimensioni simili e omogenei, ovvero quando hanno requisiti di latenza di inferenza e risorse simili.

È inoltre possibile utilizzare le seguenti indicazioni per ottimizzare il caricamento dei modelli sugli endpoint a più modelli:

Scelta di un tipo di istanza che non può contenere tutti i modelli di destinazione in memoria

In alcuni casi, potresti scegliere di ridurre i costi scegliendo un tipo di istanza che non può contenere tutti i modelli di destinazione in memoria contemporaneamente. SageMaker L'intelligenza artificiale scarica dinamicamente i modelli quando esaurisce la memoria per fare spazio a un nuovo modello mirato. Per i modelli non richiesti di frequente, sacrifichi la latenza di carico dinamica. Nei casi con esigenze di latenza più severe, è possibile optare per tipi di istanza più grandi o per più istanze. Investire tempo in anticipo per i test e l'analisi delle prestazioni aiuta ad avere implementazioni di produzione di successo.

Valutare le visite alla cache del tuo modello

CloudWatch Le metriche di Amazon possono aiutarti a valutare i tuoi modelli. Per ulteriori informazioni sui parametri che puoi utilizzare con endpoint a più modelli, consulta CloudWatch Metriche per le implementazioni di endpoint multimodello .

Puoi utilizzare la statistica Average del parametro ModelCacheHit per monitorare il rapporto delle richieste in cui il modello è già caricato. Puoi utilizzare la statistica SampleCount per il parametro ModelUnloadingTime per monitorare il numero di richieste di scarico inviate al container in un periodo di tempo. Se i modelli vengono scaricati troppo frequentemente (un indicatore di thrashing in cui i modelli vengono scaricati e caricati di nuovo perché lo spazio nella cache è insufficiente per il set di lavoro di modelli), è consigliabile utilizzare un tipo di istanza più grande con più memoria o aumentare il numero di istanze dietro l'endpoint a più modelli. Per gli endpoint a più modelli con più istanze, tieni presente che un modello può essere caricato su più di 1 istanza.