Come eseguire una rete neurale da 27 miliardi di parametri su un iPhone normale o un PC di casa
Recentemente mi sono ritrovato a pensare: ci siamo abituati all'idea che eseguire LLM seri (Large Language Models) richieda rack di server con A100 o almeno RTX 4090 di fascia alta. Ma cosa succederebbe se vi dicessi che un modello di livello 27B può ora essere "compresso" nella RAM di uno smartphone normale o di un laptop senza scheda grafica dedicata? Il progetto Bonsai-demo del team Prismml fa esattamente questo, usando la magia della quantizzazione a 1 bit e ternaria.
Qual è il Nucleo del Progetto
Il problema principale dei modelli grandi è la loro "ingordigia". Un modello 27B standard in formato 16 bit pesa circa 50 GB. Anche la popolare compressione a 4 bit (Q4_K_M) richiede 16-17 GB di memoria video solo per i pesi. Bonsai-demo offre di passare a un livello estremo: modelli a 1 bit e ternari (1,58-2 bit).
Di conseguenza, Bonsai-27B in configurazione a 1 bit occupa solo 3,5 GB. Questo è paragonabile alla dimensione di un gioco mobile medio. Gli sviluppatori affermano che il modello mantiene la capacità di ragionare, vedere immagini e persino chiamare strumenti.
Cosa Può Fare Questo "Albero"
Ho esplorato il repository e ho evidenziato alcune caratteristiche che si distinguono davvero.
Visione e Elaborazione Documenti
I modelli della serie 27B qui non sono solo basati su testo. Questi sono sistemi multimodali. Puoi fornire loro screenshot, foto o file PDF. All'interno, viene utilizzato un proiettore speciale che converte i dati visivi in token che il modello può comprendere. Per un sistema locale che gira su CPU, questo sembra magia.
Comportamento Agente-like e MCP
La demo include un client completo per MCP (Model Context Protocol). Se ve lo siete perso: questo è un nuovo standard di Anthropic che permette al modello di connettersi a dati esterni. Bonsai-demo ha già strumenti configurati out-of-the-box per lavorare con DeepWiki e Hugging Face. Quindi il modello non si limita ad allucinare—va su internet per cercare fatti.
Modalità "Riflessione"
I modelli 27B hanno una funzionalità di ragionamento chain-of-thought. Nell'interfaccia, puoi impostare un budget di pensiero: da una risposta rapida a un'analisi approfondita di 8.000+ token. Se il tuo hardware è debole, è meglio impostarlo su Basso, altrimenti dovrai aspettare a lungo mentre il modello "gira" i suoi pensieri in background.
Risparmio Estremo del Contesto
Di solito, un contesto di 100.000 token consuma gigabyte di memoria. Qui, gli autori hanno aggiunto il supporto sperimentale per KV-cache a 4 bit. Questo riduce il consumo di memoria per conversazioni lunghe di 3,5 volte. In numeri: 100k token occupano circa 1,8 GB invece dei usuali 6,3 GB.
Dettagli Tecnici
Il progetto si basa su un fork di llama.cpp e il framework MLX per Apple Silicon. È interessante notare che il supporto per la quantizzazione a 1 bit (Q1_0) ha già iniziato a fluire nel main upstream di llama.cpp. Con i pesi ternari (Q2_0), la situazione è leggermente più complessa: sono attualmente in fase di migrazione, quindi il progetto include i propri binari precompilati per diverse piattaforme.
Se hai un Mac con chip M, lo script di build scaricherà MLX e compilerà tutti i componenti direttamente per la tua architettura. Per Windows e Linux, sono forniti script con auto-rilevamento di CUDA e Vulkan.
Come Provarlo
Gli sviluppatori hanno reso il processo il più "fluido" possibile. Non c'è bisogno di scaricare manualmente i pesi da Hugging Face o configurare l'ambiente.
Per macOS o Linux, bastano solo tre righe:
git clone https://github.com/PrismML-Eng/Bonsai-demo.git
cd Bonsai-demo
./setup.sh
Lo script installerà automaticamente il gestore di pacchetti uv, creerà un ambiente virtuale, scaricherà il modello richiesto (Ternary-Bonsai-27B di default) e preparerà i binari.
Dopodiché, puoi avviare un server locale:
./scripts/start_llama_server.sh
E aprire localhost:8080 nel tuo browser. Ci sarà una chat familiare dove potrai testare sia la visione che la velocità di generazione.
Vale la Pena Provarlo
Bonsai-demo non riguarda l'"eliminazione di GPT-4", ma l'accessibilità. Se hai bisogno di eseguire un assistente intelligente su un laptop d'ufficio senza scheda grafica o incorporare un LLM in un'applicazione mobile, questo progetto fornisce una base pronta all'uso.
Ovviamente, i modelli a 1 bit sono meno intelligenti delle loro controparti a dimensione piena. Possono commettere più errori in compiti logici complessi. Ma per l'automazione di base, la classificazione del testo o semplici chatbot con un contesto di 256k token—questa è una delle soluzioni più efficienti disponibili in questo momento.
Il principale vantaggio del repository è la sua natura "confezionata". Non devi essere uno specialista della quantizzazione per eseguire un modello ternario. Tutti i trucchi sporchi con la compilazione e la messa a punto dei parametri sono già nascosti all'interno degli script bash.
Progetti correlati