Ho addestrato un'Intelligenza Artificiale sul mio notebook (e ora funziona in locale!)
Da tempo lavoro a un progetto che considero particolarmente stimolante: rendere l'intelligenza artificiale sempre più autonoma dal cloud e utilizzabile in locale per problemi specifici.
Questo percorso è già parte fondante della filosofia della mia app PoC che chi mi segue ormai conosce bene, ma questa volta ho voluto compiere un passo ulteriore, che segna una profonda differenza nel modo in cui concepiamo questi strumenti. Non mi sono limitato a interrogare un'intelligenza artificiale preesistente per ottenere risposte generiche, ma ho voluto insegnarle un comportamento nuovo, strettamente vincolato alle mie necessità, per poi trasformarla in un modello eseguibile autonomamente sul mio computer. È un passaggio che sposta il focus: da utilizzatori passivi di servizi opachi gestiti da grandi aziende, diventiamo creatori di piccoli “motori cognitivi” specializzati, completamente sotto il nostro controllo.
Il protagonista e la democratizzazione dell'hardware
La scelta iniziale è ricaduta su un modello linguistico compatto, dotato di circa 1,7 miliardi di parametri. È una dimensione che oggi può sembrare minuscola se paragonata ai colossi commerciali, ma che racchiude un potenziale enorme se indirizzata verso un compito specifico. Il laboratorio utilizzato è stato un normale computer portatile dotato di una scheda grafica consumer. Per realizzare l'addestramento ho impiegato metodologie e tecniche di ottimizzazione avanzate, che consentono di adattare un modello riducendo notevolmente il consumo di memoria. Questo dettaglio non è puramente tecnico, ma profondamente culturale: dimostra che l'innovazione nell'intelligenza artificiale non è più un'esclusiva dei centri di calcolo milionari, ma può avvenire sulla scrivania di chiunque abbia la pazienza e la volontà di sperimentare.
Il progetto RADIX7: dominare la verbosità dell'IA
L'obiettivo dell'esperimento era insegnare al modello a riconoscere caratteristiche tecniche all'interno di semplici descrizioni elettroniche, restituendo risposte secondo un protocollo strutturato chiamato RADIX7 (questo nome dovrebbe suggerirvi qualcosa). Una risposta prevista dal protocollo si presenta esclusivamente in questo modo: RADIX7|DOM=ELE|TIP=PAR|ESITO=R42. Chiunque abbia utilizzato un modello linguistico sa che la loro natura è intrinsecamente verbosa: tendono a conversare, a giustificare le risposte, ad aggiungere preamboli cortesi. In un'applicazione software avanzata, tuttavia, questa loquacità è un ostacolo. Un'IA integrata in un sistema più ampio deve saper rispettare regole formali ferree per produrre dati interpretabili in modo deterministico e automatico da altre macchine. Insegnare a un modello a “stare zitto” e a emettere solo il codice richiesto è una delle sfide più affascinanti per chi vuole costruire software solido.
Il fine-tuning in numeri: il valore della cura del dato
Per plasmare questo comportamento ho preparato un dataset composto da 420 esempi di addestramento e 60 esempi per la valutazione. Possono sembrare pochi, ma nel fine-tuning comportamentale la qualità e la coerenza del dato valgono infinitamente di più della quantità grezza. I risultati tecnici hanno visto l'impiego del modello scelto sfruttando tecniche di quantizzazione per alleggerirne il carico in fase di apprendimento. Sono stati completati 106 passaggi su 106, e la durata complessiva del training è stata di appena 3 minuti e 2 secondi (!), con una media di 1,72 secondi per passaggio. Questo ci insegna che, una volta compreso il meccanismo, l'iterazione e la correzione degli errori diventano processi rapidissimi, paragonabili alla normale compilazione del codice sorgente.
La verifica dei risultati: accuratezza e aderenza
Valutando il modello sui 60 esempi di test non visti durante l'addestramento, le prestazioni sono state eccellenti. È stata raggiunta un'accuratezza dell'88,3%, con 53 risposte corrette su 60 per quanto riguarda l'interpretazione logica. Ma il dato veramente cruciale, quello che fa la differenza per un programmatore, è un altro: si è registrata una conformità al formato del 100%. Tutte le risposte, persino quelle concettualmente errate, hanno rispettato fedelmente la sintassi del protocollo RADIX7 senza introdurre testi superflui o allucinazioni di formato. Un sistema del genere non rompe la catena di esecuzione del software, garantendo una stabilità architetturale altrimenti impossibile con i prompt generici.
L'esportazione e l'esecuzione in locale: l'artefatto cognitivo
Dopo il fine-tuning, ho generato una versione portatile e compressa del modello. Le tecniche di quantizzazione utilizzate hanno permesso di ridurre l'occupazione di memoria mantenendo intatta la qualità, ottenendo un file finale del peso di appena 1,03 GB. Alle 07:37 dell'11 ottobre 2026, il modello è stato caricato con successo in un ambiente di esecuzione locale isolato. Questa è la vera magia: il modello specializzato è diventato un artefatto portatile, un file che posso copiare su una chiavetta USB, inserire nel repository di un progetto o distribuire senza dipendere da connessioni internet, API esterne o abbonamenti. È, a tutti gli effetti, una libreria software che invece di contenere algoritmi rigidi contiene capacità deduttive.
Perché tutto questo cambia la mia app PoC: orchestrazione di micro-modelli
La prospettiva più interessante per il futuro del software non è affidarsi a un singolo, gigantesco modello “tuttologo”, ma creare un ecosistema in cui tanti piccoli modelli vengono specializzati per funzioni precise, coordinati da un orchestratore centrale. È in questo contesto che bisogna fare chiarezza su due tecnologie spesso confuse. Il RAG, ovvero Retrieval-Augmented Generation, fornisce a un modello documenti e contesti esterni (come fargli leggere un libro a libro aperto). Il fine-tuning, invece, altera i pesi neurali per cambiare il modo in cui il modello ragiona e si esprime (come insegnargli un nuovo mestiere). Sono due strumenti profondamente diversi ma perfettamente complementari, capaci insieme di dare vita ad architetture agentiche di un'efficacia straordinaria.
Conclusione: un nuovo approccio allo sviluppo
Oggi l'intelligenza artificiale locale non significa solo disporre dell'hardware per far girare modelli addestrati da altri. Significa riappropriarsi del ciclo di sviluppo cognitivo. Partendo da poche centinaia di esempi curati, un comune notebook e pochi minuti di calcolo, è possibile forgiare un modello personalizzato, esportabile e robusto. Il futuro per gli sviluppatori non consisterà nell'attesa dell'ultimo grande annuncio della Silicon Valley, ma nella capacità di costruire reti di modelli piccoli, iperspecializzati e capaci di collaborare all'interno dei nostri sistemi. La vera domanda per chi fa ricerca oggi è: quale intelligenza posso insegnare a lavorare esattamente secondo le regole del mio dominio?
La mia app, per me straordinaria, continua il suo cammino in questa direzione, per liberare davvero le proprie potenzialità creative.
