FlexGen, un motore per l'esecuzione di bot AI su una singola GPU

Flex Gen

FlexGen è un motore creato con lo scopo di ridurre i requisiti di risorse di inferenza di modelli di linguaggio di grandi dimensioni a una singola GPU.

La notizia è stata rilasciata di recente che un gruppo di ricercatori presso la Stanford University, l'Università della California a Berkeley, l'ETH di Zurigo, la Graduate School of Economics, la Carnegie Mellon University, nonché Yandex e Meta, hanno pubblicato il codice sorgente di un motore per l'esecuzione di modelli di linguaggio di grandi dimensioni in sistemi con risorse limitate.

con nome in codice «FlexGen», è un progetto che mira a ridurre significativamente il requisiti risorse per operazioni di inferenza LLM. Pubblicato su GitHub, FlexGen richiede solo Python e PyTorch ma può essere utilizzato principalmente con una singola GPU come NVIDIA Tesla T4 o GeForce RTX 3090.

Ad esempio, il motore offre la possibilità di creare funzionalità che ricordano ChatGPT e Copilot eseguendo un modello OPT-175B preaddestrato che copre 175 miliardi di parametri su un normale computer con una scheda grafica di gioco NVIDIA RTX3090 dotata di 24 GB di memoria video.

Si dice che i modelli (LLM) supportino il funzionamento di strumenti come ChatGPT e Copilot. Si tratta di modelli di grandi dimensioni che utilizzano miliardi di parametri e vengono addestrati su grandi quantità di dati.

Gli elevati requisiti computazionali e di memoria per le attività di inferenza LLM generalmente richiedono l'uso di acceleratori di fascia alta.

Siamo lieti che il pubblico sia davvero entusiasta di FlexGen. Tuttavia, il nostro lavoro è ancora in preparazione e non ancora pronto per il rilascio/annuncio pubblico. Dai primi feedback su questo progetto, ci siamo resi conto che le prime versioni di questo README e del nostro documento non erano chiare sullo scopo di FlexGen. Questo è uno sforzo preliminare per ridurre i requisiti di risorse degli LLM, ma presenta anche molte limitazioni e non intende sostituire i casi d'uso quando sono disponibili risorse sufficienti.

L'inferenza LLM è un processo in cui un modello linguistico viene utilizzato per generare previsioni sul testo di input: implica l'utilizzo di un modello linguistico, come un modello generativo come un GPT (Generative Pretrained Transformer), per fare previsioni su ciò che è più probabile accadere. essere fornito come risposta dopo uno specifico input di testo catturato.

A proposito di FlexGen

Il pacchetto include uno script di esempio per creare bot. che consente all'utente scaricare uno dei modelli linguistici pubblicamente disponibili e inizia subito a chattare.

Come base, si propone di utilizzare un modello di linguaggio di grandi dimensioni pubblicato da Facebook, addestrato sulle raccolte BookCorpus (10mila libri), CC-Stories, Pile (OpenSubtitles, Wikipedia, DM Mathematics, HackerNews, ecc.), Pushshift.io (basato sui dati Reddit)) e CCNewsV2 (archivio notizie).

Il modello copre circa 180 miliardi di token (800 GB di dati). Sono stati necessari 33 giorni di esecuzione del cluster con 992 GPU NVIDIA A100 da 80 GB per addestrare il modello.

Eseguendo OPT-175B su un sistema con una singola GPU NVIDIA T4 (16 GB), il motore FlexGen ha dimostrato prestazioni fino a 100 volte più veloci rispetto alle soluzioni offerte in precedenza, rendendo più accessibile l'utilizzo di modelli di linguaggi di grandi dimensioni e consentendone l'esecuzione su sistemi senza acceleratori specializzati.

Allo stesso tempo, FlexGen può scalare per parallelizzare i calcoli in presenza di più GPU. Per ridurre le dimensioni del modello, vengono utilizzati uno schema di compressione dei parametri aggiuntivo e un meccanismo di memorizzazione nella cache del modello.

Attualmente, FlexGen supporta solo i modelli di linguaggio OPT, ma in futuro gli sviluppatori promettono anche di aggiungere il supporto per BLOOM (176 miliardi di parametri, supporta 46 lingue e 13 linguaggi di programmazione), CodeGen (può generare codice in 22 linguaggi di programmazione) e GLM.

Infine vale la pena ricordare che il codice è scritto in Python, utilizza il framework PyTorch ed è distribuito con licenza Apache 2.0.

Per Interessato a saperne di più, puoi controllare i dettagli nel seguente link


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.