Nel 2026 eseguire un LLM su notebook, mini PC o smartphone è ormai alla portata di chiunque, ma ridurre ulteriormente i requisiti hardware fino ad arrivare a un semplice microcontroller ESP32-S3 da 10 dollari rappresenta una sfida di tutt’altra natura. Eppure è proprio questo il risultato raggiunto dallo sviluppatore noto come SlvDev, che ha documentato l’intero progetto su GitHub dimostrando come sia possibile ottenere un’inferenza locale sorprendentemente fluida anche su un dispositivo progettato per sensori, domotica e Internet of Things.

L’ESP32-S3 non nasce certo per l’intelligenza artificiale generativa, visto che è utilizzato soprattutto nei sistemi embedded grazie ai consumi ridottissimi e alla semplicità d’integrazione. Inoltre, le sue risorse sono infinitamente più limitate rispetto a quelle richieste dai moderni modelli linguistici. Con appena 520 KB di SRAM e circa 8 MB di PSRAM disponibili, lo spazio di manovra è minimo, mentre un normale LLM necessita abitualmente di decine, se non centinaia, di GB di memoria.

La soluzione è stata cambiare completamente prospettiva. Invece di tentare di adattare un modello di grandi dimensioni, SlvDev ha scelto TinyStories, una rete neurale sviluppata da Microsoft Research con circa 28,9 milioni di parametri. Anche questa versione “mini” risulta comunque troppo pesante per un ESP32 nella sua configurazione originale. Utilizzando una rappresentazione a 16 bit, infatti, richiederebbe circa 60 MB soltanto per memorizzare i pesi del modello.

Per aggirare questo limite, è stata applicata la quantizzazione, una delle tecniche più diffuse nell’ottimizzazione dei modelli AI. Riducendo la precisione numerica dei pesi fino a 4 bit, l’occupazione di memoria cala drasticamente, passando da circa 60 MB a poco meno di 15 MB. La riduzione comporta inevitabilmente una perdita di precisione nelle risposte, ma il compromesso è più che accettabile considerando il contesto hardware.

Nemmeno questo, tuttavia, sarebbe bastato. Il vero salto tecnologico arriva grazie all’impiego del cosiddetto Per-Layer Embedding (PLE), una tecnica introdotta inizialmente da Google nella famiglia di modelli Gemma. Il principio consiste nel mantenere nella memoria veloce soltanto le componenti realmente critiche durante l’inferenza, trasferendo invece gran parte dei pesi nella memoria flash integrata del dispositivo.

Tradizionalmente lo spostamento dei pesi verso memorie molto più lente rispetto alla RAM provoca un crollo delle prestazioni. Nei sistemi desktop, ad esempio, l’offloading su SSD NVMe permette sì di eseguire modelli molto più grandi, ma il prezzo da pagare è una velocità spesso incompatibile con un utilizzo pratico. Il metodo PLE riesce invece a limitare fortemente questo problema perché accede ai dati archiviati nella flash soltanto quando strettamente necessario.

Nel progetto realizzato da SlvDev circa 25 milioni di parametri, equivalenti a oltre 12 MB di dati, vengono quindi conservati nella memoria flash, lasciando nella PSRAM esclusivamente gli embedding, l’output head e la cache KV, mentre le attivazioni vengono elaborate sfruttando la limitata SRAM interna del chip. In questo modo il quantitativo di memoria realmente necessario durante l’esecuzione si riduce a circa 2 MB, una soglia finalmente compatibile con le caratteristiche dell’ESP32-S3.

Il risultato è sorprendente. Secondo i test pubblicati dallo sviluppatore, il sistema raggiunge una velocità di circa 9,9 token al secondo, un ritmo superiore a quello medio di lettura di una persona. Si tratta di un valore che, fino a pochi anni fa, sarebbe sembrato irraggiungibile su un microcontroller di questa categoria.

screenshot-github.com-2026.08.05-13_21_13

Naturalmente le capacità del modello rimangono molto limitate. TinyStories nasce per generare racconti estremamente semplici e non possiede la complessità necessaria per alimentare chatbot avanzati, assistenti virtuali, sistemi di programmazione automatica o agenti AI multifunzione. Esistono persino modelli ancora più specializzati, come Barista, ottimizzato esclusivamente per rispondere a domande sul mondo dell’espresso, a dimostrazione di come queste reti estremamente compatte siano pensate per compiti molto circoscritti.

Il valore dell’esperimento risiede quindi meno nelle funzionalità offerte oggi e molto di più nelle prospettive future. Dimostra infatti quanto rapidamente stiano evolvendo le tecniche di compressione dei modelli e di gestione della memoria, elementi destinati ad avere un ruolo fondamentale nell’espansione dell’intelligenza artificiale direttamente sui dispositivi edge.

La stessa filosofia è già visibile in modelli molto più evoluti come Gemma 4-E2B-it di Google, che sfrutta quantizzazione e PLE per comprimere un modello multimodale da oltre cinque miliardi di parametri fino a poco più di un gigabyte di memoria con pesi a 4 bit. Pur restando enormemente più impegnativo rispetto a TinyStories, rappresenta un esempio concreto di come le moderne tecniche di ottimizzazione stiano progressivamente riducendo il divario tra grandi modelli linguistici e hardware consumer, rendendo sempre più realistico eseguire applicazioni di intelligenza artificiale locale senza dipendere costantemente dal cloud.

(Immagine in apertura: Shutterstock)