近期,星云Clustar首席科学家胡水海在一次演讲中详细探讨了联邦学习在处理性能和效率问题上的探索,尤其是通过GPU加速同态运算和高速网络来提升联邦学习的速度。
胡水海指出,联邦学习在模型训练过程中需要处理同态计算和密文传输的问题,这两个方面对算力和网络的要求都很高。为此,星云Clustar选择从GPU加速同态运算和高速网络提升密文传输效率的角度入手,来改进联邦学习的计算速度。
以下是胡水海演讲的核心内容:
目前,AI领域面临的最大挑战之一是数据孤岛问题。大多数企业在开发AI模型时并不缺乏算法和应用场景,也不缺乏优秀的人才,最大的问题是数据不足。每个企业都有一些自己的数据,但这些数据彼此之间是孤立的,没有有效的手段将这些数据高效地连接起来。这导致小企业面临数据不足的问题,而大企业则面临数据垄断的情况。
此外,无论是国内还是国外,对数据隐私的保护越来越受到重视。例如,欧盟早在2012年开始起草保护数据安全和用户隐私的法律法规,2018年5月生效的GDPR更是将用户数据安全提升到了新的高度。在美国,加州也出台了相关法案,明确数据归用户所有。这些趋势表明,企业无法再以明文形式交换数据。
在国内,从2009年起也开始出台一系列保护数据安全和用户隐私的法律法规。总体来看,国内的数据法规政策有两个主要趋势:一是对数据安全的保护越来越严格,去年一些大数据公司因不当共享数据而遭受严厉的法律惩罚;二是对数据安全的保护越来越全面,在各个领域都出台了众多法律法规来保护数据隐私。因此,在上述背景下,解决数据孤岛问题变得更加困难。然而,联邦学习的出现为安全合规地连接数据孤岛提供了一种前景广阔的方法。联邦学习是一种数据不出本地即可实现多方协作建立模型的技术,这种技术能够有效解决国内企业数据孤岛的问题。
联邦学习有许多优点,包括数据隔离、无损性质、平等地位和共同获益等。联邦学习之所以能够实现这些效果,其中一个关键因素是同态加密计算。
同态加密是一种特殊的非对称加密系统,它可以对密文进行计算,而解密后的结果与对明文进行相同计算的结果一致。这种特性使得参与者可以在不知道密文内容的情况下进行数据运算,从而保护用户隐私。然而,同态加密的计算效率较低,部分同态加密(如加法同态和乘法同态)可以作为一种折中的解决方案。
传统机器学习通常使用32位的基本运算,而联邦学习则需要进行1024位或2048位的大整数运算,这导致计算量和传输量显著增加。联邦学习需要进行多次迭代,每次迭代都需要传输大量的密文数据,导致整体计算量和传输量大幅增加。
为了应对这些挑战,我们尝试了使用GPU来加速联邦学习的计算。首先,我们分析了联邦学习的计算特点,发现联邦学习中的计算任务高度并行化,非常适合GPU加速。其次,联邦学习中的计算任务虽然简单但重复次数多,这也适合GPU加速。此外,联邦学习的数据I/O时间占比较小,计算密集型任务更适合GPU加速。
尽管GPU可以加速联邦学习计算,但仍面临三个主要挑战:大整数运算、模幂运算和中间计算结果的存储。我们提出了一些解决方案,例如基于分治思想的元素级并行、使用平方乘算法和蒙哥马利算法优化模幂运算、以及利用中国剩余定理减少中间计算结果。
通过初步评测,我们发现GPU在同态加密和解密方面带来了约6倍的加速比,在密态乘法和密态加法方面分别带来了30倍以上和400倍以上的加速比。
在传输方面,我们主要考虑了两个场景:数据中心内部不同机构间的通信和不同机构间跨区域通信。针对数据中心内部通信,我们采用了RDMA网络技术来优化通信速度。针对跨区域通信,我们引入了GRDMA技术,将传输吞吐量从20G提升到100G,并将传输延迟降低了1000倍。此外,我们还设计了一个名为MLT的网络传输协议,该协议允许一定程度的丢包而不影响模型收敛,从而降低联邦学习的通信时间。
通过这些技术探索,我们希望能够在联邦学习中实现更高的计算效率和通信效率,从而推动联邦学习技术的发展。