Architecting Peer-to-Peer Serverless Distributed Machine Learning Training for Improved Fault Tolerance