Come se la cava chatGPT con i conti?
Da quando è stata resa pubblica chatGPT e successivamente altri modelli simili, sono stati in molti ad eseguire e pubblicare test volti a dimostrare l’inefficienza di questi modelli in virtù della loro incapacità di eseguire diverse tipologie di calcoli o di risolvere problemi che implicano un certo numero di conti che a noi umani appaiono banali.
Il fatto che un modello di AI che ha stupito tutti per la sua capacità di comprendere il linguaggio naturale, non sia in grado di fare come minimo gli stessi calcoli che saprebbe fare una banale calcolatrice scientifica, proprio ad alcuni non va giù.
In realtà è ciò che avviene anche per noi umani. Siamo in grado di affrontare situazioni della vita molto complesse che nessun calcolatore al mondo potrebbe risolvere, ma spesso non siamo capaci di fare banali operazioni a mente o di vincere una partita a scacchi contro il computer.
La computazione e il linguaggio sono funzioni fondamentalmente diverse che presuppongono strutture diverse alla loro base.
I modelli generativi del linguaggio, come ad esempio i modelli basati su reti neurali, sono progettati per generare testo comprensibile e coerente a partire da input. Tuttavia, questi modelli non si adattano bene all’esecuzione di calcoli proprio per le differenze concettuali tra computazione e linguaggio.
Nell’architettura di una rete neurale, i modelli generativi del linguaggio tendono ad essere basati su strati ricorrenti, come le reti neurali ricorrenti (RNN) o le reti neurali trasformazionali (Transformer). Queste reti sono progettate per trattare il linguaggio naturale, modellando dipendenze a lungo termine e tenendo conto del contesto.
Tuttavia, le operazioni di calcolo richiedono un’architettura differente. I modelli generativi del linguaggio possono introdurre errori o ambiguità nei calcoli, poiché non tengono conto delle regole e delle proprietà specifiche della computazione.
Ad esempio, mentre il linguaggio naturale può ammettere varie interpretazioni o ambiguità, i calcoli richiedono precisione e determinismo. Inoltre, i modelli generativi del linguaggio potrebbero non essere in grado di gestire facilmente le operazioni numeriche o di manipolazione dei dati che sono spesso necessarie per i calcoli.
Ecco un esempio:
CLICCA SULL’IMMAGINE PER INGRANDIRE

Ora usiamo Advance Data analysis di GPT4 che elabora i prompt generando ed eseguendo codice di programmazione.
CLICCA SULL’IMMAGINE PER INGRANDIRE

I codici con cui vengono scritti i programmi sono dei linguaggi fatti di parole che si dispongono una dopo l’altra secondo una certa probabilità definita dal contesto, mentre i calcoli sono deterministici.
Da questo e da molti altri esempi simili si evince quanto segue:
“ChatGPT e modelli simili sono dei buoni programmatori ma sono dei pessimi calcolatori”
L’importante è conoscerli per usarli al meglio. Infatti è possibile, come abbiamo visto, far eseguire loro dei calcoli passando attraverso la programmazione e in questo sistemi come Advance Data analysis ci vengono incontro.
Avremmo potuto chiedere direttamente al chatbot di crearci un codice per poi eseguirlo mediante un nostro editor in questo modo:
Genera un codice in python che esegua il seguente compito: “dati questi numeri: 2,4,8,3 l’obiettivo è quello di trovare delle operazioni tra di loro in modo che il risultato sia 30. Fai l’elenco delle possibili espressioni che si possono realizzare con questi numeri usandoli tutti una sola volta ciascuno all’interno della singola espressione. Verifica che le espressioni diano il risultato indicato. Elimina quelle che non danno il risultato indicato.”