Saltar al contenido principal

Métricas de Evaluación

No puedes mejorar lo que no mides. Aquí está cómo decir si tu modelo está realmente funcionando.

Métricas de Clasificación

Accuracy

La métrica más simple - ¿qué porcentaje acertaste?
Accuracy = Predicciones Correctas / Total de Predicciones
Ejemplo: 90/100 correctas = 90% de accuracy Problema: Engañoso con datos desbalanceados. Si el 95% de los emails no son spam, un modelo que siempre dice “no spam” obtiene 95% de accuracy.

Precision & Recall

Precision: De las que predijiste como positivas, ¿cuántas eran realmente positivas? Recall: De todas las positivas reales, ¿cuántas encontraste? Ejemplo para detección de spam:
  • Precision: De los emails marcados como spam, ¿cuántos eran realmente spam?
  • Recall: De todos los emails spam, ¿cuántos atrapaste?

F1 Score

Combina precision y recall en un número.
F1 = 2 × (Precision × Recall) / (Precision + Recall)
Usa cuando te importan igualmente los falsos positivos y falsos negativos.

Métricas de Generación

Perplexity

Qué tan sorprendido está el modelo por los datos de prueba. Menor es mejor.
  • Modelo bueno: Perplexity = 10-50
  • Modelo malo: Perplexity = 100+

BLEU Score

Compara texto generado con texto de referencia. Usado para traducción, resumen.
  • BLEU = 0: Sin superposición
  • BLEU = 1: Coincidencia perfecta
  • BLEU > 0.3: Generalmente decente

Evaluación Humana

A veces la mejor métrica es preguntar a humanos:
  • ¿Esta respuesta es útil?
  • ¿Este resumen captura los puntos principales?
  • ¿Esta traducción es natural?

Curvas de Loss

Training Loss vs Validation Loss

Observa ambos durante el entrenamiento: Patrón bueno:
  • Ambos disminuyen
  • Permanecen cerca
  • Se estabilizan eventualmente
Overfitting:
  • Training loss sigue cayendo
  • Validation loss aumenta
  • Brecha se amplía
Underfitting:
  • Ambos permanecen altos
  • Poca mejora
  • Necesita más capacidad o datos

Métricas Específicas por Tarea

Image Classification

  • Top-1 Accuracy: La clase correcta es la predicción principal
  • Top-5 Accuracy: La clase correcta en las top 5 predicciones
  • Confusion Matrix: Ve qué clases se confunden

Object Detection

  • mAP (mean Average Precision): Calidad general de detección
  • IoU (Intersection over Union): Qué tan bien se superponen las cajas

NER/Token Classification

  • F1 a nivel de entidad: Entidades completas correctas
  • Accuracy a nivel de token: Tokens individuales correctos

Referencia Rápida

TareaMétrica PrincipalBuena Puntuación
Clasificación BinariaF1 Score> 0.8
Clasificación Multi-claseAccuracy> 0.9
GeneraciónPerplexity< 50
TraducciónBLEU> 0.3
ResumenROUGE> 0.4
Q&AExact Match> 0.7

Evaluación Mejorada en AITraining

AITraining soporta evaluación mejorada con múltiples métricas integradas y personalizadas.

Habilitar Evaluación Mejorada

aitraining llm --train \
  --model google/gemma-3-270m \
  --data-path ./data.jsonl \
  --project-name my-model \
  --use-enhanced-eval \
  --eval-metrics "perplexity,bleu"

Métricas Disponibles

MétricaDescripción
perplexityIncertidumbre del modelo (menor es mejor)
bleuSuperposición N-gram con referencia
rougeEvaluación orientada a recall para resumen
accuracyAccuracy de clasificación
f1F1 score para clasificación

API Python

from autotrain.trainers.clm.params import LLMTrainingParams

params = LLMTrainingParams(
    model="google/gemma-3-270m",
    data_path="./data.jsonl",
    project_name="my-model",

    use_enhanced_eval=True,
    eval_metrics=["perplexity", "bleu"],
)

Métricas Personalizadas

Registra métricas personalizadas para evaluación especializada:
from autotrain.metrics import register_metric

@register_metric("my_custom_metric")
def compute_custom_metric(predictions, references):
    # Tu lógica de puntuación personalizada
    score = ...
    return {"my_custom_metric": score}

# Luego úsalo en el entrenamiento
params = LLMTrainingParams(
    ...
    use_enhanced_eval=True,
    eval_metrics=["perplexity", "my_custom_metric"],
)

Consejos Prácticos

  1. Siempre usa conjunto de validación - Nunca evalúes en datos de entrenamiento
  2. Considera la tarea - Accuracy no siempre es mejor
  3. Observa tendencias - Mejorar es más importante que números absolutos
  4. Múltiples métricas - Ninguna métrica única cuenta toda la historia

Señales de Alerta

  • Accuracy de entrenamiento 100%, validación 60% → Overfitting
  • Todas las métricas atascadas → Learning rate podría estar mal
  • Métricas saltando alrededor → Batch size demasiado pequeño
  • Puntuaciones perfectas inmediatamente → Fuga de datos o bug

Próximos Pasos