compute acc only valid tokens

This commit is contained in:
51616 2024-12-20 06:48:12 +00:00
parent 22b3ecc045
commit 782a282af4

View file

@ -30,11 +30,12 @@ def compute_metrics(eval_pred) -> dict:
# decoded_labels = tokenizer.batch_decode(labels, skip_special_tokens=True)
# compute per token accuracy
predictions, labels = eval_pred.predictions, eval_pred.label_ids
preds, labels = eval_pred.predictions, eval_pred.label_ids
# predictions is logits for Trainer
preds = predictions.argmax(-1)
acc = (preds == labels).mean()
valid_mask = labels != -100
valid_preds = preds[valid_mask].argmax(-1)
valid_labels = labels[valid_mask]
acc = (valid_preds == valid_labels).mean()
return {"per_token_acc": acc}