In questo articolo Indice dei contenuti 2 sezioni
Un modello di intelligenza artificiale che sta in 14 MB e gira su un Raspberry Pi suona quasi come una provocazione, ed è esattamente quello che propone Needle 2, il progetto firmato Cactus Compute che porta gli agenti AI su schede, robot e dispositivi IoT senza chiedere in cambio GPU dedicate o decine di gigabyte di memoria. Il modello conta 45 milioni di parametri, viene distribuito come singolo binario da 14 MB e per una sessione completa si accontenta di circa 28 MB di RAM. Numeri che, nel mondo dei modelli generativi, sembrano un errore di battitura.
Il punto è che Needle 2 non prova nemmeno a giocare la partita di ChatGPT, Claude o Gemini. Niente conoscenza enciclopedica, niente saggi generati al volo. Tre compiti, molto precisi: tool calling, controllo dei dispositivi ed estrazione strutturata dei dati. Tradotto in pratica, il modello prende una frase in linguaggio naturale e capisce quale funzione va invocata e con quali parametri. Per accendere una lampada, regolare un termostato o dire a un piccolo robot di spostarsi non serve una macchina capace di discutere di storia o scrivere codice complesso. Serve trasformare una richiesta potenzialmente ambigua in una chiamata affidabile.
Come funziona Needle 2 e su cosa può girare
Cactus rilascia il modello con licenza Apache 2.0, con i pesi disponibili su Hugging Face e codice, motore di inferenza e strumenti per il fine tuning sul repository GitHub. La compressione si basa su una quantizzazione proprietaria chiamata CQ2-bit, e qui sta uno dei dettagli tecnicamente più interessanti: l’addestramento è stato pensato fin dall’inizio tenendo conto della quantizzazione, così da evitare il crollo di qualità che colpisce i modelli piccolissimi quando vengono compressi solo alla fine del processo.
All’avvio il runtime riconosce la CPU e sceglie le primitive più adatte. Il supporto dichiarato copre ARM64, x86-64, ARMv7, RISC-V e WebAssembly, con esecuzione su Windows, Linux, Android, piattaforme Apple e appunto Raspberry Pi. Una volta scaricato il binario tutto gira offline, senza passare dai server di Cactus né da altri servizi cloud. Per chi lavora su prodotti embedded, questo è spesso il requisito che conta più di ogni benchmark.
Sul fronte prestazioni, su Raspberry Pi 5 si parla di 500 fino a 800 token al secondo. Su visori come Meta Quest 3S e Apple Vision Pro l’intervallo dichiarato va da circa 400 a 1.500 token al secondo, mentre su smartphone di fascia economica della famiglia Samsung Galaxy A la forbice indicata è tra 300 e 700. Va detto che Needle 2 produce output molto brevi, spesso poche righe in formato JSON con il nome dello strumento e i valori dei campi. Le esigenze sono un altro pianeta rispetto a un modello che deve sfornare centinaia di parole. Il dato davvero rilevante è la latenza: interpretare un comando e trasformarlo in azione può richiedere pochissimo anche su processori tutt’altro che muscolosi.
Dai microcontrollori all’estrazione dei dati
L’ambizione va oltre smartphone e schede per hobbisti. La scheda pubblicata su Hugging Face indica che il modello può arrivare su microcontrollori come ESP32-P4, e gli sviluppatori riferiscono di esperimenti della comunità su ESP32-S3 con un footprint attorno agli 11 MB in configurazioni specifiche. Anche qui la filosofia resta la stessa: il modello non deve conoscere il mondo, deve solo capire quale funzione corrisponde all’intenzione espressa e riempire i campi giusti. Domotica, indossabili, piccoli robot, sistemi automotive, dispositivi embedded in generale, tutti scenari in cui un cervello leggero può fare la differenza.
La seconda applicazione sfrutta la stessa architettura per un uso meno scenografico ma potenzialmente molto utile, ovvero trasformare testo libero in dati strutturati. Prendendo un documento che contiene i dettagli di una fattura, con importo e scadenza, basta definire uno schema con cliente, importo e datascadenza per ottenere i valori già ordinati. Cactus precisa che internamente non esiste una modalità separata dedicata all’estrazione dei dati: viene dichiarato un unico strumento il cui schema coincide con il record desiderato. Dato che la grammatica ammette soltanto quella chiamata, la forma dell’output risulta vincolata per costruzione.










