1.2.3 面临的关键挑战
面对海量而分散的训练数据和算力,如何实现高性能的跨数据中心分布式机器学习成为推动人工智能持续发展和大规模落地的关键。在传统的面向单个数据中心的分布式机器学习系统中,近年来网络领域的研究者积极探索了其中的通信加速技术,并已研发出一些理论和优化设计。总体来说,这些设计在单数据中心的理想集群环境中取得了突破性成果,但它们在集群环境或更加恶劣且复杂的跨数据中心场景下存在明显局限。例如,TensorFlow、MXNET、PyTorch等主流开源系统均未针对跨数据中心场景进行优化设计,而在三个先进分布式机器学习系统Bösen、IterStore、GeePS上开展的实验表明,尽管仅在两个数据中心之间运行这些系统,但相比于单数据中心的理想环境,训练时间增长为原来的1.8~53.7倍[136],观测到明显的性能下降。本书的第2章也得到了类似的实验结论。这是因为,随着新型数据中心内部算力和带宽的飞速提升,跨数据中心模型同步的通信效率越发明显地成为分布式机器学习系统的主要性能瓶颈。因此,亟须对跨数据中心的网络传输技术进行创新,进一步优化参数交换的通信性能。具体来说,跨数据中心分布式机器学习面临以下三个关键挑战。
1.数据中心间可用传输带宽有限,周期性的大流量通信引发通信瓶颈
对于多数据中心的网络互联技术,位于同一城市的数据中心之间可以采用密集型光波复用技术和裸光纤直连方式实现物理链路上的互联互通。但是,异地数据中心传输距离远,不具备光纤直连的条件,常租用广域网专线进行连接。另外,即使是同城数据中心,也仅部分合作数据中心之间实现了光纤直连,多数数据中心仍需通过广域网线路传输数据。据真实测量结果,两两数据中心之间的网络带宽通常仅有50~155Mbps[136]。可以看出,不及数据中心内1~100Gbps的大带宽局域网络,数据中心之间的可用传输带宽非常有限,而跨数据中心分布式机器学习需要周期性同步模型参数,这给数据中心之间的广域网线路造成极大压力。据测试,在新加坡和圣保罗两地的数据中心之间运行最先进的IterStore和Bösen系统,相比在单独的数据中心内部运行,运行收敛时间分别增长到了23.8倍和24.2倍[136]。随着模型规模的急剧增加,数据中心之间需要同步的参数量愈发庞大,将导致更严重的通信瓶颈和网络拥塞。
2.数据中心间算力和网络资源差异分布且动态时变,易产生同步阻塞,拉低系统效率
数据中心的机器设备由需求方集中采购,涵盖计算机(含高性能GPU计算卡)、数据存储设备、网络交换机等众多部件,每次集中采购的设备数量庞大、价格昂贵,少则数千万元,多则数亿元,且每年都要进行老旧设备替换等维护工作。这种集中采购行为使得数据中心内部的设备算力和网络带宽总体呈现出同质分布的特点。在分布式机器学习中,计算节点利用本地数字和计算资源并行训练本地模型副本,这些副本将通过通信网络同步上传到参数服务器,用以聚合并更新全局模型参数。在数据中心内部的理想环境下,计算节点的计算和传输步调可以保持相对同步,参数服务器能按时收齐所需模型副本并开始后续处理。然而,对于不同的数据中心,需求方招标要求的设备配置不会完全相同,这导致了集群算力算效的差异。其次,不同数据中心之间的网络带宽也存在差异,例如,美国东部的异地数据中心之间平均网络带宽为148Mbps,而西部仅为21Mbps[137]。这种计算和通信资源分布的差异称为系统异构性(或资源异构性)。
异构资源使得不同数据中心的计算和传输步调不尽相同,而其中算力弱、带宽小的数据中心成为掉队者,使其他数据中心陷入等待,产生同步阻塞现象。系统异构度越强,同步阻塞时间越长,也就越加拖慢模型同步的完成时间和拉低系统的整体训练效率。另外,数据中心和广域网络并不是分布式机器学习的专有环境,数据中心内部的计算资源也要服务于其他计算业务,广域网络中的带宽资源也要分配给其他通信业务,受到多业务竞争的影响,可用的计算和网络资源随时在变化,这种系统资源的动态时变特性使得系统异构度更加难以估计和预测,并可能进一步加重同步阻塞。因此,需要研究面向跨数据中心动态异构集群环境的新型同步和调度技术,降低模型同步阻塞延迟,解决掉队者难题。
3.数据中心之间数字资源相互隔离,数据分布存在统计异构性
用户终端产生的数据就近存储在地区的数据中心,相互隔绝形成数据孤岛。受不同用户群体、不同地区文化的影响,这些数据中心管辖用户的喜好和行为方式存在差异,这种偏好直接反应在不同数据中心的用户数据分布上,并影响跨数据中心分布式机器学习的模型性能表现。业界将这种差异分布的数据称为非独立同分布数据,数据分布的异构性称为数据统计异构性。研究表明,如果处理不当,此种非独立同分布数据将致使训练模型低能且低效[138]。该难题同时也是联邦学习[139]的研究热点,但一直没有得到较好的解决。
实际上,在分布式机器学习领域,如何优化模型传输的通信开销、如何协调模型同步的运行步调、如何改善训练模型的性能表现一直是工业界和学术界重点关注的三大研究问题。近年来,学术界陆续提出新型参数同步架构、参数压缩量化等通信优化方案,但通信优化的技术覆盖面广泛,仍存在较大的提升空间。另外,在现有研究的基础上,如何进一步扩展到跨数据中心分布式机器学习中更复杂的广域通信网络环境,也是广大研究者需要持续努力解决的关键问题。请注意,隐私计算和系统安全也是需要重点关注的问题,但本书不重点讨论它们,感兴趣的读者可以自行参阅相关文献。