1.2.2 基本架构

跨数据中心分布式机器学习是一种面向多个异地分布数据中心的计算机集群的分布式机器学习技术,旨在不迁移训练数据的前提下,联合多个数据中心的数字和算力资源进行数据挖掘,以在更短的时间内训练得到更高质量的机器学习模型。跨数据中心分布式机器学习的场景架构如图1-22所示。在多数据中心场景下,数据中心异地分布在不同的地理区域,它们可能是云数据中心,也可能是边缘数据中心。这些数据中心之间可以通过Internet网络互联、使用专线互联或使用光纤直连,但考虑到跨地域数据中心之间远距离传输的高昂专线、光纤布线成本,常规数据中心之间仍通过有限带宽的广域网络实现互联互通。每个数据中心拥有高性能计算机集群,数据和算力天然分布在各台计算机上,计算机之间通过大带宽的数据中心局域网络互联。

图1-22 跨数据中心分布式机器学习场景架构

在分布式机器学习的通用范式下,计算机使用本机训练数据计算模型更新(如模型梯度),再通过通信网络交换模型更新以实现模型同步。但是,传统的分布式机器学习主要面向单数据中心场景,模型同步只需在数据中心内部进行,而跨数据中心分布式机器学习则需要跨越数据中心的内外部网络。于是,模型更新需要先在数据中心内部进行同步,然后在数据中心之间进行同步,这意味着系统性能会受到数据中心间有限带宽广域网络的制约。

对于数据中心内部,仍可以借助1.1.4节所述的通信范式进行高效模型同步。而对于数据中心之间,三种典型的通信拓扑如图1-23所示。中心化的典型代表是星形拓扑,即存在一个枢纽中心,其他数据中心的模型更新都往枢纽中心汇聚[134]。另一类是数据中心之间全连接的去中心化通信拓扑,每个数据中心都向其他所有数据中心发送模型更新[135]。第三类拓扑设计利用了覆盖网络的概念,由于近邻数据中心之间拥有比远端数据中心更理想的传输带宽,Gaia将近邻数据中心归为一组,组内的数据中心之间以去中心化方式交换模型更新,同时每个组选出一个枢纽中心,负责聚合组内数据中心的模型更新,并将其与远端组的枢纽中心进行交换[136]。除此之外,Gossip异步去中心化通信范式也可用于数据中心之间的模型同步。

图1-23 三种典型的通信拓扑