近年来,机器学习取得了巨大进步,但大规模机器学习仍然面临挑战。 以 模型训练为例,由于 TensorFlow、PyTorch 和 XGBoost 等机器学习框架具有多 样性,从而使得在分布式 Kubernetes 集群上自动化训练机器学习模型的过程并 不简单。
不同的模型需要使用不同的分布式训练策略,例如,利用参数服务器或者 考虑了网络结构的集合通信策略。在实际的机器学习系统中,还必须详尽地设 计许多其他重要组件,例如数据摄取、模型服务和工作流编排,以使系统具有 可扩展性、高效性和可移植性。缺乏 DevOps 经验的机器学习研究人员无法轻 松启动和管理分布式训练任务。
目前已经有很多关于机器学习或分布式系统的书籍问世。但还没有一本书 能够同时涵盖二者,并弥合它们之间的差距。
因此,本书将介绍分布式环境中 大规模机器学习系统采用的模式和最佳实践。 此外,本书还包括一个实践项目,通过构建一个端到端的分布式机器学习 系统,将书中介绍的许多模式应用于实际场景。为了实现这个系统,我们将采 用一些最先进的技术,包括 Kubernetes、Kubeflow、TensorFlow 和 Argo。 当 我们以云原生方式从头开始构建分布式机器学习系统时,这些技术备受欢迎, 因为它们能够提供可扩展性和可移植性。