LLM a 1 bit: cosa sono?

  • Di
  • 2024-05-14 - 3 minuti
banner

Il mondo dell’intelligenza artificiale generativa sta correndo a velocità massima e il nuovo arrivato in questo campo è il primo LLM a 1 bit. Potresti non crederci, ma questo potrebbe essere un punto di svolta non banale per aiutare a eliminare alcune delle maggiori sfide associate all’uso dei LLM, in particolare alle loro dimensioni.

Come funziona un modello

In uno scenario generico (non sempre), i pesi di qualsiasi modello, sia esso LLM o semplificemente di regressione logistica, vengono archiviati come virgola mobile a 32 bit o virgola mobile a 16 bit.

Supponiamo quindi di avere un LLM “MioCustomGPT” che ha 7 miliardi di parametri (come avviene in maniera simile in Mistral o Llama-7B) utilizzando una precisione a 32 bit (4 byte).

Questo modello occuperà:

Memoria totale = Dimensione di un peso * Numero di pesi
Memoria totale = 4 byte * 7.000.000.000
Memoria totale = 28.000.000.000 di byte
Convertendolo in gigabyte, otteniamo:
Memoria totale = 28.000.000.000 byte / 1024³ byte per GB
Memoria totale ≈ 26,09 GB

La dimensione è più che notevole: questo è il motivo principale per cui non siamo in grado di utilizzare modelli come GPT o altri modelli più grandi in locale, poiché hanno grandi dimensioni a causa dell’elevata precisione del valore dei pesi.

LLM a 1 bit

Nei LLM a 1 bit, solo 1 bit (che quindi permette di memorizzare o 0 o 1) viene utilizzato per memorizzare i parametri di peso rispetto ai 32/16 bit degli LLM tradizionali.

Ciò riduce le dimensioni complessive di una grande percentuale consentendo quindi anche ai dispositivi più “smart” o con risorse ridotte di utilizzare LLM.

Assumiamo quindi di avere una variante LLM a 1 bit di “MioCustomlGPT”. Questa volta la memoria occupata sarà di:

Memoria totale = Dimensione di un peso * Numero di pesi
Memoria totale = 0,125 byte * 7.000.000.000
Memoria totale = 875.000.000 di byte
Convertendolo in gigabyte, otteniamo:
Memoria totale = 875.000.000 byte / 1024³ byte per GB
Memoria totale ≈ 0,815 GB

Un risparmio davvero notevole, in termini di dimensioni.

LLM 1 bit vs Quantizzazione

C’è chi parla di quantizzazione, anche se in realtà siamo abbastanza distanti da questa idea: nel caso della quantizzazione, si riduce la precisione dei pesi e delle informazioni, mentre in un LLM a 1 bit gni peso verrà rappresentato dall’operatore binario (0,1) e nient’altro, quindi un modello ancora più ridotto.

Infatti, la quantizzazione è una tecnica che consente di ridurre i requisiti di memoria e di calcolo di questi modelli, aprendo la strada alla loro esecuzione su tutti i tipi di dispositivi, dai telefoni ai computer più piccoli, ma con un meccanismo di compressione notevole, dal momento che andiamo a perdere di precisione.

Ad esempio, un parametro i cui valori con precisione completa a 32 bit erano 3,456776867 verrà salvato con precisione inferiore sull’intero 3 (8 bit INT). Ciò riduce significativamente le dimensioni del modello, consentendogli di funzionare più velocemente su dispositivi con memoria limitata, come CPU o persino smartphone.

BitNet b1.58

Questo primo LLM a 1 bit è unico nel suo genere, in quanto utilizza 1.58 bit per peso, permettendo di avere 3 valori possibili, ossia -1, 0 e 1. Questo vuol dire anche che fornisce velocità di elaborazione più elevate e utilizza meno memoria GPU rispetto ai modelli tradizionali.

Include una funzione di quantizzazione per l’ottimizzazione a livello di sistema e integra componenti come RMSNorm e SwiGLU simili a LLaMA.

Ad oggi, il modello non è ancora stato reso pubblico e quindi non è stato testato in ambiente fuori da quelli di ricerca, ma è chiaro che il futuro dei chatbot, e di strumenti come ChatGPT o simili, potrebbe essere a 1 bit.

Post correlati

#TheRedComics

Giugno

A cura di Sophie Aiello, copy di Chiara Romano

La dura vita di una madre tech - Meme

TheRedCode Digest

La tecnologia corre, e tu devi correre più veloce per rimanere sempre sul pezzo! 🚀

Riceverai una volta al mese (o anche meno) con codici sconto per partecipare agli eventi del settore, quiz per vincere dei gadget e i recap degli articoli più interessanti pubblicati sul blog

Ci sto!

Partners

Community, aziende e persone che supportano attivamente il blog

Logo di Codemotion
Logo di GrUSP
Logo di Python Milano
Logo di Schrodinger Hat
Logo di Python Biella Group
Logo di Fuzzy Brains
Logo di Django Girls
Logo di Improove
Logo del libro open source
Logo di NgRome
Logo de La Locanda del Tech

Vuoi diventare #tech content writer? 🖊️

Se vuoi raccontare la tua sul mondo #tech con dei post a tema o vuoi condividere la tua esperienza con la community, sei nel posto giusto! 😉

Manda una mail a collaborazioni[at]theredcode.it con la tua proposta e diventa la prossima penna del blog!

Ma sì, facciamolo!