Early stopping + trainer + hub

The trainer pushes the best model, but the automatically-created card reports the performance of the last one.

Check this: Clarification on push_to_hub, best model, and model card