SLM · Il Progetto
Leggo spesso di AI, è parte del mio lavoro. Le notizie delle grandi aziende, le valutazioni degli esperti portano spesso a pensieri contraddittori. Mi sembra che la sensazione prevalente sia quella di non controllare questa tecnologia.
Di solito, quando qualcosa mi interessa davvero, posso fare due cose: smontare l'esistente, o costruirne una versione mia. I grandi modelli AI non si smontano: sono sistemi chiusi, spesso inaccessibili per chi vuole capire cosa c'è davvero dentro. Volevo sapere se un'AI costruita da zero, pensata verso una direzione specifica, potesse essere compresa, e in qualche misura controllata. Ho scelto di costruirla.
Fin dall'inizio ho scoperto competenze che pensavo di avere e invece avevo solo sfiorato, e che avrebbero avuto un peso sia per capire il processo che per relazionarmi con il suo risultato. Per questo ho documentato quanto più possibile: lo scopo, le scelte fatte lungo la strada, i vincoli reali, le domande rimaste aperte. Pensando che potesse essere utile anche ad altri.
L'obiettivo è un modello linguistico addestrato da zero sul corpus di Wikipedia in italiano: una base comune, capace di leggere e scrivere nella lingua, ma non ancora di "capire" nel senso in cui lo intendiamo nella vita quotidiana. Ho dovuto affrontare la domanda su cosa significhi davvero "comprensione" per un programma di questo tipo, e ho scelto di postporla: prima costruire la fondamenta, poi farla crescere, con risorse più grandi, quando sarà il momento.
Accettare questo limite è stata la scelta più produttiva del progetto. Il modello non sarà mai un assistente conversazionale come ChatGPT, e non deve esserlo. Il limite ha definito le condizioni d'uso: un assistente alla scrittura, addestrato su una voce narrativa specifica, capace di mantenere uno stile anche laddove la comprensione astratta manca; e una base su cui costruire specializzazioni leggere per domini professionali precisi.
C'è una seconda sfida che sto portando avanti in parallelo: vorrei che il risultato fosse utilizzabile in spazi hardware piccoli, non solo su macchine potenti e costose. Vedrò se sarà possibile. Per ora sto dirigendo il progetto verso un formato di distribuzione che permetta questo, con le implicazioni architetturali che ne conseguono.
Una parola sull'hardware. Ho lavorato su un Mac Air con 8 GB di memoria condivisa tra CPU e scheda grafica. Non è poco, ma non è nemmeno molto per addestrare un modello linguistico. Ogni volta che il sistema si fermava per mancanza di risorse c'era qualcosa da capire: come funziona davvero la memoria di questi acceleratori grafici, come si gestisce il tradeoff tra la quantità di testo che il modello vede in un colpo solo e la velocità con cui impara. Le limitazioni hanno insegnato cose che nessun tutorial esplicita.
Lascio in eredità i file che sto usando, insieme ai risultati intermedi del training. Addestrare un modello richiede molto tempo, come vedrete se leggete il diario di bordo, e mi sembra giusto che chi viene dopo non debba ricominciare da zero.
Spero di aver fatto qualcosa che aiuti la nostra comunità a capire meglio l'animale che stiamo cavalcando, e a valutare con più consapevolezza le notizie con cui siamo bombardati.
A ciascuno il giudizio finale.