Archivi categoria: informatica e AI

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.

Poveri professori

Mio figlio Jacopo (terza media) doveva fare un compito di inglese, parlando di un parco nazionale statunitense a sua scelta. È arrivato tutto gongolante col suo furbofono, dove aveva chiesto a ChatGPT di parlargli di questo parco e aveva avuto come risposta un malloppazzo di roba.

Ho avuto buon gioco a fargli notare che se avesse provato a scrivere quelle cose la sua professoressa lo avrebbe immediatamente sgamato, visto che non sapeva nemmeno cosa significassero in italiano; così si è rimesso all’opera, usando quel testo più o meno come noi facevamo ai nostri tempi con opere tipo “Il libro delle mie ricerche” (e qui si vede quanto io sono anzyano). Ma direi che è indubbio che gli insegnanti dovranno farsi molto più furbi per trovare un modo per capire di quale sacco è la farina dei compiti a casa. Posso dire che vedo la cosa piuttosto preoccupante?

Sfruttati da ChatGPT

Io sono abbastanza vecchio per ricordarmi di ELIZA, il primo chatbot – ma allora non li si chiamava certo così – che simulava una conversazione con una persona facendo la parte di uno psicologo rogeriano. Non che il modello di ELIZA affermasse di comprendere il testo che riceveva: cercava semplicemente parole chiave nelle risposte e le riformulava come domande. È passato mezzo secolo abbondante. I bot ormai sono onnipresenti nelle interazioni con un’azienda per risparmiare sugli operatori dei call center, ma non è che funzionino tanto meglio. Pare che però la nuova generazione di intelligenze artificiali funzioni molto meglio: da un mesetto tutti possono provare a fare domande di ogni tipo a ChatGPT e vedere con i propri occhi le sue abilità. Occhei, la mia bolla di Twitter continua a mostrare trascrizioni di interazioni dove ChatGPT non ha capito un tubo, tipicamente postate da persone che vogliono mostrare di essere più furbe del computer. Mah.

Quello che vedo io è un modo per i creatori di ChatGPT per testare il proprio sistema con utenti che perdono volontariamente e gratuitamente tempo. Per quanto grande sia il suo corpus di addestramento, non è certo sufficiente per simulare vere conversazioni, che come sappiamo sono spesso poco coerenti e sul pezzo. L’unico modo per avere un feedback reale è portare l’AI nel mondo reale: in questo modo, anziché pagare gli esperti per trovare regole pratiche, si sfruttano le regole empiriche di chi non capisce di essere adoperato. Non è un grande problema, non credo che noi siamo anche solo vicini alla singolarità predetta da Kurzweil. Ma resta un punro di attenzione.

Ultimo aggiornamento: 2023-01-04 09:57

Help! Google Docs e la conversione a Word

Ho scritto una cinquantina di cartelle di testo in Google Docs (mi sa che non lo farò più…). Ho fatto il lavoro a spizzichi e bocconi, a volte copiando testi in PDF e rimettendoli a posto per conto mio, a volte scrivendo da zero. Alla fine ho convertito in docx, e mi sono trovato un testo che ogni tanto aveva un font stranissimo, nonostante tutto il testo originale fosse nello stile Normal e avessi passato il “paint style” per sicurezza.

Da Word ho scoperto che il font stranissimo era Gungsuh (coreano, anche se comprato da Microsoft). Vabbè, una volta capito qual era il busillis non mi ci è voluto molto a convertirlo in Times New Roman nel documento Word: ma mi resta il dubbio su come sia stato possibile averlo in qualche proprietà nascosta di Google Docs, e soprattutto come fare a toglierlo in originale. Qualche idea?

Ultimo aggiornamento: 2022-12-22 10:55

Linguaggi di programmazione molto esoterici

“Hello World” in Piet (vedi https://en.wikipedia.org/wiki/Esoteric_programming_language#Piet )

Io sono molto anzyano, e sapevo dell’esistenza di linguaggi di programmazione volutamente incomprensibili come per esempio INTERCAL. Ho però appena scoperto che esiste una pletora di questi linguaggi, generalmente inventati per divertimento: trovate un elenco su esolangs.org e le relative implementazioni a tio.run.

Segnalo due linguaggi in particolare: Shakespeare, dove le istruzioni sono righe di opere in stile appunto scespiriano, e Rockstar, che invece usa testi metallari. (Per dire, cito dalla sua documentazione: «(Anche se non tipici, Eleanor Rigby, Peggy Sue, Black Betty, e Johnny B Goode sarebbero tutti nomi validi per una variabile in Rockstar.)»
Per darvi un esempio, ecco come verrebbe programmato il gioco per bambini FizzBuzz, quello in cui si conta da uno in su ma ogni volta che il numero è un tre o contiene un multiplo di tre bisogna dire Fizz! mentre se il numero è un 5 o contiene un multiplo di cinque bisogna dire Buzz!.

In Shakespeare (vedi qui per una spiegazione):

The Elucidation of Foul Multiples.

Romeo, the hopeless romantic.
Mercutio, the grave man.
Prince Henry, the noble.
Ophelia, the drowned.

Act I: The Revelation Of Wretched Multiples.

Scene I: Romeo The Sweet Talker.

[Enter Prince Henry and Romeo]

Romeo:
You are as rich as the sum of a handsome happy honest horse and a lovely fellow.
Thou art the square of thyself.

[Exit Prince Henry]

[Enter Ophelia]

Romeo:
You are the sum of a beautiful blossoming daughter and the moon.
[Exit Ophelia]

[Enter Mercutio]

Romeo:
You plum.

Scene II: A Pox Upon Both Houses.
Mercutio:
Is the remainder of the quotient between myself and the difference between Ophelia and a
warm wind as good as nothing?

Romeo:
If so, let us proceed to scene V.

Scene III: What's In A Name.
Mercutio:
Is the remainder of the quotient between myself and Ophelia as good as nothing?

Romeo:
If so, let us proceed to scene VI.

Scene IV: You Shall Find Me A Grave Man.
Romeo:
Open your heart!

Mercutio:
Let us proceed to scene VII.

Scene V: I Do Not Bite My Thumb At You.
Mercutio:
Thou art the sum of a warm lamp and Ophelia.
You are the product of thyself and the product of Ophelia and a brave squirrel.
Speak your mind!

You are the sum of yourself and the sum of a rich father and a mother. Speak your mind!

Thou art the sum of the sum of the square of a cute cunning squirrel and a plum and thyself.
Speak your mind! Speak your mind!

Is the remainder of the quotient between myself and Ophelia as good as nothing?

Romeo:
If not, let us proceed to scene VII.

Scene VI: Wherefore Art Thou Romeo.
Mercutio:
Thou art the sum of a fair fine angel and a gentle lovely flower.
You are the sum of a fair daughter and the square of thyself! Speak your mind!

You are as charming as the sum of yourself and the square of a beautiful lovely lamp.
Thou art the sum of thyself and the sum of a rich purse and a plum. Speak your mind!

Thou art the sum of thyself and Ophelia. Speak your mind! Speak your mind!

Scene VII: Good Night, Good Night, Parting Is Such Sweet Sorrow.
Romeo:
You are as noble as the sum of yourself and a Lord.

Mercutio:
You are the product of Ophelia and a warm wind. Speak your mind!

Mercutio:
Am I better than Prince Henry?

Romeo:
If not, let us return to Scene II.
[Exeunt]


Lo stesso programma, scritto in Rockstar (vedi qui per una versione meno metallara):

Midnight takes your heart and your soul
While your heart is as high as your soul
Put your heart without your soul into your heart

Give back your heart

Desire is a lovestruck ladykiller
My world is nothing
Fire is ice
Hate is water
Until my world is Desire,
Build my world up
If Midnight taking my world, Fire is nothing and Midnight taking my world, Hate is nothing
Shout "FizzBuzz!"
Take it to the top

If Midnight taking my world, Fire is nothing
Shout "Fizz!"
Take it to the top

If Midnight taking my world, Hate is nothing
Say "Buzz!"
Take it to the top

Whisper my world

Niente male, vero?

Ah, quello della figura è un programma scritto in Piet (nel senso di Mondrian), che se eseguito ritorna il classico “Hello World”.