Io non riesco a parlare di LLM (oppure di Machine Learning, ML) senza pensare non alla storia del calcolo ma alla mia storia con il calcolo.
E se dovessi pensare ai suoi inizi, penserei a una Texas Instruments programmabile, senza capacità di leggere schede di memoria: solo RAM. Ma, nel manuale di istruzioni, c'era il listato di Lunar Lander. Quindi, per giocare, dovevi inserire una riga alla volta tutto il codice, operazione abbastanza lunga, e poi giocare. Il video esemplifica parzialmente l'oggetto, perché nel video c'è un HP capace di leggere schede di memoria, quindi tutta la fase "inserisci il codice" manca.
E
fin qui si parla di anni settanta. Nel decennio successivo accaddero
molte cose. Venne fuori il Commodore 64 e i programmi (in BASIC) li
potevi registrare su o caricare da audio cassette. Come si potrà intuire
l'operazione (sia di registrazione che di carica) non era precisamente
velocissima: una cassetta TDK C90 non era fatta per quello, era fatta
per registrare e riprodurre musica, e anche quella era un'operazione lenta.
Non fui tra quelli che mossero i primi passi nella programmazione con
il linguaggio macchina del C64, che era una cosa fatta così:
![]() |
| Su Archive c'è il manuale |
Ma il C64 era poca cosa rispetto a ZX-Spectrum: lo Spectrum aveva il look ed aveva anche giochi pazzeschi, tipo Elite (1984):
![]() |
| Il manuale è qui |
Poi arrivò il primo Macintosh, di tutta un'altra classe rispetto ai PC basati su 8086, che caricavano i primi DOS da dischi da 5 pollici e 1/4: dal prompt dei comandi all'interfaccia grafica. WYSIWYG: what you see is what you get fu una rivoluzione non da poco.
E la prima versione di ChemDraw (1.0, 1986) di Cambridgesoft nacque su Mac e uscì per il solo Mac.
Mai prima di allora si era visto qualcosa del genere: era nato quello che in pochi anni sarebbe diventato lo standard per il disegno di formule di struttura.Ma all'epoca i computer continuavano a servirmi principalmente per due cose, giocare e scrivere (in formato testo, ahimé). All'università i miei amici fisici invece lavoravano con terminali VAX e gli studenti usavano prima TeX e successivamente LaTeX per scrivere la tesi. Per fare un esempio di LaTeX, questo
\Psi_1 = \frac{1}{2}\Phi_s + \frac{\sqrt{3}}{2}\Phi_{p_z} (inciso rilevante: se credete che si tratti di qualcosa di obsoleto la quasi totalità degli LLM in circolazione usa LaTeX per gli output matematici, poi esegue il rendering con librerie come MathJax - e l'editor di Substack ha una bella funzione per LaTeX in linea).
Poi arrivarono gli anni 90 (qui) e così via. Chi lavorava su quello che al tempo era definito "intelligenza artificiale" programmava in LISP e circolava un detto: un sistema intelligente non è mai più intelligente di chi lo ha programmato.
A questo punto una differenza dovrebbe essere facilmente percepibile: con gli LLM e i prompt in linguaggio naturale la barriera di ingresso costituita dall'inserimento dell'istruzione sotto forma di uno specifico codice è stata rimossa.
Ma i processori continuano a non ricevere istruzioni in linguaggio naturale, così come non lo fanno un interprete Python o un compilatore C. Gli stessi LLM sono fatti con codice, usano codice, producono codice, eseguono il rendering di codice. E c'è una cosa che il linguaggio naturale non possiede: la precisione della matematica che sta dietro a tutti i linguaggi dall'assembler del C64 a Python, quel tipo di precisione che fa fermare l'esecuzione o la compilazione del programma se una singola istruzione è scorretta.
Programming demands significantly higher standard of accuracy. Things don’t simply have
to make sense to another human being, they must make sense to a computer.
Donald Knuth
Nel caso degli LLM
niente di tutto questo, quasi ogni prompt produrrà un output apprentemente appropriato. E in questo
caso il debugging, se necessario, prevede quello per cui la maggioranza
degli utenti cerca in un LLM, cioè la competenza. E' un grosso guaio: ChatGPT per esempio, se usato senza il plugin Wolfram (che oggi va
installato), è capace di
allucinazioni matematiche servite con la massima nonchalance: nel calcolo di tre valori, senza plugin Wolfram, può fare disastri (i valori corretti sono quelli ottenuti con Python).
E questa è la realtà effettiva per i molti, che magari si entusiasmano per la notizia della soluzione di problemi matematici a lungo irrisolti da parte del modello di punta di OpenAI. Una realtà che si intreccia con la grande illusione dei nostri tempi: parlare alle macchine in una lingua che non è la loro, cioè la nostra.





Nessun commento:
Posta un commento