Come Amazon Music utilizza SageMaker con NVIDIA per ottimizzare le prestazioni e i costi di addestramento e inferenza dell’IA

Amazon Music ottimizza le prestazioni e i costi di addestramento e inferenza dell'IA con SageMaker di NVIDIA

Nel dinamico mondo dello streaming su Amazon Music, ogni ricerca di una canzone, un podcast o una playlist racchiude una storia, un’atmosfera o un’onda di emozioni pronte a essere scoperte. Queste ricerche sono un gateway verso nuove scoperte, esperienze preziose e ricordi duraturi. La barra di ricerca non si tratta solo di trovare una canzone; si tratta dei milioni di utenti attivi che iniziano il loro viaggio personale nel ricco e variegato mondo che Amazon Music ha da offrire.

Offrire un’esperienza superiore ai clienti per trovare istantaneamente la musica che cercano richiede una piattaforma intelligente e reattiva. Amazon Music utilizza il potere dell’IA per raggiungere questo obiettivo. Tuttavia, ottimizzare l’esperienza del cliente gestendo i costi di addestramento e inferenza dei modelli di intelligenza artificiale che alimentano le capacità della barra di ricerca, come il controllo ortografico in tempo reale e la ricerca vettoriale, è difficile durante i periodi di traffico intenso.

Amazon SageMaker fornisce un set completo di servizi che consentono ad Amazon Music di costruire, addestrare e distribuire con un minimo sforzo nel cloud AWS. Occupandosi della parte più pesante e non differenziata, SageMaker consente di concentrarsi sul lavoro sui modelli di apprendimento automatico (ML) e di non preoccuparsi di questioni come l’infrastruttura. Come parte del modello di responsabilità condivisa, SageMaker si assicura che i servizi che forniscono siano affidabili, performanti e scalabili, mentre ci si preoccupa di utilizzare al meglio le capacità offerte da SageMaker nell’applicazione dei modelli di ML.

In questo articolo, analizziamo il percorso intrapreso da Amazon Music per ottimizzare le prestazioni e i costi utilizzando SageMaker, NVIDIA Triton Inference Server e TensorRT. Approfondiamo il funzionamento di quella apparentemente semplice, ma intricata, barra di ricerca, garantendo un viaggio ininterrotto nell’universo di Amazon Music con ritardi di battitura frustranti e risultati di ricerca in tempo reale rilevanti o nulli.

Amazon SageMaker e NVIDIA: Offrire capacità di ricerca vettoriale rapida e accurata e controllo ortografico

Amazon Music offre una vasta libreria di oltre 100 milioni di canzoni e milioni di episodi di podcast. Tuttavia, trovare la canzone o il podcast giusto può essere impegnativo, specialmente se non si conosce il titolo esatto, l’artista o il nome dell’album, o se la query di ricerca è molto ampia, come “podcast di notizie”.

Amazon Music ha adottato un approccio a due punte per migliorare il processo di ricerca e recupero. Il primo passo consiste nell’introdurre la ricerca vettoriale (nota anche come recupero basato sull’incorporamento), una tecnica di intelligenza artificiale che può aiutare gli utenti a trovare i contenuti più rilevanti cercati utilizzando la semantica del contenuto. Il secondo passo prevede l’introduzione di un modello di correzione ortografica basato su un Transformer nello stack di ricerca. Questo può essere particolarmente utile nella ricerca di musica, perché gli utenti potrebbero non sempre conoscere l’ortografia esatta di un titolo di una canzone o il nome di un artista. La correzione ortografica può aiutare gli utenti a trovare la musica che cercano anche se commettono un errore di ortografia nella loro query di ricerca.

L’introduzione di modelli Transformer in un sistema di ricerca e recupero (nella generazione di embedding di query necessari per la ricerca vettoriale e nel modello Transformer generativo Seq2Seq nella correzione ortografica) può comportare un notevole aumento della latenza complessiva, che influisce negativamente sull’esperienza del cliente. Pertanto, è diventata una priorità assoluta per noi ottimizzare la latenza di inferenza in tempo reale per i modelli di ricerca vettoriale e correzione ortografica.

Amazon Music e NVIDIA si sono unite per offrire la migliore esperienza possibile agli utenti della barra di ricerca, utilizzando SageMaker per implementare capacità di controllo ortografico veloci e precise e suggerimenti di ricerca semantica in tempo reale mediante tecniche di ricerca vettoriale. La soluzione include l’utilizzo di SageMaker hosting con GPU NVIDIA A10G Tensor Core, il contenitore di NVIDIA Triton Inference Server supportato da SageMaker e il formato del modello NVIDIA TensorRT. Riducendo la latenza di inferenza del modello di controllo ortografico a 25 millisecondi durante il traffico di picco e riducendo la latenza di generazione dell’embedding di query di ricerca in media del 63% e il costo del 73% rispetto all’inferenza basata su CPU, Amazon Music ha migliorato le prestazioni della barra di ricerca.

Inoltre, durante l’addestramento del modello di intelligenza artificiale per fornire risultati accurati, Amazon Music ha ottenuto una sorprendente accelerazione di 12 volte nel tempo di addestramento del loro modello transformer BART per la correzione ortografica, risparmiando tempo e denaro ottimizzando l’utilizzo delle GPU.

Amazon Music ha collaborato con NVIDIA per dare priorità all’esperienza di ricerca dei clienti e creare una barra di ricerca con funzionalità di controllo ortografico e ricerca vettoriale ottimizzate. Nelle sezioni seguenti, condivideremo ulteriori dettagli su come sono state orchestrate queste ottimizzazioni.

Ottimizzare la formazione con le GPU NVIDIA Tensor Core

Avere accesso a una GPU NVIDIA Tensor Core per la formazione di modelli di linguaggio di grandi dimensioni non è sufficiente per coglierne appieno il potenziale. Durante la formazione, ci sono passaggi di ottimizzazione chiave che devono essere effettuati al fine di massimizzare l’utilizzo della GPU. Tuttavia, una GPU sottoutilizzata inevitabilmente comporterà un uso inefficiente delle risorse, tempi di formazione prolungati e costi operativi aumentati.

Nelle fasi iniziali della formazione del correttore ortografico BART (bart-base) sul modello trasformatore di un’istanza SageMaker ml.p3.24xlarge (8 GPU NVIDIA V100 Tensor Core), l’utilizzo della GPU di Amazon Music era del 35%. Per massimizzare i vantaggi della formazione accelerata dalla GPU NVIDIA, AWS e gli architetti delle soluzioni NVIDIA hanno supportato Amazon Music nell’individuazione delle aree da ottimizzare, in particolare per quanto riguarda le dimensioni del batch e i parametri di precisione. Questi due parametri cruciali influenzano l’efficienza, la velocità e l’accuratezza della formazione dei modelli di apprendimento approfondito.

Le ottimizzazioni risultanti hanno comportato un utilizzo della GPU V100 nuovo e migliorato, costante intorno all’89%, riducendo drasticamente il tempo di formazione di Amazon Music da 3 giorni a 5-6 ore. Passando dalle dimensioni del batch da 32 a 256 e utilizzando tecniche di ottimizzazione come l’esecuzione dell’addestramento con precisione mista automatizzata anziché utilizzare solo la precisione FP32, Amazon Music è riuscita a risparmiare sia tempo che denaro.

Nel grafico seguente è illustrato l’aumento del 54% nell’utilizzo della GPU dopo le ottimizzazioni.

Nella figura seguente è illustrato l’accelerazione nel tempo di formazione.

Questo aumento delle dimensioni del batch ha consentito alla GPU NVIDIA di elaborare contemporaneamente un volume significativamente maggiore di dati su più Tensor Core, riducendo così il tempo di formazione. Tuttavia, è importante mantenere un equilibrio delicato con la memoria, poiché dimensioni del batch più grandi richiedono più memoria. Aumentare le dimensioni del batch e utilizzare la precisione mista possono essere entrambi fondamentali per sbloccare il potere delle GPU NVIDIA Tensor Core.

Dopo aver addestrato il modello fino alla convergenza, era il momento di ottimizzare il deployment dell’inferezza sulla barra di ricerca di Amazon Music.

Correzione delle parole: modello di inferenza BART

Grazie all’aiuto delle istanze SageMaker G5 e del server di inferenza NVIDIA Triton (un software di servizio di inferenza open source), nonché di NVIDIA TensorRT, un SDK per l’inferezza di apprendimento approfondito ad alte prestazioni che include un ottimizzatore di inferenza e un runtime, Amazon Music limita la latenza di inferenza del server del proprio modello di correzione delle parole BART (bart-base) a soli 25 millisecondi in caso di picco di traffico. Questo include gli overhead come il bilanciamento del carico, la preparazione dei dati, l’inferezza del modello e i tempi di post-elaborazione.

NVIDIA Triton Inference Server fornisce due tipi di backend: uno per l’hosting dei modelli su GPU e un backend Python in cui è possibile utilizzare il proprio codice personalizzato per i passaggi di preparazione dei dati e post-elaborazione. La figura seguente illustra lo schema dell’insieme di modelli.

Amazon Music ha costruito il proprio pipeline di inferenza BART eseguendo sia i passaggi di preparazione dei dati (tokenizzazione del testo) che di post-elaborazione (token in testo) su CPU, mentre il passaggio di esecuzione del modello viene eseguito sulle GPU NVIDIA A10G Tensor Core. Un backend Python si trova nell’interfaccia tra i passaggi di preparazione dei dati e di post-elaborazione ed è responsabile della comunicazione con i modelli BART convertiti in TensorRT così come con le reti encoder/decoder. TensorRT aumenta le prestazioni di inferenza con la calibrazione di precisione, la fusione di layer e tensori, l’auto-tuning dei kernel, la memoria tensoriale dinamica, l’esecuzione multi-stream e la fusione temporale.

La seguente figura illustra il design di alto livello dei moduli chiave che compongono il pipeline di inferenza del modello BART correttore di ortografia.

Ricerca vettoriale: Generazione di embedding delle query inferenza del modello Sentence BERT

Il seguente grafico illustra il miglioramento del 60% nella latenza (serving p90 800-900 TPS) quando si utilizza la piattaforma di inferenza AI di NVIDIA rispetto a un modello di base basato su CPU.

Il seguente grafico mostra un miglioramento del 70% dei costi quando si utilizza la piattaforma di inferenza AI di NVIDIA rispetto a un modello di base basato su CPU.

La seguente figura illustra un SDK per l’inferenza di deep learning ad alte prestazioni. Include un’ottimizzazione dell’inferenza di deep learning e un runtime che offre bassa latenza e alto throughput per applicazioni di inferenza.

Per ottenere questi risultati, Amazon Music ha sperimentato diversi parametri di distribuzione di Triton utilizzando Triton Model Analyzer, uno strumento che aiuta a trovare la migliore configurazione del modello NVIDIA Triton per un’implementazione efficiente dell’inferenza. Per ottimizzare l’inferenza del modello, Triton offre funzionalità come il batching dinamico e l’esecuzione del modello concorrente, e supporta inoltre altre capacità di flessibilità. Il batching dinamico raccoglie le richieste di inferenza, raggruppandole in modo trasparente in coorti al fine di massimizzare il throughput, garantendo al contempo risposte in tempo reale per gli utenti di Amazon Music. La capacità di esecuzione concorrente del modello migliora ulteriormente le prestazioni dell’inferenza ospitando copie multiple del modello sulla stessa GPU. Infine, utilizzando Triton Model Analyzer, Amazon Music è stato in grado di ottimizzare attentamente il batching dinamico e i parametri di hosting dell’inferenza del modello concorrente per trovare impostazioni ottimali che massimizzano le prestazioni dell’inferenza utilizzando il traffico simulato.

Conclusione

Ottimizzando le configurazioni con Triton Inference Server e TensorRT su SageMaker, Amazon Music ha ottenuto risultati eccezionali sia per la fase di training che per quella di inferenza. La piattaforma di SageMaker è la piattaforma aperta end-to-end per l’AI in produzione, che offre un rapido time to value e la versatilità per supportare tutti i principali casi d’uso dell’AI su hardware e software. Ottimizzando l’utilizzo della GPU V100 per il training e passando dalle CPU alle istanze G5 con GPU NVIDIA A10G Tensor Core, così come utilizzando software NVIDIA ottimizzato come Triton Inference Server e TensorRT, aziende come Amazon Music possono risparmiare tempo e denaro e migliorare le prestazioni sia per il training che per l’inferenza, traducendosi direttamente in un’esperienza migliore per il cliente e costi operativi inferiori.

SageMaker gestisce il carico di lavoro non differenziato per il training e l’hosting di ML, consentendo ad Amazon Music di offrire operazioni di ML affidabili e scalabili su hardware e software.

Vi incoraggiamo a verificare che i vostri carichi di lavoro siano ottimizzati utilizzando SageMaker valutando sempre le scelte hardware e software per vedere se ci sono modi per ottenere migliori prestazioni con costi ridotti.

Per saperne di più sull’IA NVIDIA in AWS, consulta i seguenti link: