Guida Bonsai 27B
Guida Bonsai 27B
Bonsai 27B è il nuovo modello multimodale di PrismML che comprime un modello da 27 miliardi di parametri fino a stare in pochi gigabyte, al punto da poter girare anche su uno smartphone di fascia alta. In questa guida vediamo cos’è, come funziona la sua quantizzazione estrema, quali sono le sue caratteristiche tecniche, come si installa su Android e su iPhone, e in quali scenari conviene — o non conviene — usarlo in un flusso di lavoro reale.
Indice dei contenuti – Guida Bonsai 27B
1. Cos’è Bonsai 27B e perché interessa ora
2. Come funziona: quantizzazione a 1-bit e ternaria
3. Caratteristiche tecniche principali
4. Come riesce a girare su uno smartphone
5. Esempio pratico: installazione su Android (Termux + llama.cpp)
6. Esempio pratico: installazione su iPhone (MLX Swift)
7. Vantaggi e limiti del modello on-device
8. Attività a rischio di errore e attività in cui eccelle
9. Conclusioni e best practice
1. Cos’è Bonsai 27B e perché interessa ora
Cominciamo la nostera Guida Bonsai 27B. Bonsai 27B è l’ultimo modello della famiglia Bonsai di PrismML, azienda californiana fondata da un gruppo di ricercatori del Caltech. È costruito a partire da Qwen3.6 27B, un modello denso da circa 27,8 miliardi di parametri con torre visiva integrata e una finestra di contesto nativa di 262.144 token. La particolarità di Bonsai non è l’architettura di base, ma il modo in cui viene rappresentata: invece dei classici 16 bit per peso, PrismML addestra il modello con pesi vincolati fin dall’inizio a pochissimi valori discreti, ottenendo un file finale molto più piccolo senza passare da un semplice arrotondamento post-training.
Il risultato è pubblicato sotto licenza Apache 2.0 (pesi e codice liberamente utilizzabili anche in ambito commerciale) e rappresenta, secondo l’azienda, il primo modello della classe “27B” in grado di girare su un telefono. È rilevante per chi lavora con LLM perché sposta una soglia pratica: fino ad oggi, un modello di questa capacità — multi-step reasoning, tool calling strutturato, uso di strumenti, comprensione di immagini — era pensato quasi esclusivamente per server con GPU dedicate.
2. Come funziona: quantizzazione a 1-bit e ternaria
Bonsai 27B viene distribuito in due varianti, che condividono lo stesso schema di quantizzazione a blocchi con scala in FP16 condivisa ogni 128 pesi:
- Ternary Bonsai 27B: pesi ternari {-1, 0, +1}, per un costo effettivo di circa 1,71 bit per peso. Occupa circa 5,9 GB (fino a ~7,2 GB nella build GGUF per llama.cpp, che oggi impacchetta i pesi ternari in slot a 2 bit in attesa di kernel nativi dedicati).
- 1-bit Bonsai 27B: pesi binari {-1, +1}, per un costo effettivo di circa 1,125 bit per peso. Occupa circa 3,9 GB ed è la variante pensata per il vincolo di memoria di uno smartphone.
| Variante | Bit effettivi/peso | Ingombro / target |
| Ternary Bonsai 27B | ~1,71 bit | ~5,9 GB (laptop/GPU) |
| 1-bit Bonsai 27B | ~1,125 bit | ~3,9 GB (smartphone) |
A differenza della quantizzazione post-training “classica” — si prende un modello già addestrato in FP16 e si arrotondano i pesi a 4 o 2 bit — qui la rappresentazione a basso numero di bit è parte dell’addestramento stesso, end-to-end: riguarda anche gli embedding, l’attention, gli strati MLP e la testa finale del modello, senza parti tenute a precisione più alta come “via di fuga”. Questo è il motivo per cui Bonsai riesce a restare utilizzabile ben oltre la soglia dei 4 bit, dove le quantizzazioni convenzionali di solito degradano in modo drastico.
3. Caratteristiche tecniche principali
Le caratteristiche salienti di Bonsai 27B, secondo la documentazione ufficiale e il whitepaper PrismML:
- Contesto: fino a 262.144 token, ereditato dal modello base.
- Multimodalità: la torre visiva è quantizzata a 4 bit in forma compatta, per elaborare screenshot, documenti e input da fotocamera direttamente sul dispositivo.
- Capacità agentiche: tool calling in stile OpenAI, cicli agentici multi-step, ragionamento in modalità “thinking”.
- Qualità mantenuta: su una suite di 15 benchmark (matematica, coding, tool calling, instruction following, conoscenza/STEM, visione), la variante ternaria mantiene circa il 95% del punteggio medio del modello full-precision, quella 1-bit circa il 90%.
- Velocità: fino a 163 tok/s (1-bit) e 134 tok/s (ternaria) su una NVIDIA RTX 5090; fino a 87 tok/s (1-bit) e 58 tok/s (ternaria) su un Mac con chip M5 Max.
- Decodifica speculativa: supportata per accelerare ulteriormente la generazione senza perdita di qualità.
- Licenza: Apache 2.0, pesi disponibili su Hugging Face in formato GGUF (per llama.cpp), MLX (per Apple Silicon) e tramite l’API di sviluppo gratuita offerta da PrismML.
Guida Bonsai 27B – Dettaglio dei punteggi sui 15 benchmark (modalità thinking):
| Categoria | Qwen3.6 27B | Ternary 27B | 1-bit 27B |
| Matematica | 95,3 | 93,4 | 91,7 |
| Coding | 88,7 | 86,0 | 81,9 |
| Agentic / Tool calling | 80,0 | 74,0 | 66,0 |
| Instruction following | 78,4 | 71,8 | 65,8 |
| Visione | 72,6 | 65,2 | 59,6 |
| Media (15 benchmark) | 85,0 | 80,5 | 76,1 |
4. Come riesce a girare su uno smartphone
Entriamo nel pratico con la nostra Guida Bonsai 27B. Il vincolo reale su un telefono non è lo spazio di archiviazione, ma la memoria che il sistema operativo concede a una singola app. Su un iPhone con 12 GB di RAM, ad esempio, un’app riceve un budget realistico di circa 6 GB, che deve bastare per i pesi del modello, la KV cache e le attivazioni intermedie. Nessuna build convenzionale di un modello da 27B — nemmeno una quantizzazione “aggressiva” a 4 bit, che pesa comunque 17-18 GB — si avvicina a questo limite.
La variante 1-bit di Bonsai, a circa 3,9 GB, è la prima a passare sotto questa soglia con margine sufficiente per far lavorare la cache. La variante ternaria, più pesante (5,9-7,2 GB), resta invece riservata a laptop e GPU, perché supera il budget di memoria per-app tipico di iOS. È per questo che PrismML pubblica due “punti operativi” distinti: uno per la qualità (laptop), uno per l’ingombro minimo (telefono).
A questo si aggiungono runtime ottimizzati per l’hardware specifico: MLX e MLX Swift per il Neural Engine e la GPU Apple Silicon, un fork custom di llama.cpp con kernel dedicati per la decodifica dei formati Q1_0/Q2_0 a gruppi di 128 pesi, sia su CPU che su GPU (CUDA, Metal). Su Android non esiste ancora un kernel NPU ufficiale firmato PrismML: il percorso “ufficiale” per uno sviluppatore passa dal fork di llama.cpp eseguito via CPU (ad esempio dentro Termux), mentre alcuni motori di terze parti hanno sperimentato l’accelerazione su NPU Hexagon.
5. Esempio pratico: installazione su Android (Termux + llama.cpp)
Scenario: un ingegnere software vuole testare in locale, da riga di comando, la variante 1-bit di Bonsai 27B su un telefono Android, senza passare da un’app precompilata.
Requisiti minimi consigliati:
- Smartphone Android 10+ con architettura arm64, RAM totale di almeno 12 GB (per lasciare margine reale al processo dopo sistema operativo e app in background)
- Almeno 6 GB di spazio libero (pesi + build + margine)
- App Termux installata da F-Droid (la versione su Google Play non riceve più aggiornamenti)
- Connessione dati/Wi-Fi per scaricare pesi e sorgenti (circa 4 GB da trasferire)
Passaggi:
# 1. Aggiorna i pacchetti di base in Termux
pkg update && pkg upgrade -y
# 2. Installa gli strumenti di build necessari
pkg install git cmake clang wget -y
# 3. Clona il fork di llama.cpp mantenuto da PrismML
# (include i kernel per la decodifica Q1_0_g128 / Q2_0_g128)
git clone https://github.com/PrismML-Eng/llama.cpp
cd llama.cpp
# 4. Compila (build CPU, adatta a Termux)
cmake -B build
cmake –build build -j
# 5. Scarica i pesi 1-bit (Bonsai-27B-Q1_0.gguf) da Hugging Face
# e posizionali nella home per prestazioni migliori
wget -O ~/Bonsai-27B-Q1_0.gguf \
https://huggingface.co/prism-ml/Bonsai-27B-gguf/resolve/main/Bonsai-27B-Q1_0.gguf
# 6. Avvia un’inferenza di prova, con un contesto ridotto
# per evitare picchi di memoria che possono uccidere la shell
./build/bin/llama-cli \
-m ~/Bonsai-27B-Q1_0.gguf \
-c 4096 \
-p “Spiega in breve cos’è un ternary weight.”
Su un telefono di fascia alta con 12-16 GB di RAM, aspettati un throughput dell’ordine di pochi token al secondo su CPU: sufficiente per testare il modello e integrarlo in un prototipo, non per un’esperienza di chat fluida in tempo reale. Se il device dispone di un backend GPU (Vulkan/OpenCL) supportato dal toolchain di llama.cpp, vale la pena compilare con quel backend per un throughput migliore.
6. Esempio pratico: installazione su iPhone (MLX Swift) – Guida Bonsai 27B
Scenario: uno sviluppatore iOS vuole integrare Bonsai 27B 1-bit in un’app nativa, sfruttando l’accelerazione Apple Silicon tramite MLX Swift, invece di appoggiarsi a un’app già pronta.
Requisiti minimi consigliati:
- Mac con Xcode 16 o successivo, per la compilazione
- iPhone fisico per il test (il simulatore non riflette le reali prestazioni di GPU e Neural Engine): PrismML indica l’iPhone 17 Pro o 17 Pro Max, con 12 GB di RAM, come riferimento minimo per far stare la variante 1-bit nel budget di memoria per-app di iOS
- iOS 18 o successivo
- Almeno 4-5 GB di spazio libero sul dispositivo per i pesi del modello
Passaggi:
- Crea un nuovo progetto Xcode (app SwiftUI).
- Aggiungi come dipendenza Swift Package il fork mlx-swift mantenuto da PrismML, che contiene i kernel per i pesi a 1 bit non ancora presenti nel pacchetto ufficiale ml-explore/mlx-swift. Va dichiarato come dipendenza diretta anche nel target dell’app, non solo in un pacchetto intermedio, altrimenti la risoluzione delle dipendenze può ripiegare sul pacchetto upstream.
- Scarica i pesi “prism-ml/Bonsai-27B-mlx-1bit” da Hugging Face e includili nel bundle dell’app, oppure scaricali al primo avvio in una cartella nella sandbox dell’app.
- Carica il modello e genera una risposta, con uno schema del tipo indicato di seguito.
import MLXLM
// Carica il modello 1-bit direttamente dall’identificativo Hugging Face
let modello = try await LLMModelFactory.shared.load(
modelId: “prism-ml/Bonsai-27B-mlx-1bit”
)
// Genera una risposta a partire da un prompt
let risposta = try await modello.generate(
prompt: “Riassumi in tre punti i vantaggi dell’inferenza on-device.”,
maxTokens: 256
)
print(risposta)
- Compila ed esegui sul dispositivo fisico.
Su un iPhone 17 Pro Max, aspettati circa 10-11 token al secondo in generazione, con un primo token che arriva dopo 1-2 secondi: adeguato per una chat conversazionale con risposte brevi, più faticoso per lunghe catene di ragionamento in modalità “thinking”. Nota tecnica importante: essendo il modello interamente residente in memoria, non è possibile eseguire due generazioni in parallelo sullo stesso processo — un secondo tentativo concorrente viene tipicamente terminato dal watchdog di memoria del sistema.
7. Vantaggi e limiti del modello on-device – Guida Bonsai 27B
Vantaggi:
- Privacy per costruzione: prompt, documenti e immagini non lasciano il dispositivo, un aspetto rilevante per applicazioni che trattano dati sensibili o proprietari.
- Costo marginale nullo per step: in un flusso agentico che richiede decine o centinaia di chiamate al modello, l’inferenza locale elimina il costo per token che si accumula rapidamente con un’API cloud.
- Funzionamento offline: nessuna dipendenza dalla rete per operare, utile per applicazioni di campo o ambienti con connettività instabile.
- Efficienza energetica: PrismML riporta un consumo energetico per token di circa 4-5 volte inferiore rispetto a build a 4 bit della stessa famiglia.
- Licenza permissiva: Apache 2.0 consente l’uso commerciale senza vincoli particolari sui pesi.
Limiti:
- Throughput contenuto su mobile: circa 10-11 token/s su iPhone 17 Pro Max è accettabile per una chat, ma non regge bene output lunghi o ragionamenti estesi in tempo reale.
- Perdita di qualità non uniforme: la variante 1-bit mantiene bene matematica e coding (pochi punti di distacco dal full-precision) ma perde di più su instruction following, tool calling e visione, fino a 12-14 punti percentuali nei benchmark corrispondenti.
- Solo la variante 1-bit entra su phone: la variante ternaria, più affidabile, resta vincolata a laptop e GPU per motivi di memoria.
- Toolchain ancora da sviluppatore: non esiste ancora un percorso “un tap e funziona” ufficiale per Android; l’installazione via Termux richiede compilazione manuale e alcune accortezze (context size, gestione memoria).
- Nessuna esecuzione concorrente: un solo processo di generazione alla volta, per via dell’occupazione quasi totale della memoria disponibile.
8. Attività a rischio di errore e attività in cui eccelle – Guida Bonsai 27B
Tende a essere meno affidabile su:
- Coding agentico su più file: cicli lunghi di tipo scrivi-testa-correggi su una codebase reale non sono ancora, per stessa ammissione di PrismML, un punto di forza di questa release; è indicato come prossimo passo della roadmap.
- Instruction following molto rigido: istruzioni con vincoli fini (formati precisi, lunghezze esatte, regole multiple da rispettare simultaneamente) mostrano il calo più marcato nei benchmark IFEval/IFBench.
- Comprensione visiva fine: OCR di documenti densi o interpretazione di dettagli visivi complessi soffre più della componente testuale.
- Tool calling con molti strumenti simili tra loro: la scelta dello strumento corretto tra opzioni ambigue peggiora rispetto al modello full-precision.
Funziona in modo solido su:
- Problem solving matematico strutturato: i punteggi restano molto vicini al modello di riferimento non compresso.
- Generazione e revisione di codice puntuale: funzioni singole, script, refactoring locale: la perdita di qualità è minima.
- Conversazione generica e assistenza testuale offline: riassunti, spiegazioni, brainstorming, senza necessità di connessione.
- Prototipazione locale di applicazioni agentiche a basso rischio: automazioni ripetitive, task privacy-sensitive, dove un margine di errore più ampio è accettabile e il costo-zero per step conta più della qualità assoluta.
9. Conclusioni e best practice
Bonsai 27B mostra concretamente che la capacità di un modello e il suo ingombro possono essere disaccoppiati molto più di quanto si pensasse fino a poco tempo fa: un modello di classe 27B, con ragionamento multi-step e comprensione visiva, che gira su un telefono già in commercio è un cambio di scenario tangibile per chi progetta applicazioni AI, non solo un esercizio di laboratorio.
Alcune indicazioni pratiche per chi vuole adottarlo:
- Scegli la variante in base al device: ternaria per laptop/GPU dove serve la qualità migliore, 1-bit quando il vincolo è la memoria di un telefono.
- Non fidarti ciecamente sui task critici: soprattutto su tool calling e visione, prevedi una validazione — umana o con un secondo modello — prima di usare l’output in produzione.
- Pensa ad architetture ibride: instrada verso il cloud i task più delicati o a lunga catena, mantieni in locale i task ripetitivi, privacy-sensitive o a basso rischio.
- Tieni sotto controllo il context size su device con poca RAM, per evitare crash o rallentamenti improvvisi.
- Segui il ritmo di rilascio: la famiglia Bonsai si aggiorna a cadenza di poche settimane; i fork di llama.cpp e mlx-swift usati in questa guida evolvono altrettanto rapidamente.
Il settore dei modelli linguistici sta cambiando ritmo continuamente: quello che oggi sembra un’anteprima per pochi sviluppatori — un modello da 27 miliardi di parametri su un telefono — può diventare uno standard di prodotto nel giro di pochi mesi. Le aziende che non investono tempo nella formazione dei propri team su queste tecnologie rischiano concretamente di trovarsi indietro rispetto alla concorrenza quando l’adozione diventerà mainstream.
Per questo, se la tua azienda vuole portare l’AI generativa e i modelli linguistici dentro i propri processi in modo solido, Innovaformazione propone due percorsi mirati:
- Corso Sviluppo Applicazioni LLM, pensato per i team che devono progettare e integrare applicazioni basate su modelli linguistici:
- Corso Claude Code per sviluppatori, dedicato a chi vuole usare l’AI agentica direttamente nel proprio flusso di sviluppo software:
Entrambi i corsi sono attivabili su richiesta, in modalità online, con un preventivo dedicato costruito sulle esigenze specifiche dell’azienda. È inoltre possibile accedere a finanziamenti tramite Fondimpresa o altri fondi interprofessionali, per abbattere i costi della formazione.
Contatti
Per informazioni e per costruire insieme un percorso su misura, scrivi a info@innovaformazione.net o chiama il 347 1012275 — Dario Carrassi.
Articoli correlati
Guida Muse Spark 1.3
Distributed Systems Patterns
Imparare SAP Apre Porte
Chi usa l’AI in Europa?
Vendere gratis su eBay
