Chapitre 2 : Qualité et curation des données
Construire des ensembles de données d'entraînement de haute qualité
La qualité des données détermine la qualité du modèle. Ce chapitre couvre le filtrage, le nettoyage et la curation des ensembles de données.
Dimensions de la qualité
| Dimension | Description | Vérification |
|---|---|---|
| Précision | Factuellement correct | Revue humaine |
| Pertinence | Pertinent pour votre cas d'utilisation | Alignement de domaine |
| Diversité | Couvre différents scénarios | Analyse de distribution |
| Cohérence | Format et style uniformes | Vérifications automatisées |
| Complétude | Réponses complètes et cohérentes | Filtrage par longueur |
Pipeline de filtrage des données
def filter_quality(example):
"""Filter low-quality examples."""
output = example.get("output", "")
# Length check
if len(output) < 50:
return False
if len(output) > 4000:
return False
# Language check
if not is_english(output):
return False
# Format check
if contains_only_code(output) and not is_coding_task(example):
return False
return True
dataset = dataset.filter(filter_quality)
Déduplication
Supprimer les exemples en double ou quasi-doublons :
from datasets import load_dataset
# Exact deduplication
seen = set()
def deduplicate(example):
key = hash(example["instruction"] + example["output"])
if key in seen:
return False
seen.add(key)
return True
dataset = dataset.filter(deduplicate)
Évaluation de la qualité
Utiliser un modèle de notation :
def score_quality(example):
"""Score example quality 1-5."""
# Could use a classifier or LLM
prompt = f"""Rate this response quality 1-5:
Q: {example['instruction']}
A: {example['output']}
Score:"""
score = scoring_model.generate(prompt)
return {"quality_score": int(score)}
dataset = dataset.map(score_quality)
dataset = dataset.filter(lambda x: x["quality_score"] >= 4)
Directives sur la taille des ensembles de données
| Cas d'utilisation | Taille recommandée |
|---|---|
| Adaptation de style | 100-500 exemples |
| Spécialisation de tâche | 500-2,000 exemples |
| Expertise de domaine | 2,000-10,000 exemples |
| Instruction générale | 10,000+ exemples |
Points clés à retenir
✅ Qualité > Quantité toujours ✅ Filtrer agressivement pour une haute qualité ✅ Supprimer les doublons ✅ Assurer la diversité des exemples ✅ Revue humaine pour les applications critiques