tecnologia

Il supporto Multi-LoRA è ora disponibile nel toolkit Nvidia RTX AI



Indirizzo copiato

L’ultimo aggiornamento offre prestazioni fino a 6 volte più veloci utilizzando LLM ottimizzati su PC e workstation RTX AI

Pubblicato il 28 ago 2024



Nvidia

Il supporto Multi-LoRA è ora disponibile nel toolkit Nvidia RTX AI. L’ultimo aggiornamento offre prestazioni fino a 6 volte più veloci utilizzando LLM ottimizzati su PC e workstation RTX AI.

I modelli di linguaggio di grandi dimensioni stanno guidando alcuni degli sviluppi più entusiasmanti dell’AI con la loro capacità di comprendere, riassumere e generare rapidamente contenuti basati su testo. Queste capacità alimentano una varietà di casi d’uso, tra cui strumenti di produttività, assistenti digitali, personaggi non giocanti nei videogiochi e altro ancora. Tuttavia, non sono una soluzione universale, e gli sviluppatori spesso devono ottimizzare i LLM per adattarli alle esigenze delle loro applicazioni.

Il toolkit Nvidia RTX AI

Il toolkit Nvidia RTX AI rende facile ottimizzare e distribuire modelli di IA su PC e workstation RTX AI attraverso una tecnica chiamata adattamento a basso rank, o LoRA. Un nuovo aggiornamento, disponibile oggi, consente il supporto per l’uso simultaneo di più adattatori LoRA all’interno della libreria di accelerazione AI Nvidia TensorRT-LLM, migliorando le prestazioni dei modelli ottimizzati fino a 6 volte.

Ottimizzato per le prestazioni i LLM devono essere accuratamente personalizzati per ottenere prestazioni superiori e soddisfare le crescenti esigenze degli utenti. Questi modelli fondamentali sono addestrati su enormi quantità di dati ma spesso mancano del contesto necessario per il caso d’uso specifico di uno sviluppatore. Ad esempio, un LLM generico può creare dialoghi per videogiochi, ma probabilmente mancherà della sfumatura e della sottigliezza necessarie per scrivere nello stile di un elfo dei boschi con un passato oscuro e un disprezzo appena celato per l’autorità.

Per ottenere output più mirati, gli sviluppatori possono ottimizzare il modello con informazioni relative al caso d’uso dell’app. Prendiamo l’esempio dello sviluppo di un’app per generare dialoghi in-game utilizzando un LLM. Il processo di ottimizzazione inizia utilizzando i pesi di un modello pre-addestrato, come le informazioni su ciò che un personaggio potrebbe dire nel gioco. Per ottenere il dialogo nello stile giusto, uno sviluppatore può ottimizzare il modello su un dataset più piccolo di esempi, come dialoghi scritti in un tono più spettrale o malvagio.

In alcuni casi, gli sviluppatori possono voler eseguire tutti questi diversi processi di ottimizzazione contemporaneamente. Ad esempio, potrebbero voler generare testi di marketing scritti in diverse voci per vari canali di contenuto. Allo stesso tempo, potrebbero voler riassumere un documento e fare suggerimenti stilistici, oltre a redigere una descrizione di una scena di un videogioco e un prompt di immagine per un generatore di testo a immagine.

Non è pratico eseguire più modelli contemporaneamente, poiché non tutti si adatterebbero alla memoria della GPU allo stesso tempo. Anche se lo facessero, il loro tempo di inferenza sarebbe influenzato dalla larghezza di banda della memoria, cioè dalla velocità con cui i dati possono essere letti dalla memoria nelle GPU.

Cosa si può ottenere con LoRA

Un modo popolare per affrontare questi problemi è utilizzare tecniche di ottimizzazione come l’adattamento a basso rank (LoRA). Un modo semplice di pensarci è come un file di patch contenente le personalizzazioni del processo di ottimizzazione. Una volta addestrati, gli adattatori LoRA personalizzati possono integrarsi senza problemi con il modello di base durante l’inferenza, aggiungendo un sovraccarico minimo. Gli sviluppatori possono collegare gli adattatori a un singolo modello per servire più casi d’uso. Questo mantiene l’impronta di memoria bassa pur fornendo i dettagli aggiuntivi necessari per ciascun caso d’uso specifico.

In pratica, ciò significa che un’app può mantenere una sola copia del modello di base in memoria, insieme a molte personalizzazioni utilizzando più adattatori LoRA. Questo processo è chiamato multi-LoRA serving. Quando vengono effettuate più chiamate al modello, la GPU può elaborare tutte le chiamate in parallelo, massimizzando l’uso dei suoi Tensor Core e minimizzando le richieste di memoria e larghezza di banda, consentendo agli sviluppatori di utilizzare in modo efficiente i modelli di AI nei loro flussi di lavoro. I modelli ottimizzati utilizzando adattatori multi-LoRA funzionano fino a 6 volte più velocemente.

Prestazioni di inferenza LLM su GPU desktop GeForce RTX 4090 per Llama 3B int4 con adattatori LoRA applicati in tempo reale. La lunghezza della sequenza di input è di 1.000 token e la lunghezza della sequenza di output è di 100 token. Il rango massimo dell’adattatore LoRA è 64.

Nell’esempio dell’applicazione di dialogo in-game descritto in precedenza, l’ambito dell’app potrebbe essere ampliato, utilizzando il multi-LoRA serving, per generare sia elementi della storia che illustrazioni, guidati da un singolo prompt. L’utente potrebbe inserire un’idea di base per una storia e l’LLM svilupperebbe il concetto, ampliandolo per fornire una base dettagliata. L’applicazione potrebbe quindi utilizzare lo stesso modello, migliorato con due distinti adattatori LoRA, per raffinare la storia e generare immagini corrispondenti. Un adattatore LoRA genera un prompt di Stable Diffusion per creare visuali utilizzando un modello Stable Diffusion XL distribuito localmente. Nel frattempo, l’altro adattatore LoRA, ottimizzato per la scrittura di storie, potrebbe creare una narrazione ben strutturata e coinvolgente.

In questo caso, lo stesso modello viene utilizzato per entrambi i passaggi di inferenza, garantendo che lo spazio richiesto per il processo non aumenti significativamente. Il secondo passaggio, che coinvolge sia la generazione di testo che di immagini, viene eseguito utilizzando inferenze batch, rendendo il processo eccezionalmente veloce ed efficiente sulle GPU Nvidia. Questo consente agli utenti di iterare rapidamente attraverso diverse versioni delle loro storie, affinando la narrazione e le illustrazioni con facilità.

Questo processo è descritto in maggior dettaglio in un recente blog tecnico.

Conclusioni

I LLM stanno diventando uno dei componenti più importanti dell’AI moderna. Con l’aumento dell’adozione e dell’integrazione, la domanda di LLM potenti e veloci con personalizzazioni specifiche per l’applicazione aumenterà solo. Il supporto multi-LoRA aggiunto oggi al toolkit RTX AI offre agli sviluppatori un nuovo potente modo per accelerare queste capacità.

Articoli correlati

Articolo 1 di 4