Esegui Llama 2 70B sulla tua GPU con ExLlamaV2

 | Intelligenza-Artificiale

Trovare la quantizzazione a precisione mista ottimale per il tuo hardware

Immagine dell’autore – Realizzata con un’illustrazione di Pixabay

Il modello più grande e migliore della famiglia Llama 2 ha 70 miliardi di parametri. Un parametro fp16 pesa 2 byte. Il caricamento di Llama 2 70B richiede 140 GB di memoria (70 miliardi * 2 byte).

In un precedente articolo ho mostrato come è possibile eseguire un modello da 180 miliardi di parametri, Falcon 180B, su 100 GB di RAM della CPU grazie alla quantizzazione.

Il Llama 2 70B è sostanzialmente più piccolo del Falcon 180B.

Può adattarsi interamente a una singola GPU consumer?

Questo è impegnativo. Una GPU consumer di fascia alta, come NVIDIA RTX 3090 o 4090, ha 24 GB di VRAM. Se quantizziamo Llama 2 70B con una precisione di 4 bit, avremo ancora bisogno di 35 GB di memoria (70 miliardi * 0,5 byte). Il modello potrebbe adattarsi a 2 GPU consumer.

Con la quantizzazione GPTQ, possiamo ridurre ulteriormente la precisione a 3 bit senza perdere molto nelle prestazioni del modello. Un parametro a 3 bit pesa 0,375 byte in memoria. Llama 2 70B quantizzato a 3 bit peserebbe comunque 26,25 GB. Non si adatta a una GPU consumer.

Potremmo ridurre la precisione a 2 bit. Potrebbe contenere 24 GB di VRAM ma poi anche le prestazioni del modello calerebbero significativamente studi precedenti sulla quantizzazione a 2 bit.

Per evitare di perdere troppo nelle prestazioni del modello, potremmo quantizzare strati o parti importanti del modello con una precisione maggiore e le parti meno importanti con una precisione inferiore. Il modello verrebbe quantizzato con precisione mista.

ExLlamaV2 (licenza MIT) implementa la quantizzazione a precisione mista.

In questo articolo, mostro come utilizzare ExLlamaV2 per quantizzare modelli con mix…

Fonte: towardsdatascience.com

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *