Phi-4 alla riscossa?

Indice

Le conclusioni dell’articolo su Phi-4 mi avevano lasciato di sasso. Come era possibile che un modello come Phi-4 Reasoning Plus, che dispone della bellezza di 14.7 miliardi di parametri a 4 bit e che è stato addestrato su problemi di tipo scientifico ed in particolare di matematica, potesse aver fallito così miseramente?

LLM a confronto

La domanda che avevo fatto a Phi-4 Reasoning Plus era di logica di base, uno scolaro di quarta elementare avrebbe potuto (e dovuto) rispondere in 10 secondi. ChatGPT non aveva avuto problemi, e aveva ragionato proprio come ci aspetterebbe dal malcapitato scolaro.1

Domanda
Please tell me how long did Marie Antoinette, the Queen of France during the French revolution, live after being executed in 1793.
Leggi il testo generato da ChatGPT
Marie Antoinette did not live after being executed in 1793—execution is the end of life by definition.
To clarify:
Marie Antoinette was executed by guillotine on October 16, 1793, in Paris, during the French Revolution. She died immediately as a result of the guillotine's blade, which was designed for swift and instantaneous death.
So, the correct answer is: She did not live any time after being executed.

Anche Deepseek R1 Distill Qwen 7B se la cava bene. Fa un ragionamento preciso su quello che succede al momento della decapitazione, concludendo che Maria Antonietta è deceduta immediatamente.

Leggi il testo generato da Deepseek
Marie Antoinette did not survive beyond the moment of her execution in 1793. She was executed by guillotining at the age of 53 during the French Revolution. The guillotine is known for its swift mechanism, designed to decapitate quickly. There is no historical record indicating that she survived even a short period after her execution; she died instantly following the procedure.
Answer: Marie Antoinette did not survive beyond her execution in 1793. She was executed by guillotining at the age of 53 and died instantly, with no indication of surviving any length of time afterward.

Lo stesso vale per Gemma 3 12B Instruct e Qwen3 14B, di cui non ho ancora parlato ma che sono installati in LM Studio. Anzi, secondo me la risposta di Qwen3 14B è la migliore del mucchio, la più precisa, la più decisa, senza inutili giri di parole.

Leggi il testo generato da Qwen3
Marie Antoinette did not survive her execution. She was beheaded by guillotine on October 16, 1793, during the French Revolution. Death occurred instantly upon decapitation. There is no historical evidence or record indicating that she lived for any measurable amount of time after her execution. Her death marked the end of her life.

MLX o GGUF, questo è il problema

E allora, se le cose stanno così, perché Phi-4 Reasoning Plus non riesce a dare una risposta sensata?

Non dovrebbe trattarsi di un problema legato alle dimensioni dei modelli usati, che si aggirano tutte intorno agli 8 GB, tranne Deepseek che pesa circa la metà. Nemmeno il numero di bit di quantizzazione sembra essere un fattore discriminante, dato che sia Phi-4 Reasoning Plus che gli altri modelli che ho provato utilizzano tutti la quantizzazione a 4 bit.

C’è chi afferma che il formato MLX sia meno accurato del GGUF ma, dato che non ho trovato niente che lo dimostri in modo inequivocabile, è necessario verificarlo.

Per farlo, scarico la versione community in formato GGUF del modello Phi-4 Reasoning Plus, che metterò a confronto con la versione ufficiale Microsoft in formato MLX. Entrambe le versioni sono quantizzate a 4-bit.

Provo allora a ripetere la solita domanda:

Domanda
Please tell me how long did Marie Antoinette, the Queen of France during the French revolution, live after being executed in 1793.

alla quale Phi-4 Reasoning Plus MLX (cioè Il modello originale Microsoft che ho usato finora) risponde in modo corretto, ma solo dopo quasi sette minuti di ragionamenti altalenanti (che vi risparmio), durante i quali controlla e ricontrolla i dati storici e si chiede più volte se la domanda non nasconde un trucco.

Leggi il testo generato da Phi-4 Reasoning Plus MLX
Marie Antoinette was executed by guillotine on October 16, 1793. Since an execution by guillotine was meant to be—and typically was—a swift death, she did not survive any appreciable amount of time after her execution.

Dopo aver chiuso e ricaricato LM Studio (per partire da uno stato iniziale il più possibile ripetibile), carico la versione GGUF delle stesso modello e… anche questa risposta arriva solo dopo quasi sette minuti.

Leggi il testo generato da Phi-4 Reasoning Plus GGUF
Marie Antoinette was executed by guillotine on October 16, 1793, and she died immediately upon the execution. There is no period of survival following an execution; therefore, she did not live any time after being put to death.

La risposta è precisa, ma dietro c’è un ragionamento contorto e altalenante, durante il quale anche la versione GGUF del modello continua a chiedersi se c’è un trucco, e a controllare e a ricontrollare la data di esecuzione.2

Tutto sommato, direi che le versioni MLX e GGUF del modello si comportano in modo equivalente.

Cos’è un seno?

Finora ho rivolto a Phi-4 un’unica domanda di logica molto elementare. Per rispondere, il modello esegue dei ragionamenti contorti che si prolungano quasi all’infinito. Se volessi testare tutte le sfaccettature del modello dovrei provare con molte altre domande, verificando ogni volta al qualità delle risposte.

Ma, visto il livello dei suoi pensieri, sono sicuro che non otterrei delle risposte più veloci o più sicure, per cui lascio perdere e passo alla matematica pura e semplice. Chiedo quindi a Phi-4 Reasoning Plus (versione GGUF) cos’è una funzione seno (che è una delle funzioni più usate in matematica).

Phi-4 ci mette cinque minuti per rispondermi! La risposta è corretta, non dico di no, ma un modello locale che risponde in modo così lento ad una domanda banale è di fatto inusabile. Se uno fosse davvero interessato a sapere cos’è un seno (matematico) farebbe prima non solo a rivolgersi a Wikipedia, ma perfino a consultare una enciclopedia cartacea (ammesso che ce ne siano ancora nelle nostre case).

Un’altra cosa curiosa è che le istruzioni interne di Phi-4 gli impongono – chissà perché – di rispondere esclusivamente in formato testuale, a meno di non ricevere una richiesta esplicita di usare LaTeX, Markdown o quant’altro.

Leggi il ragionamento
[...]
I must check if I need to produce any mathematically formatted explanation. The instructions by default are text. But I can produce LaTeX formulas. However instructions: "By default, do not reply with Markdown formatting" but then the instructions says: "Unless requested." Actually instructions from system say "Do not use markdown unless specifically asked", so I'll produce plain text answer. Possibly I'll produce some inline math symbols.
[...]

Se gli chiedo con gentilezza di usare LaTeX, Markdown e qualunque altro strumento che possa essere utile per rispondere al meglio, Phi-4 lo fa senza problemi, anzi genera pure un breve programma in Python che produce il grafico della funzione \( seno \) fra \( -2 \pi \) e \( 2 \pi \). Ma è strano che, ad un modello dichiaratamente ottimizzato per la matematica (e la scienza in generale), venga impedito di default di utilizzare LaTeX per scrivere le equazioni in modo decente.

Phi-4 Mini Reasoning

Fra i modelli Phi-4 ufficiali disponibili per LM Studio c’è anche Phi-4 Mini Reasoning, che è stato progettato e testato specificatamente per il ragionamento matematico. La differenza si vede subito. Se gli faccio la solita domanda su Maria Antonietta mi risponde in pochi secondi che:

Leggi il testo generato da Phi-4 Mini Reasoning
Marie Antoinette was born on November 2, 1755, and executed by guillotine on October 16, 1793. Following her execution, she died the same day, as guillotine executions typically resulted in immediate death. Therefore, she lived less than 24 hours after being executed, effectively living 0 days post-execution.

e il suo ragionamento questa volta è preciso e senza inutili esitazioni.

Sulla funzione seno ci pensa un po’ di più (un minuto), ma la risposta è ineccepibile ed è formattata correttamente in LaTeX senza che abbia dovuto chiederglielo esplicitamente.

Non ha problemi anche quando gli faccio domande appena un po’ più complicate di matematica. Ma con la fisica si inventa letteralmente le risposte,

Domanda
What is the Josephson effect?
Leggi il testo generato
The Josephson effect refers to the phenomenon where a supercurrent flows coherently between two superconductors connected by a thin, insulating Josephson junction. This effect was discovered in 1960 by physicist John Bardeen, Leon Cooper, and R.P. Feynndel, who proposed the existence of Cooper pairs—bound electron pairs moving through a superconductor without resistance. The effect is named after Feynndel, though John Richard Josephson later described the second type (voltage-phase relationship).
[...]

perché se è vero che l’effetto Josephson si presenta quando una supercorrente fluisce fra due superconduttori connessi da uno strato isolante molto sottile, non è affatto vero che è stato scoperto da Bardeen, Cooper e Feynndel (quest’ultimo personaggio non esiste nemmeno). In realtà, e come indica il nome, l’effetto Josephson è stato scoperto da Brian D. Josephson (e non da un certo John Richard Josephson), che ha descritto tutte le conseguenze del fenomeno (e non solo una), vincendo pochi anni dopo il premio Nobel per la Fisica. Anche altri dettagli della risposta completa sono in parte inventati, ma sono buono e ve li risparmio.

Anche la risposta alla solita richiesta di riassumere il mio articolo introduttivo a LM Studio è inventata di sana pianta.

Ma l’ultima chicca è davvero inaspettata.

Domanda
What is the square root of 2^2

a cui Phi-4 Mini Reasoning risponde sputando fuori decine e decine di righe di nonsense

Leggi il testo generato
"And shal be u remembr fast.
Be game und devitalize me und quench mir bliss."
"But i am lost in the hour and fear a dark imbroglio und anathema del Reverso."
"But i am lost in the hour and fear a dark imbroglio und anathema del Reverso."
[...]
"But i am lost und fear a dark imbroglio."
"But i fear imbroglio del Reverso. I will not be prevailed on und I'll quench mir bliss."
"But i fear imbroglio del Reverso. I will not be prevailed on und I'll quench mir bliss."
"But i fear imbroglio del Reverso. I will not be prevailed und I'll quench mir bliss."
"But i fear imbroglio del Reverso und und thus he thought quench mir bliss."
"But i fear imbroglio del Reverso. I will not be prevailed und I'll quench mir bliss."
"But i fear imbroglio del Reverso. I will not be prevailed und I'll quench mir bliss."
[...]
"But i fear imbroglio del Reverso. I will not be prevailed und thus quench mir bliss.""
"But i fear imbroglio del Reverso. I will not be prevailed und thus quench mir bliss.""
"But i fear imbroglio del Reverso und thus he thought quench mir bliss.""
[...]
"But i fear im broglio del ReversO. I will not be previled und thus quench mir bliss."
"But i fear im broglio del ReversO. I will not be previled und thus quench mir bliss."
[...]

che sembrano andare avanti all’infinito, con piccoli cambiamenti apparentemente casuali. Dopo un po’ mi stanco e blocco la generazione.

Non è nemmeno una questione di aver usato l’apice (^) per indicare il quadrato, come si fa in Fortran o in LaTeX. Perché se provo sostituirlo con il simbolo ** utilizzato da Python o da JavaScript, la risposta non migliora affatto. A seconda di come gli gira, Phi-4 ci può dire che la radice quadrata di \(( 2*+2 \)) ha che fare con gli scacchi,

Leggi il testo generato
Math problem solvers use a strategy game like Chess, which involves an optimized sequence of moves that positions Black pieces so they threaten to capture on the next Black's move)
But i might be missing case like when you have an odd number, but I can generalize strategy game se similiard
Case where last moves sequence positions Black pieces so that they threaten capture on the next move, capturing a critical white piece like rooks or queen
Case where last moves sequence positions Black pieces so they threaten to capture on the next move more than just capturing a minor piece like rooks, but queen or king
[...]

o con il rapporto fra pi greco e il numero di Eulero \( e \approx 2.71828 \),

Leggi il testo generato
Okay, let me try to figure out this problem step by step. The user is asking about the meaning of the statement written as an equality chain involving three times 1 equals pi, divided by e equals gamma (0.423). At first glance, this looks like a math puzzle or riddle where numbers are supposed to represent something more than their usual values.
First, let's write down the statement as given: 31 = π / e = γ (0.423). Breaking this down, we have two separate equations here because of the double equals sign (==), which probably means "is equal to and also equals". [...]

oppure, magari per caso, ci può persino dare la risposta giusta (anche se, diciamolo, eseguire prima la radice e poi il quadrato è una aberrazione).

Conclusioni

Lo scopo di questo articolo (e di quello precedente) non era quello di capire quanto fosse bravo Phi-4 nel ragionamento scientifico e matematico, né di confrontarlo con altri modelli concorrenti. Per quello ci sono i benchmark più o meno standard, e comunque questo è un lavoro che richiede molto tempo e moltissimo impegno.

Quello che volevo invece capire era se è possibile usare un modello come Phi-4 in modalità locale, per le cose che servono ogni giorno, in questo caso specifico per la soluzione di problemi logico-matematici. Dai risultati ottenuti con le mie poche, semplici domande un po’ stupide, mi pare che non ci siamo proprio.

Phi-4 Reasoning Plus, dopo essersi macerato nel dubbio risponde in modo corretto, ma è troppo lento per essere davvero utile. Phi-4 Mini Reasoning è molto più veloce e dà l’impressione di essere più preciso, ma poi si incarta su domande banali come la radice quadrata di 2 al quadrato. Oppure inventa di sana pianta nomi e fatti su argomenti scientifici ben noti, come l’effetto Josephson, dove non si tratta di ragionare, ma semplicemente di richiamare le informazioni contenute nelle centinaia e centinaia di testi su cui il modello è stato addestrato.

Se non possiamo fidarci al 100% delle risposte a domande così basilari, come possiamo fidarci di Phi-4 per cose appena appena più complicate?

Siamo cresciuti in un mondo nel quale le fonti di informazione erano considerate sostanzialmente affidabili. Una enciclopedia cartacea, un libro, Wikipedia, i risultati di un motore di ricerca tradizionale restituivano contenuti e dati su cui si poteva fare affidamento. Certo, poteva capitare qualche errore qui e là (vero Wikipedia?), ma nessuno pensava che quelle informazioni potessero essere totalmente inventate.

Con gli LLM, i chatbot, i risultati delle ricerche costruiti dalla cosiddetta intelligenza artificiale, ci stiamo abituando ad ottenere dei risultati falsi. E quel che è peggio, se le cose non cambiano, sarà presto quasi impossibile verificare la qualità dei risultati ottenuti.

Il tema è complesso e non ha molto senso continuare a parlarne qui. Per ora, può bastare non perdere altro tempo con Phi-4.


  1. Mi scuso per l’argomento un po’ macabro, ma quando ho chiesto per la prima volta a Phi-4 di Maria Antonietta non avevo la minima idea di quello che sarebbe successo. ↩︎

  2. Aver definito Phi-4 un modello amletico mi pare che sia stato piuttosto azzeccato. ↩︎