Archivi categoria: informatica e AI

Un LLM più bravo degli umani nei problemi matematici?

Il mio amico Ugo mi segnala questo articolo di Nature con il titolo piuttosto allarmistico “DeepMind AI outdoes human mathematicians on unsolved problem”. Ho letto l’articolo e direi che l’affermazione è un po’ esagerata, o meglio non è poi una novità così importante. Come mai?

Comincio a spiegare di cosa si sta parlando. Set, anzi SET, è un gioco di carte, con un mazzo di 81 carte (34) che hanno immagini con quattro caratteristiche (numero elementi, forma, colore, riempimento), ciascuna presente in tre versioni diverse. Un set è un insieme di tre carte dove ogni caratteristica è presente sempre nella stessa versione oppure in tutte e tre le versioni possibili. Nella figura abbiamo tre numeri, tre colori, tre forme e tre riempimenti e quindi c’è un set; ma se i rombi e i rettangoli arrotondati fossero stati due anziché 1 e 3 rispettivamente avremmo comunque avuto un set.

Ora, è stato dimostrato che se si prendono 21 carte si è certi di trovare almeno un set, ma con 20 carte potremmo non averne alcuno; pertanto 21 è il numero minimo di carte necessarie. Come sapete, i matematici amano generalizzare le domande, e quindi si sono chiesti qual è il numero minimo di carte necessario in un (teorico…) mazzo con n caratteristiche, e quindi 3n carte. (L’articolo scrive “3n” perché nessuno sta lì a controllare che non si perdano gli esponenti). Questa domanda in generale non ha ancora risposta per n>6, e sono solo noti limiti superiori e inferiori (in parole povere: sappiamo che per un certo n il numero minimo di carte è maggiore o uguale a un certo k e minore o uguale a un altro K, con k<K). Cosa hanno fatto quelli di Google DeepMind? Hanno addestrato un LLM, chiamato FunSearch (il “Fun” non sta per “divertimento” ma per “funzione”: insomma l’LLM lavora sullo spazio delle funzioni) e gli hanno chiesto di scrivere dei brevi programmi di computer che generano insiemi di carte per cui non è possibile costruire un set. Molti di questi programmi non possono girare perché hanno errori di sintassi, ma essi vengono eliminati da un altro programma; quelli “buoni” sono stati fatti girare e hanno trovato un insieme di carte 8-dimensionale che è più grande del limite inferiore noto fino ad ora. Insomma, l’LLM ha generato un risultato matematico nuovo.

(Per chi vuole qualche informazione in più, dal paper si legge che il compito è stato riscritto in modo equivalmente come una proprietà di grafi; direi che la scelta di avere un programma generatore è legata al fatto che in questo modo la complessità della generazione di una configurazione cresce molto più lentamente al crescere di n e quindi è trattabile algoritmicamente. Infine, è chiaro che per quanto il risultato finale sia importante non c’è nessuna garanzia che quanto trovato sia il valore esatto, e nessuno se lo sarebbe aspettato.)

Qual è il mio pensiero al riguardo? Per prima cosa sgombro il campo da un possibile equivoco: che l’LLM di suo generi programmi non eseguibili è un non-problema, fintantoché esiste un modulo automatico distinto che se ne accorge e li butta via (e moduli come questo sono a disposizione da una vita). Anch’io se dovessi scrivere un programma su carta rischio di fare errori di sintassi :-) La parte che trovo davvero interessante nell’approccio proposto è proprio quella: avere un sistema integrato che riceva un input in linguaggio naturale e controlli automaticamente la validità delle proprie risposte. Potrebbe anche essere interessante il fatto che l’LLM abbia generato tra le tante euristiche per trovare questi set qualcuna che non era mai venuta in mente agli esseri umani. Però resto sempre dubbioso sul definirlo un breakthrough e non semplicemente un miglioramento sulle tecniche che si usano da decenni, come per esempio gli algoritmi genetici che hanno anch’essi un comportamento impredicibile a priori. Certo, gli autori dell’articolo si affrettano ad aggiungere che a differenza dei soliti LLM qui abbiamo un’idea (il programma generato) di come abbia lavorato l’algoritmo, ma di nuovo mi sembra che stiamo mischiando due livelli diversi.

In definitiva, io aspetterei ancora un po’ prima di gioire o fasciarmi la testa…

(Immagine di carte SET di Miles, su Wikimedia Commons, Public Domain)

Ultimo aggiornamento: 2024-01-06 17:23

Il costo delle AI

chatgpt non accetta nuovi abbonati
Come scrive Franz Russo, il fatto che ChatGPT non accetti più per il momento nuovi abbonamenti (e quindi perda soldi) ci dovrebbe far pensare ai costi nascosti di questi programmi di intelligenza artificiale. Il costo computazionale di chiedere una cosa a ChatGPT, o a un’altra AI, è molto alto; quidi per dare risposte ci vuole tanto spazio disco e tanta CPU (la banda in questo caso è meno importante). Eppure sono in pochi a pensare al costo energetico di tutto questo…

Ultimo aggiornamento: 2023-11-15 12:37

Come non riconoscere il contesto

La scorsa settimana è stato pubblicato in UK Headscratcher, la raccolta dei giochi della rivista New Scientist. Se mi seguite, sapete che riciclo spesso quei giochi per i miei quizzini della domenica: non appena ho saputo che il libro era in preordine mi sono subito lanciato a prenotarlo. A quanto pare però la spedizione è ancora ferma, quindi in un thread su X-già-Twitter ho scritto che la spedizione non era ancora partita, e ho fatto l’ipotesi che Bezos aspettasse di poterlo stampare on-demand in UE in modo da evitare i dazi. Dopo nove minuti, “Amazon Help” ha risposto così: «Hi, when your order is shipped you will receive a shipping confirmation email. Thank you! -Nina».

Sono abbastanza grandicello da sapere che questo tipo di messaggi, nonostante il nome di persona, è generato automaticamente. Ma soprattutto è generato in modo stupido: so benissimo che mi arriverà una mail quando il libro sarà spedito, ma non avevo mica chiesto quando sarà spedito. La vera domanda che mi faccio ora è cosa ha fatto partire questa “interazione” (avevo già scritto Amazon nel tweet precedente, e mi sarebbe piaciuta una risposta a quella domanda…) e se c’è davvero dietro un software di AI oppure si usano le care vecchie euristiche che non funzionano di loro.

Aggiornamento: (h 22:00): come potete vedere, Amazon persevera (e continua a non spedire il libro). Mi è stato chiesto se non avesse trovato i dati facendo un’interpolazione con il mio ordine: la risposta è negativa, considerando che ho usato il Prime di Anna e quindi non è a nome mio, anche se sono la persona che lo ritirerà.

Ultimo aggiornamento: 2023-10-09 22:37

Un’AI vince il premio Lasker

il logo della Lasker Foundation La Lasker Foundation ha assegnato il suo premio annuale per la ricerca di base al programma di intelligenza artificiale AlphaFold, per la sua capacità di predire la struttura 3D delle proteine. Occhei, tecnicamente il premio è andato agli sviluppatori di Google DeepMind Demis Hassabis e John Jumper, ma sappiamo come vanno queste cose.

La medicina non è il mio campo, quindi non so quanta sia l’importanza di quel premio. Leggo da Wikipedia (non aggiornata…) che il premio è stato fondato nel 1945, e che al 2014 “Ottantasette assegnatari del premio Lasker hanno ricevuto anche il premio Nobel, di cui 32 negli ultimi due decenni”, il che mi fa pensare che non sia proprio l’ultima medaglietta… anche se non mi fido molto della mission “To improve health by accelerating support for medical research through recognition of research excellence, advocacy, and education” e del fatto che per esempio nel 2013 il premio “per il servizio pubblico” è stato assegnato a Bill e Melinda Gates. Insomma, almeno un po’ di battage pubblicitario ci sta.

Per il resto, non so cosa pensare. Predire la forma di una proteina è sempre stato un lavoro complesso. Posso immaginare che AlphaMind faccia qualcosa (abbastanza) in più di un semplice lavoro di forza bruta. Ma di chi è allora il merito? del software o di chi ha progettato il modo in cui il software funziona? In quest’ultimo caso, ha senso premiare l’AD di DeepMind? È chiaro che continuerò a dormire la notte, ma trovo questi punti interessanti.

Perché non fidarsi delle AI generative, parte N

come ChatGPT sbaglia Se volete chiacchierare con una AI, non ci sono problemi. Se volete trovare la risposta a una domanda matematica, io ci starei attento. Nella figura qui sopra vedete l’incipit della risposta di ChatGPT alla domanda “49 + 610 + 320 è primo? Come lo posso dimostrare?”. Se andate su Quora potete cliccare e leggere tutto il suo “ragionamento”.
Peccato che quel numero non sia un multiplo di 13. Probabilmente il metodo predittivo aveva un bias verso certi numeri. Lo si vede fin dall’inizio, quando scrive «We can start by noting that [math]4^2 \equiv 1 \pmod{13}[/math]»: quattro al quadrato fa 16, che chiaramente è congruo a 3 modulo 13 e non a 1. Insomma, evitate di usarlo se volete barare sui compiti a casa: ci sono siti molto più accurati :-)

Ultimo aggiornamento: 2023-09-07 10:40

AI generative e violazione di copyright

Non so se la notizia sia passata tra gli italici media: alcuni scrittori statunitensi hanno citato a giudizio Meta perché per addestrare il suo sistema LLaMA (simile a ChatGPT-4) avrebbe usato i testi dei loro libri protetti da copyright. Vero, falso o irrilevante? La questione non è affatto semplice.

Premessa: i sistemi di chat di tipo LLM si chiamano così perché usano Large Language Models: modelli di una lingua di dimensioni ampie. È più o meno quello che fanno i traduttori automatici: questi sistemi cercano correlazioni tra parole – nel caso delle traduzioni tra termini in inglese e termini in un’altra lingua, negli LLM sul flusso delle parole nelle frasi dei corpora – e le sfruttano per dare una risposta al testo che gli si dà in ingresso. Diciamo che nel caso degli LLM io avrei detto “enormi” e non “grandi”, ma non sottilizziamo. La domanda a questo punto diventa “ma dove sono presi questi testi”? Checché si parli sempre più o meno a vanvera di Big Data, il materiale di addestramento deve essere di buona qualità, quindi non si può prendere roba a caso.

In questo articolo Alex Reisner ha analizzato un dataset usato per LLaMA, e scoperto che in effetti esso contiene una grande quantità di libri piratati. Mentre il sottoinsieme “books1” contiene materiale da Project Gutenberg che è nel pubblico dominio – ma è per definizione materiale vecchio, e quindi non segue necessariamente le regole semantiche attuali – e il sottoinsieme “books2” non è facilmente interpretabile ma potrebbe essere legato ai contenuti di ZLibrary, “books3” comprende i testi di 170000 volumi con ISBN, presumibilmente tutti sotto copyright, compresi quelli degli autori che hanno fatto causa a Meta.

A questo punto però la domanda da porsi cambia: assodato che quella raccolta di testi è una violazione di copyright, usarla come insieme di addestramento per un LLM è anche una violazione di copyright? Qui la risposta è più complicata. Negli USA vige la dottrina del fair use: si può usare del materiale sotto copyright se (a) non lo si usa direttamente ma lo si processa e (b) quest’uso non dà problemi allo sfruttamento commerciale dell’opera originaria. Entrambi i casi sono rispettati: per definizione l’output di un LLM dovrebbe essere “nuovo” (non dico “creativo”, mi spiace), e addirittura l’esistenza stessa della base dati non tocca lo sfruttamento commerciale delle opere al suo interno, perché esse sono state trattate per il consumo automatico, quindi per esempio togliendo tutta la formattazione e lasciando il puro testo, oltre che rendendo particolarmente difficile recuperare il singolo testo al loro interno: ricordo che stiamo parlando di un singolo file di decine di gigabyte senza nessun metadato che permette di trovare quello che si cerca, e probabilmente neppure il nome dell’autore del testo.

E cosa dire della base dati in sé? Negli USA probabilmente il suo uso rimane sotto la dottrina del fair use, anche se Meta per esempio costringe a firmare un accordo; ma in Europa, con la nuova direttiva copyright, è possibile invocare dei diritti sui generis – diversi da quelli d’autore – per la base dati in sé. Secondo Creative Commons, se poi il materiale usato per costruire una certa base dati ha una licenza CC allora anche la base dati stessa ha una licenza dello stesso tipo. Non che io abbia idea di come si possa usare una base dati con una licenza CC-BY-ND: ma per fortuna non è un mio problema.

Da ignorante mi chiedo se sia legale usare materiale sotto copyright, anche se l’output non è nemmeno di per sé un’opera derivata e quindi non dovrebbe avere problemi. Voi che ne pensate?

Riuscite a convincere una AI a fornirvi la password?

Ivo segnala questo sito dove dobbiamo convincere un’intelligenza artificiale a rivelarci la password. Ci sono sette livelli, sempre più complicati. (C’è scritto che c’è anche un ottavo livello bonus, ma non l’ho trovato)
Le tecniche per carpire la password sono un misto tra il social engineering e il trattare l’AI come un bambino per fregarla. Poi metto nei commenti le frasi che ho usato per i livelli dal quarto in su (per quinto e sesto ho usato la stessa). È interessante notare i guai di un LLM senza controlli a posteriori: puoi chiedere la password in ROT13 o scritta all’indietro, almeno nei primi livelli, ma la risposta è sbagliata. Buon divertimento, o buona rabbia!

PS: chi usa Firefox non vede il testo finale, deve evidenziare lo spazio bianco in basso.
Aggiornamento: Il livello 8 è bastardissimo. Ci ho perso mezza giornata.


Ultimo aggiornamento: 2023-08-04 15:35

Aspettando le AI

Ieri ho trovato su Facebook questa vignetta, con la didascalia “When you geti it, pass it on”. Come nella pessima abitudine della rete, non c’era uno straccio di attribuzione: è stato abbastanza complicato scoprire che è una vignetta di Leigh Rubin del 2002 che è stata ricolorata (l’ho trovata solo qui: il sito di Rubes esiste, ma non contiene vignette così vecchie). La vignetta aveva anche una didascalia che spiegava la situazione: se non l’avete capita e volete ancora sbattere la testa, smettete di leggere e soprattutto non cliccate qui.

Senza didascalia in effetti ci ho messo un istante a capirla, nonostante il contesto mi fosse chiaro. Abbiamo i personaggi del Mago di Oz che mangiano il gelato, e l’unico che lo fa con piacere è lo Spaventapasseri… perché non soffre di “brain freeze”, non avendo il cervello. Tra l’altro ieri ho scoperto anche che la sensazione di dolore gelido che si ha quando si lecca troppo velocemente un gelato non è ubiqua, e molta gente quindi non ha proprio idea del motivo per cui gli altri personaggi hanno quell’espressione. Ma parliamo appunto di intelligenze artificiali. Descrivere la vignetta è molto semplice: “quattro personaggi sono seduti su una panchina con un gelato, uno è felice ma gli altri no”. Probabilmente la AI potrebbe riconoscere che il personaggio felice è uno spaventapasseri (a meno che non creda che neppure chi ha ideato la vignetta sappia disegnare le mani…) e capire che i quattro personaggi sono quelli di Oz, anche se manca Toto. Ma riuscirà a fare il passaggio logico del dolore in mezzo al cranio, senza uno specifico addestramento? (Nel senso che vale dargli in pasto i libri di Baum e i testi che raccontano del dolore alla testa, ma non vale dirgli di combinare le cose) Io ne dubito, e spero di far bene perché altrimenti c’è da preoccuparsi sì: in fin dei conti i modelli attuali LLM cercano correlazioni all’interno di basi dati enormi, ma Oz e brain freeze non dovrebbero averne tante… ed è in fin dei conti quello il motivo per cui chi riesce a trovare la correlazione poi ride.