Capítulo 1: Avaliando Modelos Fine-Tuned
Avaliação Abrangente de Modelos
A avaliação garante que seu modelo fine-tuned atenda aos requisitos de qualidade.
Métricas de Avaliação
| Métrica | Caso de Uso | Ferramenta |
|---|---|---|
| Perplexity | Modelagem de linguagem | Built-in |
| ROUGE | Sumarização | evaluate library |
| BLEU | Tradução | evaluate library |
| Win Rate | Preferência | GPT-4 judge |
| Task Accuracy | Classificação | Custom |
Usando 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
Avaliação 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)
Retenção de Capacidade
Sempre verifique se as capacidades do modelo base foram preservadas:
# 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%}")