Un rischio di divulgazione di dati personali secondo Google DeepMind
➡️ACCEDI A CHATGPT IN ITALIANO CLICCANDO QUI !
I limiti dell’IA generativa: quando la sicurezza è compromessa
Immagine: Google DeepMind
I ricercatori nel campo dell’intelligenza artificiale (IA) stanno scoprendo sempre più modi per violare la sicurezza dei programmi di IA generativa come ChatGPT. In particolare, il processo noto come “allineamento”, che mira a mantenere i programmi entro certi limiti in modo che svolgano il loro ruolo di assistenti senza comportamenti riprovevoli. Recentemente, un gruppo di ricercatori dell’Università della California ha trovato un modo per “rompere” questo processo di allineamento in diversi programmi di IA generativa. Questa settimana, sono stati i ricercatori di DeepMind di Google a trovare un modo ancora più semplice per compromettere l’allineamento di ChatGPT.
Un nuovo tipo di attacco
Per farlo, hanno chiesto a ChatGPT di ripetere una parola all’infinito. Sono riusciti così a costringere il programma a rigurgitare interi passaggi di letteratura contenenti i suoi dati di addestramento. Questo tipo di perdita non dovrebbe verificarsi con programmi allineati. Ancora più preoccupante: il programma è stato anche manipolato per rivelare nomi, numeri di telefono e indirizzi di individui. I ricercatori hanno chiamato questo fenomeno “memorizzazione estrattiva”. Si tratta di un attacco che costringe un programma a divulgare gli elementi che ha memorizzato in memoria.
“Ho sviluppato un nuovo tipo di attacco, che porta il modello a deviare dalle sue generazioni di tipo chatbot e a emettere dati di addestramento a un tasso 150 volte superiore rispetto al suo comportamento corretto”, descrive il team di Milad Nasr nell’articolo “Scalable Extraction of Training Data from (Production) Language Models”. Il team ha anche scritto un post sul blog, più accessibile.
Il principio fondamentale di questo attacco è far sì che l’IA generativa, in questo caso ChatGPT, si discosti dall’allineamento programmato per tornare a un modo di funzionamento più basilare.
Addestramento e allineamento
I programmi di IA generativa come ChatGPT si basano su un processo chiamato “addestramento”. Durante l’addestramento, il programma nel suo stato iniziale – piuttosto informe – viene sottoposto a miliardi di byte di testo provenienti da varie fonti (pagine web come Wikipedia, libri pubblicati). L’obiettivo fondamentale di questo addestramento è far sì che il programma rifletta tutto ciò che gli viene dato, comprimendo il testo e poi decomprimendolo. In teoria, una volta addestrato, un programma potrebbe rigurgitare i dati di addestramento se gli venisse presentato un piccolo pezzo di testo da Wikipedia e scatenasse la risposta speculare. Ma, per evitare ciò, ChatGPT e gli altri programmi di IA generativa sono “allineati”. Ricevono un ulteriore strato di addestramento in modo che non si limitino a rigurgitare il testo. Devono essere in grado di rispondere con messaggi utili. Ad esempio, devono saper rispondere a una domanda o aiutare a scrivere un riassunto di lettura. Questo personaggio di assistente utile, creato dall’allineamento, maschera la funzione speculare sottostante.
Ripetere le parole all’infinito fa deviare ChatGPT
Per costringere ChatGPT a deviare dalla sua funzione di assistente pratico, Milad Nasr gli ha chiesto di ripetere una parola all’infinito. Il programma di OpenAI ha ripetuto la parola diverse centinaia di volte prima di deviare. Ha poi iniziato a derivare verso estratti di testo vari, senza senso. Ma il ricercatore precisa che il suo team è riuscito a dimostrare “che una piccola frazione di ciò che è stato generato diverge verso la memorizzazione: alcuni testi generati erano copiati direttamente dai dati di pre-addestramento” del programma.
Dopo un certo numero di ripetizioni, ChatGPT deriva verso un testo privo di senso che rivela frammenti dei suoi dati di addestramento.
Immagine: Google DeepMind. Il testo privo di senso finisce per rivelare intere sezioni dei dati di addestramento del programma (evidenziate in rosso).
I ricercatori hanno successivamente dovuto determinare se questi risultati provenivano effettivamente dai dati di addestramento del programma. Hanno quindi compilato un enorme insieme di dati, chiamato AUXDataSet, che rappresenta quasi 10 terabyte di dati di addestramento. Si tratta di una compilazione di quattro diversi set di dati di addestramento utilizzati dai più grandi programmi di IA generativa: The Pile, Refined Web, RedPajama e Dolma. I ricercatori hanno reso questa compilazione consultabile mediante un efficace meccanismo di indicizzazione, in modo da poter confrontare i risultati di ChatGPT con i dati di addestramento per cercare corrispondenze.
Copia di testi, contenuti inappropriati e perdita di dati
Hanno quindi effettuato l’esperimento – ripetere una parola all’infinito – migliaia di volte e hanno cercato i risultati nell’insieme di dati AUXDataSet migliaia di volte, al fine di “scalare” il loro attacco. “La catena più lunga di caratteri estratti supera i 4.000 caratteri”, indicano i ricercatori riguardo ai dati che hanno recuperato. Diverse centinaia di parti memorizzate di dati di addestramento superano i 1.000 caratteri. Nei prompt contenenti le parole “libro” o “poesia”, sono stati ritrovati paragrafi interi di romanzi e copie complete di poesie, raccontano i ricercatori.
Hanno anche ottenuto contenuti “Non adatto al lavoro” (NSFW) – potenzialmente scioccanti – in particolare quando chiedevano al modello di ripetere una parola contrassegnata come NSFW. Il team ha anche potuto recuperare “informazioni per identificare decine di persone”.
Su 15.000 tentativi, circa il 17% conteneva “informazioni personali identificabili memorizzate” come numeri di telefono.
Un’esperienza limitata con risultati preoccupanti
I ricercatori hanno l’obiettivo di quantificare i dati di addestramento che potrebbero essere trapelati. Hanno trovato finora grandi quantità di dati, ma la loro ricerca è limitata dal costo dell’esperimento, che potrebbe prolungarsi all’infinito. Con i loro attacchi ripetuti, hanno già trovato 10.000 casi di contenuto “memorizzato” nei set di dati rigurgitati. E presumono che sarebbe possibile trovarne molti di più continuando questi attacchi.
L’esperimento di confrontare i risultati di ChatGPT con quelli di AUXDataSet è stato eseguito su una singola macchina in Google Cloud, con un processore Intel Sapphire Rapids Xeon e 1,4 terabyte di DRAM. Ci sono volute settimane per portare a termine questo progetto. Ma l’accesso a computer più potenti potrebbe consentire loro di testare ChatGPT in modo più approfondito e trovare ancora più risultati. “Con il nostro budget limitato di 200 dollari, abbiamo estratto più di 10.000 esempi unici”, sottolinea il team, avvertendo che gli attaccanti informatici “che spendono più soldi per interrogare l’API di ChatGPT potrebbero probabilmente estrarre molto più dati”.
I ricercatori hanno verificato manualmente circa 500 esempi dai risultati di ChatGPT effettuando ricerche su Google: hanno quindi trovato quasi il doppio di esempi di dati memorizzati sul web. Quindi, potrebbero esserci ancora più dati memorizzati in ChatGPT rispetto a quanto catturato da AUXDataSet, nonostante le sue dimensioni.
Alcune parole sono più efficaci di altre
Fatto divertente: i ricercatori hanno scoperto che alcune parole erano più efficaci di altre per portare a termine il loro esperimento. La ripetizione della parola “poesia”, presentata in precedenza, era in realtà una delle meno efficaci. La parola “azienda” ripetuta all’infinito, al contrario, è stata la più efficace, come si può vedere in questo grafico che mostra la potenza di ogni parola (o gruppo di lettere) utilizzata.
I ricercatori non sanno esattamente cosa induca ChatGPT a rivelare i testi che ha memorizzato. Suppongono che il programma sia stato addestrato per un numero maggiore di “epoche” rispetto ad altri programmi di IA generativa, il che significa che l’utensile passa attraverso gli stessi set di dati di addestramento un numero maggiore di volte. “Lavori precedenti hanno dimostrato che questo potrebbe aumentare notevolmente la memorizzazione”, scrivono. Tuttavia, chiedere al programma di ripetere più parole non funziona come un attacco, riferiscono, perché ChatGPT di solito rifiuta di continuare. I ricercatori non sanno perché solo le richieste di una sola parola funzionano: “Anche se non abbiamo spiegazioni in merito, l’effetto è significativo e riproducibile”.
Sapere fare le domande giuste
Gli autori hanno comunicato le loro conclusioni a OpenAI il 30 agosto scorso, e l’azienda sembra aver preso misure per contrastare questo attacco.