Oggi si parla molto di Intelligenza Artificiale, abbiamo visto ChatGPT, poi Google Bard, ImageAI ecc.
Facciamo ora il punto della situazione per quanto riguarda i test di valutazione dell'IA delle macchine, con le varie classificazioni e commenti.
Per prima cosa, questa importantissima distinzione:
- IA forte: macchina in grado di emulare/superare le capacità cognitive dell'uomo (autocoscienza, ecc). Oggi NON esiste ancora e probabilmente siamo molto lontani, anche proprio dal punto di vista concettuale, come approccio allo sviluppo dei software (ora come ora, possono avere un database sempre più grande, pescare nel database e fornire la risposta su base probabilistica); vedi la mia risposta alla discussione Non riusciremo MAI a produrre una vera Intelligenza artificiale?
- IA debole: risolvere compiti specifici, entro vincoli e confini ben specifici; questo anche se la risposta "si presenta bene", come "funzionamento profondo" del software, la base è sempre molto semplicistica e diciamo, semplicemente "si vende bene"; con prompt diversi, domande un po' più specifiche dimostriamo facilmente le varie lacune presenti, soprattutto il fatto che il software NON ragiona, non comprende realmente l'input fornito
Parliamo ora di test: come possiamo valutare un Intelligenza Artificiale?
- Test di Turing - versione tradizionale: pubblicato nel 1950 da Alan Turing, si tratta di ritenere intelligente una macchina se può ingannare un essere umano nella conversazione (ad esempio un chatbot): se l'umano che valuta non riesce a capire se sta parlando con un essere umano oppure una macchina, significa che la macchina è sufficientemente "intelligente" e ha superato il test. Dal punto di vista concettuale, andava bene forse nel 1950, oggi ha più senso valutare test differenti, anche per il diverso sviluppo che ha seguito l'IA (non necessariamente lo scopo è quello linguistico di "sembrare un essere umano"); quindi sono nate delle varianti al test di Turing (dato che il software Eugene Goostman ha superato il test nel 2014, "fregando i giudici", approfondimento):
- Turing test totale: elaborato nel 2010, oltre al test tradizionale vengono aggiunte due prove: la capacità di percezione tramite visione artificiale e manipolare oggetti quindi robotica
- Test di Turing dell'esperto: più che universalità è invece una restrizione, vale a dire che all'interno di un determinato ambito, un esperto del settore non riesce a discriminare fra macchina e umano (interessa solo il risultato in quel campo)
- Test del minimo segnale intelligente: ci si concentra solo sulla capacità di pensiero, risposta binaria (vero/falso) quindi diciamo, non è consentito provare a "vendersi bene" 😁 assomiglia più ad un test del QI e in genere viene usato per comparare i risultati ottenuti da diverse intelligenze artificiali
- Test di Turing inverso e CAPTCHA: il CAPTCHA è conosciuto (e odiato) da tutti, lo possiamo intendere come un test di Turing inverso poiché viene chiesto all'umano di dimostrare di non essere un robot (appunto per evitare la presenza di programmi automatici): quindi è la macchina a valutare noi
- Test Hutter Prize: la comprensione del testo in linguaggio naturale è stata ritenuta più efficace rispetto alle precedenti varianti del test di Turing
- Test di Lovelace: nel 2001 è stata sviluppata questa idea, basata sul concetto di creatività (chiedere al software di creare qualcosa, una poesia, una storia, ecc); il test si considera superato se il programmatore dell'IA non fosse stato in grado di spiegare come sia stata possibile tale risposta; una nuova versione invece compara la capacità di inventare a ruota libera (creatività) con la capacità di inventare attenendosi a delle regole ("raccontami una storia/poesia che parla di questo..."); approfondimento: loveleace.pdf
- Schema di Winograd (WSC): sviluppato nel 2012, l'aspetto chiave è che le domande derivano da "schemi di Winograd", strutturati in modo da discriminare buonsenso e ragionamento in vari campi diversi; scritti in modo tale da evitare ambiguità linguistiche che potrebbero incidere sul risultato; un esempio è questo (in inglese):
The city councilmen refused the demonstrators a permit because they [feared/advocated] violence
The choices of "feared" and "advocated" turn the schema into its two instances:
The city councilmen refused the demonstrators a permit because they feared violence.
The city councilmen refused the demonstrators a permit because they advocated violence.
The schema challenge question is, "Does the pronoun 'they' refer to the city councilmen or the demonstrators?" Switching between the two instances of the schema changes the answer
In particolare quest'ultimo test, WSC sembra essere quello più accreditato al momento (una volta compreso, può anche essere interessante provarlo fai-da-te, magari con varianti, comparare ChatGPT, Google Bard così come altri tool di IA, creare una statistica di dati e comparare poi i risultati, ricordando che in lingua inglese generalmente il risultato è sempre più accurato rispetto alla lingua italiana).
Secondo studi del 2023 (fonte: paperswithcode.com) i risultati sono questi:
- GPT-4 (OpenAI, ChatGPT Plus): 87,5%
- PaLM 2-L (Google): 83%
- GPT-3.5 (OpenAI, ChatGPT Free): 81,6%
Cosa ne pensate? 🙂 Quale vi sembra un criterio valido e/o cosa avrebbe senso valutare secondo voi (fra questi elencati oppure altri) per poter giudicare, valutare un'Intelligenza Artificiale?