Capítulo 1: Evaluación de modelos ajustados
Evaluación integral del modelo
La evaluación garantiza que su modelo ajustado cumpla con los requisitos de calidad.
Métricas de evaluación
| Métrica | Caso de uso | Herramienta |
|---|---|---|
| Perplejidad | Modelado de lenguaje | Incorporada |
| ROUGE | Resumen | evaluate library |
| BLEU | Traducción | evaluate library |
| Win Rate | Preferencia | GPT-4 judge |
| Precisión en la tarea | Clasificación | Personalizada |
Uso de lm-evaluation-harness
# Install
pip install lm-eval
# Evaluate
lm_eval --model hf \
--model_args pretrained=./my-model \
--tasks hellaswag,arc_easy,mmlu \
--batch_size 4
Evaluación personalizada
def evaluate_task_quality(model, tokenizer, test_cases):
"""Evaluate on custom test cases."""
scores = []
for test in test_cases:
inputs = tokenizer(test["prompt"], return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=200)
response = tokenizer.decode(outputs[0])
# Score (could be rule-based or LLM-based)
score = score_response(response, test["expected"])
scores.append(score)
return sum(scores) / len(scores)
Retención de capacidades
Verifique siempre si se conservan las capacidades del modelo base:
# Compare before/after on standard benchmarks
baseline = evaluate_benchmark(base_model)
finetuned = evaluate_benchmark(finetuned_model)
retention = finetuned / baseline
print(f"Capability retention: {retention:.1%}")