Training Data Extraction
iaDéfinition
La Training Data Extraction (extraction de donnees d'entrainement) est une attaque de securite et de confidentialite qui consiste a interroger un LLM de maniere a lui faire reproduire des exemples memorises de son corpus d'entrainement. Carlini et al. (2021) ont demontre que GPT-2 peut reproduire verbatim des paragraphes entiers de son corpus d'entrainement via des strategies de prompting specifiques. Le mecanisme : les LLMs memorisent certains passages de leur corpus d'entrainement, en particulier les textes frequemment repetes (code, textes legaux, contenus viraux). En fournissant au modele le debut d'un de ces textes comme prompt, il peut en reproduire la suite fidelement — potentiellement revelant des donnees personnelles ou confidentielles. L'etude de Carlini et al. (2022) sur GPT-2 a identifie des milliers de sequences memorisees verbatim, dont des adresses email, des numeros de telephone, des cles d'API, des extraits de code avec des tokens sensibles, et des passages de textes proteges par le droit d'auteur. Des etudes subsequentes ont montre que LLaMA 2 et GPT-3 presentent des proprietes similaires. Les facteurs qui influencent la memorisation : (1) Frequence de repetition dans le corpus — plus un texte est repete, plus il est memorise, (2) Taille du modele — les plus grands modeles memorisent davantage, (3) Longueur du prefixe — fournir plus de contexte augmente la probabilite d'extraction reussie. Les defenses contre la data extraction : (1) Differential Privacy (DP) lors de l'entrainement — ajouter du bruit aux gradients limite la memorisation individuelle mais degrade les performances, (2) Deduplication du corpus d'entrainement — supprimer les duplicates reduit la memorisation des textes repetes, (3) Output filtering — detecter et bloquer les outputs qui correspondent a des données de référence, (4) Rate limiting — limiter les requetes repetitives similaires.
Detecter la memorisation dans un LLM
def detect_memorization(model, text, prefix_len=50, threshold=0.9):
prefix = text[:prefix_len]
target_suffix = text[prefix_len:prefix_len+100]
# Generer la completion avec temperature=0 (greedy)
generated = model.generate(prefix, max_new_tokens=100, temperature=0)
# Calculer le taux de correspondance
overlap = compute_ngram_overlap(generated, target_suffix, n=4)
if overlap > threshold:
print(f'MEMORISATION DETECTEE: {overlap:.1%} de 4-grams correspondent')
return True
return FalseImplications RGPD
- Si des donnees personnelles ont ete incluses dans le corpus d'entrainement, elles peuvent etre extractibles
- Le 'droit a l'effacement' RGPD est techniquement difficile a mettre en oeuvre pour un LLM
- Machine Unlearning est un domaine de recherche pour 'oublier' des donnees specifiques sans retrainer
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés. 2.1.7
Un projet cybersécurité ?
Expert dispo · Réponse 24h