Microsoft ha recentemente lanciato BitNet.cpp, un framework innovativo per l’inferenza di modelli linguistici di grandi dimensioni (LLM) a 1 bit. Questo nuovo framework consente l’esecuzione rapida ed efficiente di modelli come BitNet b1.58, ottimizzando l’inferenza sui dispositivi locali. La riduzione dei requisiti hardware e del consumo energetico potrebbe avere un impatto significativo nell’adozione di LLM avanzati in contesti in cui le risorse di calcolo sono limitate.
L’aspetto centrale di questa innovazione è la rappresentazione dei parametri del modello utilizzando solo 1,58 bit. A differenza dei tradizionali modelli linguistici che impiegano valori in virgola mobile a 16 bit (FP16) o altre tecnologie simili, BitNet b1.58 utilizza solo tre possibili valori per ogni peso: -1, 0 o 1. Questa riduzione sostanziale nell’utilizzo di bit consente una notevole efficienza energetica e un’esecuzione rapida dei modelli senza compromettere le prestazioni.
La prima versione di BitNet.cpp è ottimizzata per CPU ARM e x86, mostrando miglioramenti significativi in termini di prestazioni e riduzione dei consumi. Sulle CPU ARM, le accelerazioni vanno da 1,37x a 5,07x, mentre sulle CPU x86 le velocità aumentano da 2,37x a 6,17x, con una riduzione del consumo energetico fino all’82,2%. Questo approccio permette di eseguire modelli linguistici di grandi dimensioni come BitNet b1.58 da 100 miliardi di parametri su una singola CPU, raggiungendo una velocità di elaborazione simile a quella della lettura umana, ovvero circa 5-7 token al secondo.
Il framework offre una suite di kernel ottimizzati per l’inferenza lossless sulla CPU, con l’intenzione di supportare in futuro anche le NPU e le GPU. BitNet.cpp supporta attualmente vari modelli a 1 bit disponibili su Hugging Face e mira a ispirare ulteriori sviluppi di LLM a 1 bit in contesti su larga scala. Microsoft ha reso disponibile una demo che mostra BitNet.cpp in azione, eseguendo un modello da 3 miliardi di parametri su un Apple M2, evidenziando le potenzialità del framework.
Questo progetto si basa sul framework llama.cpp e riconosce l’importante contributo della comunità open source, in particolare del team T-MAC per il loro lavoro sui metodi di inferenza LLM a basso bit. La versione iniziale di BitNet.cpp è stata rilasciata il 17 ottobre 2024, e gli utenti interessati possono trovare tutte le istruzioni per l’installazione e l’uso direttamente su GitHub. Il setup richiede Python 3.9, CMake 3.22 e Clang 18, mentre per gli utenti Windows è necessario Visual Studio 2022 con specifiche opzioni di installazione.
L’obiettivo di Microsoft con BitNet.cpp è rendere i modelli linguistici avanzati più accessibili e utilizzabili su dispositivi locali, riducendo al contempo i costi energetici e le risorse necessarie per l’esecuzione. Questo rappresenta un passo avanti significativo nel rendere l’intelligenza artificiale più efficiente e sostenibile, con potenziali benefici per sviluppatori, aziende e la comunità scientifica in generale.