top of page

Punture di spillo. A voi un piccolo modello linguistico...

Aggiornamento: 14 ore fa

a cura di Pietro Terna


Ma che cosa è questa intelligenza artificiale? Rischio il tre di italiano iniziando con ma e accetto il rischio. Come ho già riferito nella Porta di Vetro,[1] al pubblico di una mia conferenza ho distribuito un foglietto con la domanda «che cosa rappresenta per lei l’intelligenza artificiale»? La divisione tra visioni positive e negative è risultata netta, ma soprattutto mi hanno colpito alcune espressioni di grande preoccupazione, e se non di paura, sentimento quest’ultimo condiviso da miei amici. Paura di che cosa? Di macchine che sanno mettere in ordine le parole? Certo, l’effetto può anche essere sorprendente, ma sempre di quello si tratta.

 

Soluzioni per tutti... da 100 miliardi di dollari a 10 euro

Faccio un tentativo: presento un’IA di tipo linguistico costruita da me. È quasi microscopica e propongo ai lettori di provare a usarla facendo clic QUI: comparirà direttamente online il mio programma. Si chiama SLM_ANN, per piccolo (Small) Linguistic Model, basato su una Artificial Neural Nework. ChatGPT, DeepSeek, Gemini ecc. usano degli LLM, con la prima L che sta per Large, come la misura grande delle magliette.

Quanto è costato il mio modello? Quelli delle big tech americane si annunciano a colpi da 100 miliardi, più o meno immaginari; poi è arrivato il programma cinese DeepSeek costato, dicono loro, 10 milioni, cioè 10mila volte meno. Io ho speso 10 euro in capsule di caffè per restare sveglio qualche ora di notte e finire rapidamente il lavoro con la scadenza dello spillo del giovedì. Gli altri si riferiscono a dollari, io a euro, facciamo finta che siano uguali con buona pace di Trump: ho speso dieci miliardi di volte meno degli americani! Confesso che mi sono fatto aiutare dall’IA per la programmazione, utilizzando Copilot della Microsoft, tramite WhatsApp, quindi con la scelta più pigra.

Una digressione sulle reti neurali artificiali:[2] sono delle complicate funzioni matematiche per collegare valori di input a valori di output, non uno alla volta, ma tra insiemi di valori. Quelle che funzionano operano come minimo con due passaggi: prima si ottiene un risultato intermedio e poi lo si rielabora per arrivare al risultato finale. Si chiamano reti neurali perché in modo molto approssimato assomigliano a quanto accade con i neuroni del cervello.


E ora giochiamo!

Adesso, se non lo abbiamo ancora fatto, clicchiamo QUI e giochiamo! Per far funzionare il programma useremo il sistema Binder.[3]

Descrivo il programma SLM_ANN cercando di fare in modo che possa essere compreso anche da chi non prova effettivamente a collegarsi. Se collegati, vediamo una pagina web che nella casella numerata 0 contiene le spiegazioni per l’uso. È anche indicata la mini-base di dati su cui il mio sistema ha imparato la conoscenza di cui dispone. Eccola anche qui, scritta usando il segno della virgola per separare i singoli termini:

 il,gatto,mangia,>,il,topo

il,gatto, ,>,miagola,

il,cane,mangia,>,il,gatto

il,cane, ,>,abbaia,

il,topo,mangia,>,il,formaggio

il,bimbo,chiama,>,la,mamma

il,bimbo,mangia,>,la,pappa

il,bimbo, ,>,piange,

bimbo,e,gatto,>,giocano,

Il segno > separa la parte che sarà il nostro quesito al sistema da quella che corrisponde alla risposta attesa. La prima parte può essere composta da due o tre termini, se il terzo manca ci sono due virgole consecutive. La seconda parte può essere composta da uno e due termini, se il secondo manca, la riga si conclude con una virgola senza nulla dopo. Le possibili disposizioni dei 17 termini presenti in quelle espressioni (16 parole più lo spazio vuoto) sono oltre quattromila: 4080 per l’esattezza,[4] senza conteggiare la possibilità di ripetere più volte lo stesso termine.

Con le istruzioni della casella 0 facciamo funzionare il programma. Nella casella 5 trovavamo la frase «il, bimbo, mangia»; dopo l’esecuzione avremo la risposta «la, pappa». Che cosa è successo? Con il dizionario della casella 1 la frase è diventata «1,9,3», rappresentata da tre sequenze di 17 valori 0 o 1, dove 1 compare nella posizione della parola scelta. Nel nostro caso, rispettivamente nelle posizioni 1, 9 e 3, considerando lo 0 iniziale.

L’elaborazione è svolta dalle istruzioni della casella 2 e si ottiene in risposta una coppia di sequenze di 17 valori[5] 0.1 o 0.9 con tutti 0.1 tranne 0.9 in posizione 11 nella prima sequenza e in posizione 13 nella seconda. Il dizionario inverso della casella 1 ci dice che corrispondono a «la,pappa». Provate anche a cambiare i valori con le sequenze che formano la prima parte degli esempi, eseguite la casella 5 come spiegato nella 0 e osservate la risposta: funziona.


Studiamo il funzionamento  

Per capire l’IA generativa ora in auge, quello che è veramente interessante è introdurre frasi non note nella base dati o mal formate: attenzione, si possono usare solo le parole dell’elenco sopra. Proviamo «la,mamma,mangia». Nella base dati non è riportato che cosa mangi la «mamma» e la riposta «la,pappa» è prodotta dal collegamento bimbo-mamma e bimbo-pappa che invece sono presenti. Interessante, molto.

Con una frase mal formata, come ad esempio «il,mangia,topo» che dà la risposta «abbaia», il risultato è insensato e anche non unico nei risultati. In questo caso l’output numerico per la prima parola nella risposta è:

0,106 0,277 0,105 0,081 0,106 0,164 0,0850 0,410 0,153 0,103 0,115 0,236 0,097 0,103 0,179 0,126 0,117

Il valore 0,410, in posizione 7 contando da 0, corrisponde a «abbaia», ma sono anche da considerare 0,277 in posizione 1, che vale «il», e 0,236 in posizione 11, per «la».

Per la seconda parola l’output è:

0,452 0,101 0,094 0,091 0,060 0,099 0,125 0,119 0,162 0,095 0,116 0,066 0,264 0,058 0,096 0,109 0,089

Vince 0,452, in posizione 0, che vale « », cioè spazio vuoto, con «mamma», posizione 12, al secondo posto con 0,264. Quindi: domanda insensata e risposta sconclusionata.

Come funziona?

Se nella casella 3 si sostituisce True (vero) a False e la si esegue, si è travolti dai parametri della rete neurale, preparati dalle istruzioni della casella 2. Una visione semplificata sta nella figura dove gli input valgono 0 o 1 e gli output sono attesi tra 0.1 (falso) e 0.9 (vero), per ciascuna posizione cui corrisponde una parola. I calcoli passano dall’input allo strato intermedio e a quello finale tramite le moltiplicazioni per l’infinità dei parametri (se ne rappresentano solo alcuni), seguite da somme intermedie e trasformazioni matematiche.[6] Nulla di magico o misterioso, ma solo sequenze di calcoli e parole dettati da quanto appreso nella casistica studiata. Nello stesso modo è anche stato prodotto da Copilot il contenuto della cella 2: sorprendente, ma ora sappiamo come ha funzionato la macchina che ha operato per scriverlo.


Il credo di Giambattista Marino

Al baccelliere di musica (piccolo dice lui, grandissimo dico io) che conclude gli spilli ho posto la sfida di concludere in modo adeguato queste tecnicalità. Direi che ha vinto: leggiamo.

È del poeta il fin la meraviglia. Così Giambattista Marino agli albori del diciassettesimo secolo enunciava il proprio credo. Il concetto ci sembra un po’ barocco e non potrebbe essere diversamente, data l’epoca in cui fu espresso. Messi di fronte all’uomo del Seicento ci accorgiamo di come la prospettiva dei tempi nostri sia mutata. Oggi la meraviglia sembra venire dalla tecnologia e la poesia vive rannicchiata in un cassetto polveroso. Decretare se si tratti di vera gloria è un compito che, già in altre circostanze, è stato affidato ai posteri e non ci metteremo noi a fare gli alternativi. Ci basti constatare che abbiamo a disposizione mezzi impressionanti quanto la velocità con cui evolvono. Tornando al Marino, se dalla poesia ci spostiamo alla musica, il discorso si fa anche più scivoloso. Il musicista può stupire con la tecnica ma, quando questa da mezzo si trasforma in fine, siamo prossimi agli spettacoli circensi, rispettabilissimi ma lontani dall’arte. Oppure può cercare la novità ad ogni costo, esperimento rischioso, che ha costituito il cul de sac comunicativo di certe avanguardie. Il parametro ultimo dovrebbe essere la sincerità. Ma per questo non hanno ricette i professori, figuriamoci i baccellieri! Chiudiamo allora con un brano che, se non la meraviglia, potrà suscitare un bel po’ di curiosità.[7] È curioso il suo autore, sono curiosi gli strumenti che usa, rigorosamente acustici, e il taglio dylaniano. Ha qualcosa di meraviglioso il nonsense di cui è permeato, quello sì autenticamente poetico.


Note

[1] Punture di spillo. Parliamo di IA provando ad ascoltare gli altri, https://www.laportadivetro.com/post/punture-di-spillo-parliamo-di-ia-provando-ad-ascoltare-gli-altri 

[3] Ci arriveremo tramite https://bviewer.org; Binder sta a https://mybinder.org.

È gratuito e si basa su lavoro volontario e sulla messa a disposizione di potenza di calcolo gratuita, come si può leggere a https://mybinder.readthedocs.io/en/latest/about/supporters.html 

[4] Per chi vuole approfittarne per ripassare un pezzetto di calcolo combinatorio: dobbiamo calcolare le disposizioni di 17 elementi a 3 a 3, considerando differenti le terne che hanno gli stessi elementi, ma in ordine diverso. La formula propone 17!/(17-3)! dove 17 fattoriale vale 17 moltiplicato per tutti i numeri interi che lo precedono e 14 fattoriale vale 14 moltiplicato nello stesso modo. Semplificando, restano solo da moltiplicare tra loro i numeri 17,  16 e 15. Noterella: se si considerano anche le ripetizioni dello stesso elemento più volte, le possibilità aumentano.

[5] Qui 0.1 invece di 0 e 0.9 invece di 1, per motivi di calcolo utilizzando una trasformazione non lineare (prossima nota) che per produrre 0 o 1 richiederebbe uno sforzo di approssimazione eccessivo.

[6] Con una funzione a forma di S allungata, detta logistica, per approssimare il funzionamento dei neuroni naturali che producono un output solo oltre un certo valore di input.

[7] https://youtu.be/awWhOHGxHZg?si=EEv9fdhR1fUKkPT9. Francis Delacroix di Lucio Corsi, piccolo genio surreale e poetico.

Comments


L'associazione

Montagne

Approfondisci la 

nostra storia

#laportadivetro

Posts Archive

ISCRIVITI
ALLA
NEWSLETTER

Thanks for submitting!

bottom of page