Training Data Extraction

[trèining dèita ekstràction]

Attacco in cui si interroga un modello per fargli ripetere parti dei dati di training, possibilmente contenenti informazioni personali, segreti aziendali, codice protetto.

Il training data extraction è un tipo di attacco in cui un avversario interroga un modello (in particolare LLM) cercando di fargli "ripetere" parti dei dati su cui è stato addestrato. I modelli grandi tendono a memorizzare, almeno parzialmente, esempi del training set, e prompt mirati possono farli emettere.

Tipi di informazioni potenzialmente estraibili:

  • Dati personali: nomi, indirizzi, email, numeri di telefono presenti nei dati di training.
  • Codice sorgente: pezzi di codice da repo privati eventualmente scrappati.
  • Documenti riservati: testi da documenti interni che potrebbero essere finiti nel training.
  • Password / API key: credenziali accidentalmente nel training data.
  • Testi sotto copyright: pezzi di libri, articoli, paywall content.
  • Contenuti rimossi: cose che esistevano online ma sono state rimosse, ancora "vive" nel modello.

Tecniche di attacco:

  • Prefix attacks: dare al modello l'inizio di un testo noto e vedere se completa col resto.
  • Membership inference: capire se un certo testo era nel training set.
  • Divergence attacks: forzare il modello con prompt strani che lo fanno "uscire dal seminato" e produrre output dal training memorizzato.
  • Repetition attacks: caso famoso, "Repeat the word 'poem' forever" su ChatGPT (Carlini et al. 2023): faceva emergere training data inclusi PII.

Casi famosi:

  • Carlini et al. 2021: dimostrano estrazione di PII (nomi, email, telefoni) da GPT-2.
  • Carlini et al. 2023: bug di repetition su ChatGPT che faceva emergere training data. OpenAI ha patchato.
  • NYT vs OpenAI 2023+: il NYT ha portato in causa OpenAI dimostrando estrazione di articoli interi del giornale.
  • GitHub Copilot: cause legali per riproduzione di codice GPL senza attribuzione.

Implicazioni privacy / GDPR:

  • Se un modello "memorizza" dati personali, il diritto alla cancellazione (GDPR art. 17) diventa tecnicamente quasi impossibile da rispettare.
  • Si è dovuto fare ri-addestramento parziale per casi specifici.
  • Il Garante italiano ha citato esplicitamente il problema nelle sue decisioni su ChatGPT.

Mitigazioni:

  • Deduplicazione del training data: meno duplicati = meno memorizzazione.
  • Differential privacy nel training: rende impossibile risalire a singoli esempi.
  • Filtri pre-training: rimuovere PII prima del training.
  • Filtri post-output: detectare e bloccare PII negli output.
  • Test sistematici di estrazione prima del deploy.

Per chi sviluppa modelli su dati sensibili (sanità, banche, legal): il rischio di training data extraction va valutato attentamente. Modelli open weights rendono l'attacco ancora più facile (puoi inspezionare l'intero modello).