In che modo Amazon Search ottiene un'inferenza T5 a bassa latenza e throughput elevato con NVIDIA Triton su AWS PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

In che modo Amazon Search raggiunge l'inferenza T5 a bassa latenza e alta velocità con NVIDIA Triton su AWS

La visione di Amazon Search è quella di consentire ai clienti di effettuare ricerche senza sforzo. La nostra correzione ortografica ti aiuta a trovare ciò che desideri anche se non conosci l'ortografia esatta delle parole desiderate. In passato, utilizzavamo gli algoritmi di machine learning (ML) classici con l'ingegneria manuale delle funzionalità per la correzione dell'ortografia. Per fare il prossimo salto generazionale nelle prestazioni di correzione ortografica, stiamo adottando una serie di approcci di deep learning, inclusi i modelli da sequenza a sequenza. I modelli di deep learning (DL) sono ad alta intensità di calcolo sia per l'addestramento che per l'inferenza e questi costi hanno storicamente reso i modelli DL poco pratici in un ambiente di produzione su scala Amazon. In questo post, presentiamo i risultati di una sperimentazione di ottimizzazione dell'inferenza in cui superiamo quegli ostacoli e otteniamo un aumento di velocità dell'inferenza del 534% per il popolare trasformatore Hugging Face T5.

La sfida

Il trasformatore di trasferimento da testo a testo (T5, Esplorare i limiti del trasferimento di apprendimento con un trasformatore di testo unificato, Reffel et al) è l'architettura del modello di elaborazione del linguaggio naturale (NLP) all'avanguardia. T5 è un'architettura promettente per la correzione dell'ortografia, che abbiamo riscontrato funzionare bene nei nostri esperimenti. I modelli T5 sono facili da ricercare, sviluppare e addestrare, grazie a framework di deep learning open source e alla ricerca accademica e aziendale in corso.

Tuttavia, è difficile ottenere un'inferenza di livello produttivo e a bassa latenza con un T5. Ad esempio, una singola inferenza con un PyTorch T5 impiega 45 millisecondi su una delle quattro GPU NVIDIA V100 Tensor Core che equipaggiano un'istanza p2xlarge di Amazon Elastic Compute Cloud (EC3.8). (Tutti i numeri di inferenza riportati si riferiscono a un input di 9 token e un output di 11 token. La latenza delle architetture T5 è sensibile alle lunghezze di input e output.)

L'inferenza T5 a bassa latenza ed efficiente in termini di costi su larga scala è una difficoltà nota segnalata da diversi clienti AWS oltre ad Amazon Search, il che aumenta la nostra motivazione a contribuire con questo post. Per passare da un risultato scientifico offline a un servizio di produzione rivolto al cliente, Amazon Search deve affrontare le seguenti sfide:

  • Latenza – Come realizzare l'inferenza T5 con una latenza P50 inferiore a 99 millisecondi
  • Throughput – Come gestire richieste di inferenza simultanee su larga scala
  • Efficienza dei costi – Come tenere sotto controllo i costi

Nel resto di questo post, spieghiamo come si accumula l'ottimizzazione dell'inferenza NVIDIA, ovvero il NVIDIA TensorRT compilatore e open source Server di inferenza NVIDIA Triton—risolve queste sfide. Leggere Il comunicato stampa di NVIDIA per conoscere gli aggiornamenti.

NVIDIA TensorRT: riduzione dei costi e della latenza con l'ottimizzazione dell'inferenza

I framework di deep learning sono utili per eseguire rapidamente iterazioni sulla scienza e sono dotati di numerose funzionalità per la modellazione scientifica, il caricamento dei dati e l'ottimizzazione della formazione. Tuttavia, la maggior parte di questi strumenti non è ottimale per l'inferenza, che richiede solo un insieme minimo di operatori per la moltiplicazione di matrici e le funzioni di attivazione. Pertanto, è possibile ottenere vantaggi significativi utilizzando un'applicazione specializzata di sola previsione invece di eseguire l'inferenza nel framework di sviluppo del deep learning.

NVIDIA TensorRT è un SDK per l'inferenza di deep learning ad alte prestazioni. TensorRT offre sia un runtime ottimizzato, utilizzando kernel ottimizzati di basso livello disponibili sulle GPU NVIDIA, sia un grafico del modello di sola inferenza, che riorganizza il calcolo dell'inferenza in un ordine ottimizzato.

Nella sezione seguente, parleremo dei dettagli che si verificano dietro TensorRT e di come velocizza le prestazioni.

In che modo Amazon Search ottiene un'inferenza T5 a bassa latenza e throughput elevato con NVIDIA Triton su AWS PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

  1. Precisione ridotta massimizza il throughput con FP16 o INT8 quantizzando i modelli mantenendo la correttezza.
  2. Fusione di strati e tensori ottimizza l'uso della memoria e della larghezza di banda della GPU fondendo i nodi in un kernel per evitare la latenza di avvio del kernel.
  3. Regolazione automatica del kernel seleziona i migliori livelli di dati e algoritmi in base alla piattaforma GPU di destinazione e alle forme del kernel di dati.
  4. Memoria tensoriale dinamica riduce al minimo l'ingombro della memoria liberando il consumo di memoria non necessario dei risultati intermedi e riutilizza la memoria per i tensori in modo efficiente.
  5. Esecuzione multi-stream utilizza un design scalabile per elaborare più flussi di input in parallelo con flussi CUDA dedicati.
  6. Fusione del tempo ottimizza le reti neurali ricorrenti in fasi temporali con kernel generati dinamicamente.

T5 utilizza strati di trasformatore come elementi costitutivi per le sue architetture. L'ultima versione di NVIDIA TensorRT 8.2 introduce nuove ottimizzazioni per i modelli T5 e GPT-2 per l'inferenza in tempo reale. Nella tabella seguente, possiamo vedere l'accelerazione con TensorRT su alcuni modelli T5 pubblici in esecuzione su istanze Amazon EC2G4dn, alimentate da GPU NVIDIA T4 e istanze EC2 G5, alimentate da GPU NVIDIA A10G.

 

Modello Instance Latenza Pytorch di base (ms) TensorRT 8.2 Latenza (ms) Accelerazione rispetto alla linea di base HF
FP32 FP32 FP16 FP32 FP16
Codificatore decoder Da un capo all'altro Codificatore decoder Da un capo all'altro Codificatore decoder Da un capo all'altro Da un capo all'altro Da un capo all'altro
t5-piccolo g4dn.xlarge 5.98 9.74 30.71 1.28 2.25 7.54 0.93 1.59 5.91 407.40% 519.34%
g5.xgrande 4.63 7.56 24.22 0.61 1.05 3.99 0.47 0.80 3.19 606.66% 760.01%
base t5 g4dn.xlarge 11.61 19.05 78.44 3.18 5.45 19.59 3.15 2.96 13.76 400.48% 569.97%
g5.xgrande 8.59 14.23 59.98 1.55 2.47 11.32 1.54 1.65 8.46 530.05% 709.20%

Per ulteriori informazioni sulle ottimizzazioni e sulla replica delle prestazioni allegate, fare riferimento a Ottimizzazione di T5 e GPT-2 per l'inferenza in tempo reale con NVIDIA TensorRT.

È importante notare che la compilazione preserva l'accuratezza del modello, poiché opera sull'ambiente di inferenza e sulla pianificazione del calcolo, lasciando inalterata la scienza del modello, a differenza della compressione della rimozione del peso come la distillazione o la potatura. NVIDIA TensorRT consente di combinare la compilazione con la quantizzazione per ulteriori guadagni. La quantizzazione presenta doppi vantaggi sul recente hardware NVIDIA: riduce l'utilizzo della memoria e consente l'uso di NVIDIA Tensor Core, celle specifiche per DL che eseguono una matrice fusa-moltiplica-addizione con precisione mista.

Nel caso della sperimentazione di Amazon Search con il modello Hugging Face T5, la sostituzione di PyTorch con TensorRT per l'inferenza del modello aumenta la velocità del 534%.

NVIDIA Triton: servizio di inferenza a bassa latenza e throughput elevato

Le moderne soluzioni di model serving possono trasformare i modelli addestrati offline in prodotti basati su ML rivolti ai clienti. Per mantenere costi ragionevoli su tale scala, è importante mantenere bassi i costi generali (gestione HTTP, preelaborazione e postelaborazione, comunicazione CPU-GPU) e sfruttare appieno la capacità di elaborazione parallela delle GPU.

NVIDIA Triton è un software di servizio di inferenza che propone un ampio supporto di modelli di runtime (NVIDIA TensorRT, ONNX, PyTorch, XGBoost tra gli altri) e backend di infrastruttura, tra cui GPU, CPU e AWS Inferenza.

I praticanti di ML amano Triton per molteplici ragioni. La sua capacità di batching dinamico consente di accumulare richieste di inferenza durante un ritardo definito dall'utente e all'interno di una dimensione batch massima definita dall'utente, in modo che l'inferenza della GPU venga batch, ammortizzando il sovraccarico di comunicazione CPU-GPU. Si noti che il batch dinamico avviene sul lato server e in tempi molto brevi, in modo che il client richiedente abbia ancora un'esperienza di chiamata sincrona, quasi in tempo reale. Gli utenti di Triton apprezzano anche la sua capacità di esecuzione del modello simultaneo. Le GPU sono potenti multitasker che eccellono nell'esecuzione in parallelo di carichi di lavoro ad alta intensità di calcolo. Triton massimizza l'utilizzo e il throughput della GPU utilizzando i flussi CUDA per eseguire più istanze del modello contemporaneamente. Queste istanze del modello possono essere modelli diversi di framework diversi per casi d'uso diversi o una copia diretta dello stesso modello. Ciò si traduce in un miglioramento diretto del throughput quando si dispone di memoria GPU inattiva sufficiente. Inoltre, poiché Triton non è legato a un framework di sviluppo DL specifico, consente allo scienziato di esprimersi pienamente, nello strumento di sua scelta.

Con Triton su AWS, Amazon Search prevede di offrire un servizio migliore Amazon.com clienti e soddisfare i requisiti di latenza a basso costo. La stretta integrazione tra il runtime TensorRT e il server Triton facilita l'esperienza di sviluppo. L'utilizzo dell'infrastruttura cloud di AWS consente di aumentare o diminuire in pochi minuti in base ai requisiti di throughput, mantenendo il livello elevato di affidabilità e sicurezza.

Come AWS abbassa la barriera all'ingresso

Sebbene Amazon Search abbia condotto questo esperimento sull'infrastruttura Amazon EC2, esistono altri servizi AWS per facilitare lo sviluppo, la formazione e l'hosting di soluzioni di deep learning all'avanguardia.

Ad esempio, AWS e NVIDIA hanno collaborato per rilasciare un'implementazione gestita di Triton Inference Server in Amazon Sage Maker ; Per ulteriori informazioni, vedere Distribuisci intelligenza artificiale veloce e scalabile con NVIDIA Triton Inference Server in Amazon SageMaker. AWS ha inoltre collaborato con Hugging Face per sviluppare un'integrazione gestita e ottimizzata tra Amazon SageMaker e Hugging Face Transformers, il framework open source da cui deriva il modello Amazon Search T5; leggi di più su https://aws.amazon.com/machine-learning/hugging-face/.

Incoraggiamo i clienti con applicazioni di deep learning per CPU e GPU sensibili alla latenza a prendere in considerazione NVIDIA TensorRT e Triton su AWS. Facci sapere cosa costruisci!

Appassionato di deep learning e creazione di soluzioni basate su deep learning per Amazon Search? Dai un'occhiata al nostro pagina delle carriere.


Informazioni sugli autori

In che modo Amazon Search ottiene un'inferenza T5 a bassa latenza e throughput elevato con NVIDIA Triton su AWS PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.RJ è un ingegnere nel team di Search M5 che guida gli sforzi per la creazione di sistemi di deep learning su larga scala per l'addestramento e l'inferenza. Al di fuori del lavoro esplora diverse cucine del cibo e pratica sport con la racchetta.

In che modo Amazon Search ottiene un'inferenza T5 a bassa latenza e throughput elevato con NVIDIA Triton su AWS PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Hemant Pugaliya è uno scienziato applicato alla ricerca M5. Lavora sull'applicazione della più recente elaborazione del linguaggio naturale e sulla ricerca di deep learning per migliorare l'esperienza dei clienti sugli acquisti su Amazon in tutto il mondo. I suoi interessi di ricerca includono l'elaborazione del linguaggio naturale e sistemi di apprendimento automatico su larga scala. Al di fuori del lavoro, gli piace fare escursioni, cucinare e leggere.

In che modo Amazon Search ottiene un'inferenza T5 a bassa latenza e throughput elevato con NVIDIA Triton su AWS PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Andy Sole è un ingegnere del software e responsabile tecnico per la correzione ortografica della ricerca. I suoi interessi di ricerca includono l'ottimizzazione della latenza di inferenza del deep learning e la creazione di piattaforme di sperimentazione rapida. Al di fuori del lavoro, ama il cinema e le acrobazie.

In che modo Amazon Search ottiene un'inferenza T5 a bassa latenza e throughput elevato con NVIDIA Triton su AWS PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Le Cai è un software engineer presso Amazon Search. Lavora per migliorare le prestazioni della correzione ortografica della ricerca per aiutare i clienti con la loro esperienza di acquisto. Si sta concentrando sull'inferenza online ad alte prestazioni e sull'ottimizzazione della formazione distribuita per il modello di deep learning. Al di fuori del lavoro, gli piace sciare, fare escursioni a piedi e andare in bicicletta.

In che modo Amazon Search ottiene un'inferenza T5 a bassa latenza e throughput elevato con NVIDIA Triton su AWS PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Antonio Ko attualmente lavora come ingegnere del software presso Search M5 Palo Alto, CA. Lavora alla creazione di strumenti e prodotti per l'implementazione di modelli e l'ottimizzazione dell'inferenza. Al di fuori del lavoro, gli piace cucinare e praticare sport con la racchetta.

In che modo Amazon Search ottiene un'inferenza T5 a bassa latenza e throughput elevato con NVIDIA Triton su AWS PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Olivier Cruchant è un Machine Learning Specialist Solutions Architect presso AWS, con sede in Francia. Olivier aiuta i clienti AWS, dalle piccole startup alle grandi imprese, a sviluppare e distribuire applicazioni di machine learning di livello produttivo. Nel tempo libero, gli piace leggere documenti di ricerca ed esplorare la natura selvaggia con amici e familiari.

In che modo Amazon Search ottiene un'inferenza T5 a bassa latenza e throughput elevato con NVIDIA Triton su AWS PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Anish Mohan è un architetto di machine learning presso NVIDIA e responsabile tecnico per gli impegni ML e DL con i suoi clienti nella regione di Seattle.

In che modo Amazon Search ottiene un'inferenza T5 a bassa latenza e throughput elevato con NVIDIA Triton su AWS PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Jiahong Liu è un Solution Architect nel team di Cloud Service Provider di NVIDIA. Assiste i clienti nell'adozione di soluzioni di apprendimento automatico e intelligenza artificiale che sfruttano l'informatica accelerata NVIDIA per affrontare le loro sfide di formazione e inferenza. Nel tempo libero ama gli origami, i progetti fai-da-te e gioca a basket.

In che modo Amazon Search ottiene un'inferenza T5 a bassa latenza e throughput elevato con NVIDIA Triton su AWS PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Eliuth Triana è un Developer Relations Manager presso NVIDIA. Collega i leader di prodotto, gli sviluppatori e gli scienziati di Amazon e AWS con i tecnologi e i leader di prodotto di NVIDIA per accelerare i carichi di lavoro Amazon ML/DL, i prodotti EC2 e i servizi di intelligenza artificiale di AWS. Inoltre, Eliuth è un appassionato di mountain bike, sciatore e giocatore di poker.

Timestamp:

Di più da Apprendimento automatico di AWS