Oggi racconto di due fallimenti dell’intelligenza artificiale su compiti apparentemente semplici, il che non è poi così strano se ci si pensa su un attimo.
Il primo esempio ha visto giocare una partita a scacchi tra ChatGPT o4, quello che dovrebbe essere il modello di punta di OpenAI, e… il programma di scacchi di (un emulatore di un) Atari 2600, una console del 1977, quando persino io non avevo ancora cominciato a toccare cose di programmazione (ho cominciato con la TI-57 a Natale 1978). Bene, o4 ha perso in modo spettacolare, lamentandosi che non riusciva a riconoscere le icone molto minimali dello schermo dell’Atari, ma non riuscendo meglio nemmeno quando si è passati alla notazione scacchistica standard. E dire che l’Atari era stato settato in modalità “principiante”, roba che forse anch’io che non gioco a scacchi da decenni sarei riuscito a batterlo.
Questo risultato non mi stupisce più di tanto. Ribadisco il mio – ma non solo mio – mantra: un LLM è un autocompletatore con gli steroidi; questo significa che se c’è materiale di addestramento sufficiente, anche senza rinforzo manuale, è probabile che il modello riesca a dare una risposta corretta. Ma ci sono troppe possibili partite a scacchi per sperare che un addestramento generalista possa fare inferire delle regole che valgano per ogni partita. (Un addestramento specifico ce la fa, vedi AlphaGo Zero).
Quello che invece mi ha stupito è questo articolo di Apple, citato qui. (Ve lo dico subito, io ho solo dato una scorsa all’articolo originale e letto il resoconto). L’articolo mostra il risultato di un esperimento sulla risoluzione alcuni semplici problemi, come per esempio quello della Torre di Hanoi, da parte di LLM per così dire standard e modelli che applicano il cosiddetto “ragionamento” (LRM, Large Reasoning Models) per dare una risposta presumibilmente più accurata. Che è successo in questo caso? Nel caso della Torre di Hanoi nelle situazioni semplici, con due o tre dischi, i risultati migliori sono stati ottenuti dagli LLM, il che dimostra una volta per tutte la verità del tormentone “pensare troppo fa male”; addirittura i modelli continuano a esplorare strade sbagliate dopo avere trovato la risposta corretta. Passando a compiti di media complessità, dai 4 ai 7 dischi, in effetti gli LRM si comportano molto meglio degli LLM. Ma superato anche quel valore entrambi i modelli non riescono più a trovare una soluzione, nemmeno se si fornisce loro l’algoritmo per risolvere il problema. E quel che è ancora più strano è che la non-risposta viene data dopo aver generato un numero minore di token, come se il modello si desse per vinto.
Tutto questo vale per i principali modelli attualmente disponibili: in altre parole, nessuno di essi riesce a estrapolare una soluzione generale da quelle particolari, neppure con il cosiddetto “ragionamento”. La Torre di Hanoi ha per esempio una soluzione ricorsiva molto semplice: se devi spostare n dischi dal piolo A al piolo C, ne sposti n−1 da A a B, sposti l’ultimo piolo da B a C, e sposti i n−1 pioli da B a C. Ma esiste anche una semplice soluzione procedurale che non richiede ricorsività: nelle mosse dispari si sposta il disco 1 sempre nella stessa direzione ( A → B → C → A oppure A → C → B → A, dipende da quale sarà il piolo dove si formerà la nuova pila: ma tanto nella peggiore delle ipotesi basta rifare le stesse mosse una seconda volta) e nelle mosse pari si sposta l’unico disco possibile diverso dall’1. Non mi aspetto ovviamente che un LLM standard possa “spacchettare” queste istruzioni per arrivare alla soluzione; ma credevo che nel caso degli LRM esistesse un livello che potremmo definire di generalizzazione (“astrazione” mi pare troppo), mentre evidentemente non c’è. Direi insomma che se il livello attuale è davvero questo possiamo stare tranquilli e continuare a usare gli LLM per generare report che nessuno tanto leggerà :-)