Deduplication (LLM Data)
iaDéfinition
La deduplication est une etape essentielle du pipeline de curation de donnees pour les LLMs, consistant a identifier et supprimer les contenus dupliques ou quasi-dupliques du corpus d'entrainement. La recherche montre que les corpus web non dedupliques contiennent jusqu'a 30-50% de duplicates, ce qui gaspille du compute, favorise l'overfitting sur les patterns frequents, et peut amplifier les biais presentes dans les contenus les plus repetes. Les techniques de deduplication : (1) Deduplication exacte — comparaison par hash SHA-256 du document complet (elimine les copies exactes), (2) MinHash + LSH (Locality-Sensitive Hashing) — approximation rapide de la similarite Jaccard entre documents via des signatures de hachage, permettant de trouver des quasi-duplicates (memes documents avec de legeres modifications) a grande echelle, (3) SimHash — variante de LSH specialisee pour la detection de duplicates proches. Broder et al. a demontre que MinHash permet de detecter des quasi-duplicates dans des corpus de milliards de documents en temps quasi-lineaire. Dans The Pile, FineWeb et RedPajama, la deduplication MinHash avec un seuil de Jaccard de 0.8 supprime 20-30% des documents sans perte significative de diversite. Lee et al. (2022) 'Deduplicating Training Data Makes Language Models Better' a montre empiriquement que les LLMs entraines sur des donnees dedupliquees : (1) memorisent moins le corpus d'entrainement (meilleure vie privee), (2) generalisent mieux (moins d'overfitting), (3) obtiennent de meilleures perplexites malgre des corpus plus petits. La deduplication est particulierement importante pour le continual pre-training sur des corpus domaine : les documents techniques d'entreprise peuvent avoir des taux de duplication tres eleves (memes rapports mis a jour, memes clauses contractuelles copiees). Une deduplication rigoureuse avant l'injection dans le modele evite que ces patterns repetitifs dominent les poids.
Deduplication MinHash avec DataTrove
from datatrove.pipeline.dedup import MinhashDedupSignature, MinhashDedupBuckets
# Etape 1 : calculer les signatures MinHash
pipeline_sig = [MinhashDedupSignature(
output_folder='./minhash-sigs/',
num_bands=14, num_rows_per_band=8, # 112 hash functions
n_grams=5 # Shingles de 5 mots
)]
# Etape 2 : grouper par buckets LSH et marquer les duplicates
pipeline_dedup = [MinhashDedupBuckets(
input_folder='./minhash-sigs/',
output_folder='./minhash-buckets/',
jaccard_threshold=0.80 # Similaire a >=80% = duplicate
)]
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.
Un projet cybersécurité ?
Expert dispo · Réponse 24h