Decentralized Training of Foundation Models in Heterogeneous Environments