I venditori di congegni e le réclame delle multinazionali raccontano l’intelligenza artificiale generativa come un’entità eterea: una nuvola impalpabile a cui accedere pagando un canone mensile, delegando a server californiani calcoli, testi, dati personali e consumi idrici ed elettrici spaventosi.
La realtà materiale è un’altra. I modelli linguistici non sono spiriti, ma pesanti matrici statistiche fatte girare su ferraglia silicea.
Negli ultimi giorni ho voluto saggiare sul campo una via alternativa: far girare modelli linguistici in locale, completamente disconnessi dalla rete, non su una costosa scheda grafica da gioco grande come un mattone e vorace di kilowatt, ma su un congegno tascabile: la chiavetta ASUS UGen300, dotata del chip acceleratore Hailo-10H. Per brevità e affetto empirico, l’«Accrocco».
Il resoconto che segue serve a spiegare come funziona questo dispositivo, quali ostacoli pratici si incontrano per farlo dialogare con un computer comune e a cosa può servire davvero – al netto dell’epistemarketing trionfalista – una volta domato.
1. Come funziona: che cos’è una NPU e perché non è la solita scheda grafica
In un computer tradizionale ci sono due motori principali:
- La CPU (il processore centrale): il factotum generico del sistema. Sa fare qualsiasi operazione logica, ma le esegue una alla volta o su pochi canali paralleli. Quando gli si chiede di elaborare le miliardi di moltiplicazioni richieste da un modello di linguaggio, la CPU arranca, la ventola del portatile inizia a urlare come un asciugacapelli e la batteria si prosciuga in quaranta minuti.
- La GPU (la scheda grafica): una fabbrica di calcolo parallelo nata per i videogiochi e riciclata per le reti neurali. È potentissima, ma ingombrante, costosa e con un appetito energetico proibitivo per i dispositivi portatili modesti.
Poi c’è il terzo incomodo: la NPU (Neural Processing Unit), ovvero l’acceleratore neurale dedicato.
Il chip Hailo-10H montato all’interno della chiavetta ASUS è un circuito stampato programmato per fare una sola cosa, e farla con il minimo attrito fisico possibile: moltiplicare matrici di numeri a virgola mobile a bassissima precisione. Funziona secondo un’architettura a flusso di dati (dataflow): il modello matematico viene compilato e pre-caricato direttamente nella memoria interna della chiavetta – ben 8 Gigabyte di memoria RAM dedicata LPDDR4 stipati dentro il guscio metallico.
La potenza di targa dichiarata è di 40 TOPS (quaranta trilioni di operazioni al secondo). Tradotto in termini umani: la chiavetta calcola le risposte del modello linguistico assorbendo una manciata di Watt tramite la presa USB. Il portatile rimane fresco, silenzioso, e la sua CPU lavora a meno del dieci per cento delle sue capacità.
2. Dalla teoria alla ghiaia: la via crucis dell’attivazione
Comprare un congegno non significa farlo funzionare: la tecnologia trasparente è un mito per consumatori pigri. Il percorso per rendere operativo l’Accrocco sul mio portatile Acer Aspire ha richiesto pazienza metodica e la rimozione di parecchie frizioni materiali.
Il primo inciampo: la porta che non c’è
La chiavetta ASUS termina con una spina USB-C ad alta velocità. Il mio portatile Acer monta soltanto prese rettangolari USB tradizionali (USB-A 3.2).
I comuni adattatori da pochi euro da supermercato sono ponti passivi concepiti per ricaricare cuffiette o leggere vecchie memorie: strozzano il segnale e non forniscono l’alimentazione negoziata necessaria a un processore da 40 TOPS.
È stato necessario procurarsi un cavo dedicato ad alto flusso (ORICO da 10 Gbps) per collegare l’USB-A del computer all’innesto femmina della chiavetta.
Il verso d’inserimento e il collaudo col telefono
Anche una volta ottenuto il cavo, il sistema non rilevava la periferica. L’USB-C si vanta di essere reversibile, ma negli accoppiamenti ad alta velocità con adattatori asimmetrici il verso di contatto e la pressione meccanica contano ancora.
Per verificare che il cavo non fosse guasto abbiamo collegato uno smartphone Samsung Galaxy S24 Ultra: linea dati riconosciuta all’istante. A quel punto, inserita con decisione la chiavetta nella presa sinistra del portatile e ruotato il verso del connettore, il piccolo LED della chiavetta si è acceso: luce verde fissa. Il silicio riceveva corrente.
(Nota a margine per i curiosi: il passaggio col telefono Samsung ha provocato la comparsa di un minaccioso avviso di Windows relativo a un driver bloccato chiamato ssudbus.sys. Si trattava semplicemente del vecchio driver telefonico Samsung bloccato dall’isolamento di memoria di Windows 11; un falso allarme estraneo all’acceleratore).
Firmware da aggiornare a colpi di terminale
La chiavetta accesa non basta: serve il software di controllo. Installato il pacchetto di sviluppo ufficiale (HailoRT 5.3.2), il primo responso è stato un rifiuto: il firmware interno dell’hardware era rimasto fermo alla versione di fabbrica e rifiutava di dialogare con il demone di sistema.
L’aggiornamento non avviene con un comodo clic da interfaccia grafica, ma richiede privilegi di amministrazione da riga di comando (PowerShell) per sovrascrivere i registri di sistema a basso livello:
& "C:\Program Files\HailoRT\bin\hailo_usb_loader.exe" fw-update
Soltanto dopo il riavvio del servizio hardware, il comando di diagnostica ha risposto con il responso atteso: Device Hailo-10H rilevato e pronto.
I modelli compilati e il motore locale
I modelli linguistici che siamo abituati a scaricare per Ollama o LM Studio (i file in formato .gguf) non possono girare direttamente su una NPU. La NPU richiede modelli precedentemente “cotti” e compilati in un formato proprietario ottimizzato (chiamato HEF, Hailo Executable Format).
Tramite il motore dedicato hailo-ollama (un demone locale che imita le chiamate di sistema di Ollama ma dirige i calcoli verso la presa USB), abbiamo scaricato tre modelli pre-compilati da circa 1.5 – 2.5 Gigabyte ciascuno:
- Qwen 2.5 (1.5B): modello linguistico compatto, molto veloce e sorprendentemente articolato nel vocabolario.
- Qwen 2.5 Coder (1.5B): specializzato nella generazione e correzione di codice di programmazione.
- Llama 3.2 (1B): il modello ultraleggero di Meta.
3. L’interfaccia “Accrocco e i suoi modelli” e il giallo del testo balbettante
Per usare il congegno senza dover scrivere ogni volta comandi astrusi nel terminale, ho allestito un’interfaccia web locale minimale: una pagina nel browser battezzata “Accrocco e i suoi modelli”, servita da un piccolo programma Python residente sul PC (app.py), richiamabile comodamente tramite un collegamento diretto sul Desktop.
Durante i primissimi collaudi è emerso un fenomeno bizzarro: alla domanda “In che lingua ti esprimi?”, l’assistente ha risposto a schermo con una sequenza di sillabe tronche e parole incomprensibili:
«Mi disace, nonco aire intendi.restiirm un po diazioni peruti apond corrett…»
Poteva sembrare il classico delirio di un modello compatto andato in tilt per un difetto di quantizzazione o per un surriscaldamento del silicio.
Non era niente di tutto ciò.
Il chip sull’USB stava formulando frasi perfette in italiano, ma la pagina web riceveva le parole a pezzettini tramite la rete interna e, quando una parola capitava a cavallo tra due frammenti del flusso, il programma scartava la sillaba rotta. Il risultato era un testo a cui mancava il quaranta per cento delle lettere!
Corretto il meccanismo di ricezione, il congegno ha immediatamente mostrato la sua reale natura: risposte in italiano fluente, senza esitazioni e con un tempo di reazione di pochissimi secondi.
4. Usi potenziali: a cosa serve un’intelligenza artificiale tascabile?
Arrivati alla fine del cantiere, la domanda laica è d’obbligo: cosa ce ne facciamo di una chiavetta con modelli da 1 o 1.5 miliardi di parametri, quando sul web ci sono colossi come GPT-4 o Claude che contano su centinaia di miliardi di connessioni?
La risposta sta nel concetto di convivialità e di proporzione d’uso.
Non serve una pala meccanica da miniera per piantare un geranio sul balcone. I modelli giganteschi residenti sui cloud commerciali hanno tre difetti congeniti: pretendono connessione continua, richiedono canoni o cessione indiscriminata dei propri dati, e consumano risorse ambientali sproporzionate per compiti banali.
Un acceleratore locale da 40 TOPS dentro una chiavetta abilita scenari d’uso del tutto diversi:
- Riservatezza assoluta e lavoro offline:
Tutto ciò che viene digitato entra nella porta USB e muore dentro la chiavetta. Nessun log viene spedito in California, nessun testo scolastico, saggio o dato personale viene dato in pasto per riaddestrare modelli proprietari. Funziona in treno, in aereo o in una baita senza segnale telefonico. - Zero costo ricorrente e consumi minimi:
Una volta acquistato l’hardware, l’inferenza è gratuita e infinita. La batteria del portatile non ne risente e non si vive con l’ansia dei gettoni (token) a pagamento che scadono a fine mese. - Compiti situati di prima revisione:
Un modello da 1.5B (come Qwen 2.5) non scriverà mai un saggio filosofico innovativo, ma è eccellente come correttore di bozze, generatore di schemi, analizzatore lessicale, estrattore di parole chiave o assistente per comporre frammenti di codice Python o HTML. - Presidio critico contro l’oracolarità:
C’è infine un vantaggio pedagogico ed epistemologico enorme: un modello compatto non intimidisce. Quando Llama da 1 miliardo di parametri attribuisce I promessi sposi a Giuseppe Verdi anziché ad Alessandro Manzoni, fa sorridere e svela immediatamente l’inganno: ci ricorda che abbiamo davanti un calcolatore statistico di frequenze lessicali, non un oracolo onnisciente.
Questo costringe l’utente a rimanere sveglio, a mantenere il timone e a verificare ogni riga prodotta. Che è poi l’unico modo sensato di accostarsi all’intelligenza artificiale senza trasformarsi in consumatori passivi.
Appendice: Funzioni non testate
L’esperimento fin qui documentato si è limitato al banco di prova più immediato: la generazione di testo e la conversazione con modelli linguistici compatti. Esplorando i meandri del pacchetto di sviluppo installato sul disco fisso (HailoRT 5.3.2), emerge però un quadro assai più articolato. L’architettura del congegno integra librerie e interfacce per funzioni che non abbiamo ancora collaudato direttamente sul campo, ma che definiscono l’effettiva ampiezza operativa della chiavetta:
- Trascrizione vocale continua (Speech-to-Text via Whisper):
Nel repertorio del runtime è presente l’infrastruttura per eseguire in formato compilato le reti della famiglia Whisper. Questo apre alla possibilità di sbobinare registrazioni audio di assemblee, interviste o note vocali dettate direttamente al microfono del portatile, demandando la decodifica fonetica alla NPU senza toccare i processori principali e, soprattutto, senza regalare file vocali a piattaforme di trascrizione commerciali. - Visione artificiale multimodale (VLM – Vision Language Models):
I file di intestazione dell’ambiente di sviluppo rivelano il modulo dedicato ai modelli di visione multimodale. La NPU è progettata per ingoiare non soltanto stringhe alfanumeriche, ma anche matrici di pixel: descrivere il contenuto di una fotografia, estrarre testo da uno schema grafico o catalogare immagini localmente, senza connessione internet. - Analisi di flussi video in tempo reale (Computer Vision via GStreamer):
Il chip Hailo-10H nasce storicamente per l’elaborazione visiva industriale e di sorveglianza (edge computing). L’installazione include il modulogsthailo.dll, destinato a integrarsi con il framework multimediale GStreamer per eseguire reti di rilevamento oggetti (come YOLO) e segmentazione spaziale direttamente dal flusso video della webcam, a trenta fotogrammi al secondo e a consumo energetico quasi nullo. - Integrazione diretta in script Python (senza passare dal browser):
Nella cartella dell’ambiente sono depositate le estensioni binarie ufficiali per Python (le wheel pre-compilate dihailort). Chi scrive codice non è obbligato a dialogare con la chiavetta attraverso una finestra di navigazione web: può importare il dispositivo direttamente all’interno di normali programmi in Python per automatizzare l’analisi semantica o la catalogazione di migliaia di file di testo in sequenza. - Modelli di ragionamento logico esplicito (DeepSeek R1):
Tra i manifesti pronti per il prelievo figura la versione compilata dideepseek_r1:1.5b. Si tratta di un modello compatto addestrato a esporre la propria catena di pensiero (reasoning steps racchiusi tra tag dedicati) prima di formulare la risposta finale: un congegno logico che meriterà una sessione di verifica specifica per misurare quanto rigore deduttivo riesca a condensare un miliardo e mezzo di pesi quantizzati.
