Thanks for the feedback.
The biggest upside is, if you have a long running training(say hours, days) and the spot training is interrupted.
You probably don't want to manually monitor to check for the next available spot instance and kick start the training. SpotML takes care of that part.
Also optionally, you can configure it to resume with an onDemand instance on interruption until the next available spot instance.
In essence we try to do it make
i) creating buckets/EBS
ii) code to save to S3 in loop
iii) Monitor for interruptions and resume from checkpoint
parts easy.