Capítulo 2: Calidad y curación de datos
Construcción de conjuntos de datos de entrenamiento de alta calidad
La calidad de los datos determina la calidad del modelo. Este capítulo cubre el filtrado, limpieza y curación de conjuntos de datos.
Dimensiones de la calidad
| Dimensión | Descripción | Verificación |
|---|---|---|
| Precisión | Correcto a nivel factual | Revisión humana |
| Relevancia | Pertinente para su caso de uso | Alineación de dominio |
| Diversidad | Cubre diferentes escenarios | Análisis de distribución |
| Consistencia | Formato y estilo uniformes | Verificaciones automáticas |
| Integridad | Respuestas completas y coherentes | Filtrado por longitud |
Pipeline de filtrado de datos
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)
Eliminación de duplicados
Elimine ejemplos duplicados o casi duplicados:
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)
Puntuación de calidad
Utilice un modelo de puntuación:
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)
Guía de tamaño de conjuntos de datos
| Caso de uso | Tamaño recomendado |
|---|---|
| Adaptación de estilo | 100-500 ejemplos |
| Especialización de tarea | 500-2,000 ejemplos |
| Experiencia de dominio | 2,000-10,000 ejemplos |
| Instrucción general | 10,000+ ejemplos |
Puntos clave
✅ La calidad siempre es más importante que la cantidad
✅ Filtre de manera agresiva para obtener alta calidad
✅ Elimine duplicados
✅ Asegure diversidad en los ejemplos
✅ Revisión humana para aplicaciones críticas