Riduci al minimo la latenza di inferenza in tempo reale utilizzando le strategie di routing di Amazon SageMaker | Servizi Web di Amazon

Riduci al minimo la latenza di inferenza in tempo reale utilizzando le strategie di routing di Amazon SageMaker | Servizi Web di Amazon

Amazon Sage Maker semplifica l'implementazione di modelli di machine learning (ML) per l'inferenza in tempo reale e offre un'ampia selezione di istanze ML che abbracciano CPU e acceleratori come AWS Inferenza. Essendo un servizio completamente gestito, puoi ridimensionare le distribuzioni dei modelli, ridurre al minimo i costi di inferenza e gestire i modelli in modo più efficace in produzione con un carico operativo ridotto. Un endpoint di inferenza in tempo reale SageMaker è costituito da un endpoint HTTP e da istanze ML distribuite su più zone di disponibilità per un'elevata disponibilità. SageMaker ridimensionamento automatico dell'applicazione può regolare dinamicamente il numero di istanze ML fornite per un modello in risposta ai cambiamenti nel carico di lavoro. L'endpoint distribuisce in modo uniforme le richieste in entrata alle istanze ML utilizzando un algoritmo round robin.

Quando i modelli ML distribuiti sulle istanze ricevono chiamate API da un numero elevato di client, una distribuzione casuale delle richieste può funzionare molto bene quando non c'è molta variabilità nelle richieste e nelle risposte. Ma nei sistemi con carichi di lavoro di intelligenza artificiale generativa, le richieste e le risposte possono essere estremamente variabili. In questi casi, è spesso preferibile bilanciare il carico considerando la capacità e l'utilizzo dell'istanza anziché il bilanciamento del carico casuale.

In questo post, discutiamo della strategia di routing delle richieste meno eccezionali (LOR) di SageMaker e di come può ridurre al minimo la latenza per determinati tipi di carichi di lavoro di inferenza in tempo reale prendendo in considerazione la capacità e l'utilizzo delle istanze ML. Parliamo dei vantaggi rispetto al meccanismo di routing predefinito e di come abilitare LOR per le distribuzioni del modello. Infine, presentiamo un'analisi comparativa dei miglioramenti della latenza con LOR rispetto alla strategia di routing predefinita del routing casuale.

Strategia LOR di SageMaker

Per impostazione predefinita, gli endpoint SageMaker hanno una strategia di instradamento casuale. SageMaker ora supporta una strategia LOR, che consente a SageMaker di instradare in modo ottimale le richieste all'istanza più adatta a soddisfare tale richiesta. SageMaker rende tutto ciò possibile monitorando il carico delle istanze dietro l'endpoint e i modelli o i componenti di inferenza distribuiti su ciascuna istanza.

Il seguente diagramma interattivo mostra la policy di routing predefinita in cui le richieste che arrivano agli endpoint del modello vengono inoltrate in modo casuale alle istanze ML.

Riduci al minimo la latenza di inferenza in tempo reale utilizzando le strategie di routing di Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Il seguente diagramma interattivo mostra la strategia di routing in cui SageMaker instraderà la richiesta all'istanza che ha il minor numero di richieste in sospeso.

Riduci al minimo la latenza di inferenza in tempo reale utilizzando le strategie di routing di Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

In generale, il routing LOR funziona bene per i modelli fondamentali o i modelli di intelligenza artificiale generativa quando il modello risponde in centinaia di millisecondi o minuti. Se la risposta del tuo modello ha una latenza inferiore (fino a centinaia di millisecondi), potresti trarre maggiori vantaggi dal routing casuale. In ogni caso, ti consigliamo di testare e identificare il miglior algoritmo di routing per i tuoi carichi di lavoro.

Come impostare le strategie di routing di SageMaker

SageMaker ora ti consente di impostare il file RoutingStrategy parametro durante la creazione del file EndpointConfiguration per gli endpoint. Il diverso RoutingStrategy i valori supportati da SageMaker sono:

  • LEAST_OUTSTANDING_REQUESTS
  • RANDOM

Di seguito è riportato un esempio di distribuzione di un modello su un endpoint di inferenza con LOR abilitato:

  1. Creare la configurazione dell'endpoint impostando RoutingStrategy as LEAST_OUTSTANDING_REQUESTS:
    endpoint_config_response = sm_client.create_endpoint_config( EndpointConfigName=endpoint_config_name, ProductionVariants=[ { "VariantName": "variant1", "ModelName": model_name, "InstanceType": "instance_type", "InitialInstanceCount": initial_instance_count, ….. "RoutingConfig": { 'RoutingStrategy': 'LEAST_OUTSTANDING_REQUESTS'} }, ],
    )

  2. Crea l'endpoint utilizzando la configurazione dell'endpoint (nessuna modifica):
    create_endpoint_response = sm_client.create_endpoint( EndpointName="endpoint_name", EndpointConfigName="endpoint_config_name"
    )

Risultati delle prestazioni

Abbiamo eseguito un benchmarking delle prestazioni per misurare la latenza di inferenza end-to-end e il throughput del codegen2-7B modello ospitato su istanze ml.g5.24xl con routing predefinito ed endpoint di routing intelligente. Il modello CodeGen2 appartiene alla famiglia dei modelli linguistici autoregressivi e genera codice eseguibile quando vengono forniti suggerimenti in inglese.

Nella nostra analisi, abbiamo aumentato il numero di istanze ml.g5.24xl dietro ciascun endpoint per ogni esecuzione di test man mano che aumentava il numero di utenti simultanei, come mostrato nella tabella seguente.

Test Numero di utenti simultanei Numero di istanze
1 4 1
2 20 5
3 40 10
4 60 15
5 80 20

Abbiamo misurato la latenza P99 end-to-end per entrambi gli endpoint e abbiamo osservato un miglioramento della latenza del 4–33% quando il numero di istanze è stato aumentato da 5 a 20, come mostrato nel grafico seguente.

Riduci al minimo la latenza di inferenza in tempo reale utilizzando le strategie di routing di Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Allo stesso modo, abbiamo osservato un miglioramento del 15-16% nel throughput al minuto per istanza quando il numero di istanze è passato da 5 a 20.

Riduci al minimo la latenza di inferenza in tempo reale utilizzando le strategie di routing di Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Ciò dimostra che il routing intelligente è in grado di migliorare la distribuzione del traffico tra gli endpoint, portando a miglioramenti nella latenza end-to-end e nel throughput complessivo.

Conclusione

In questo post abbiamo spiegato le strategie di routing di SageMaker e la nuova opzione per abilitare il routing LOR. Abbiamo spiegato come abilitare LOR e come può apportare vantaggi alle distribuzioni del tuo modello. I nostri test sulle prestazioni hanno mostrato miglioramenti in termini di latenza e throughput durante l'inferenza in tempo reale. Per ulteriori informazioni sulle funzionalità di routing di SageMaker, fare riferimento a documentazione. Ti invitiamo a valutare i tuoi carichi di lavoro di inferenza e a determinare se sei configurato in modo ottimale con la strategia di routing.


Informazioni sugli autori

Riduci al minimo la latenza di inferenza in tempo reale utilizzando le strategie di routing di Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.James Park è un Solutions Architect presso Amazon Web Services. Lavora con Amazon.com per progettare, costruire e distribuire soluzioni tecnologiche su AWS e ha un interesse particolare per l'intelligenza artificiale e l'apprendimento automatico. Nel tempo libero gli piace scoprire nuove culture, nuove esperienze e rimanere aggiornato sulle ultime tendenze tecnologiche. Lo puoi trovare su LinkedIn.

Riduci al minimo la latenza di inferenza in tempo reale utilizzando le strategie di routing di Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Venugopale Pai è un Solutions Architect presso AWS. Vive a Bangalore, in India, e aiuta i clienti nativi digitali a scalare e ottimizzare le loro applicazioni su AWS.

Riduci al minimo la latenza di inferenza in tempo reale utilizzando le strategie di routing di Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Davide Nigenda è un Senior Software Development Engineer nel team di Amazon SageMaker, che attualmente lavora per migliorare i flussi di lavoro di machine learning di produzione, oltre a lanciare nuove funzionalità di inferenza. Nel tempo libero cerca di stare al passo con i suoi figli.

Riduci al minimo la latenza di inferenza in tempo reale utilizzando le strategie di routing di Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Deepti Ragha è un ingegnere di sviluppo software nel team di Amazon SageMaker. Il suo attuale lavoro si concentra sulla creazione di funzionalità per ospitare modelli di machine learning in modo efficiente. Nel tempo libero le piace viaggiare, fare escursioni e coltivare piante.

Alan TanAlan Tan è un Senior Product Manager di SageMaker, che guida gli sforzi sull'inferenza di modelli di grandi dimensioni. È appassionato di applicare l'apprendimento automatico all'area dell'analisi. Al di fuori del lavoro, ama la vita all'aria aperta.

Riduci al minimo la latenza di inferenza in tempo reale utilizzando le strategie di routing di Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Dhawal Patel è un Principal Machine Learning Architect presso AWS. Ha lavorato con organizzazioni che vanno dalle grandi imprese alle startup di medie dimensioni su problemi legati all'informatica distribuita e all'intelligenza artificiale. Si concentra sull'apprendimento profondo, inclusi i domini della PNL e della visione artificiale. Aiuta i clienti a ottenere l'inferenza del modello ad alte prestazioni su SageMaker.

Timestamp:

Di più da Apprendimento automatico di AWS