暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

ICDE 2023 | FLBooster:一个高效统一的联邦学习加速平台

时空实验室 2024-01-15
108


联邦学习(Federated learning,FL)需要考虑到隐私问题和数据保护条例,已成为分布式训练全局机器学习模型的范例。FL中涉及大量的计算开销以及通信开销,现有的针对加速训练的研究只考虑单独加速计算或者加速通信,这限制了FL的整体加速能力;除此之外,现有的算法为特定的FL场景设计,通用性较差。因此,今天为大家带来ICDE 2023的论文《FLBooster: A Unified and Efficient Platform for Federated Learning Acceleration》,它提出了FLBooster,一个为联邦学习设计的框架和GPU加速系统,并且使用批处理压缩相关数据,成功解决了开销问题。

1. 背景
在大数据时代,互联网、金融、医学等广泛领域的数十亿物联网(IoT)设备和服务正在产生海的训练数据。将这些训练实例上传到中心进集中模型训练的传统方式可能会遇到隐私泄和网络拥塞问题,特别是对于受隐私政策约束的同参与者⽽言。为了解决这些问题,联邦学习使用大量具有独立数据集的客户端,以一种分布式的方式学习一个共享的机器学习模型,而无需直接观察训练实例。经实验可知,现有的联邦学习框架FATE提供的训练效率无法满足工业应用的要求,归根结底是因为是联邦学习具有大的同态加密(HE) 操作和昂贵的通信开销。为了避免隐私泄,联邦进程中客户端和服务器之间允许交换原始数据,同态加密的密钥大小必须足够大才能击败隐私破解,并且它通常为每个明文生成多个密文,这意味着密文的数远远多于明文的数。因此,在联邦学习过程中,每个客户端都需要上传冗余的密文,导致巨大的通信成本。    
现有的方法要么只针对特定的机器学习模型在特定联邦学习框架下的加速,如逻辑回归模型或者神经网络模型在特定联邦学习框架下的加速,通用性不高;其次,现有的方法针对模型以及数据压缩,通常使用量化和压缩而不加密,不适合联邦学习框架。本论文提出FLBooster,一种联邦学习的加速框架,核心思想是利用GPU加速训练并且使用批处理压缩通信内容,两者结合成功提高联邦学习的性能。
2. 相关定义
2.1 随机梯度下降(SGD)在联邦学习中的应用
几乎所有的联邦学习都支持SGD,使用SGD的模型更新过程如下图:
具体的基于SGD的FL模型训练如图1所示,每个客户端使用公钥加密本地梯度,并将加密的梯度上传到中央服务器;同时,服务器聚合加密的梯度,将聚合结果分发给每个客户端;然后客户端使用私钥解密结果并更新本地模型参数;重复上述操作至模型收敛。由于客户端仅上传加密梯度⽽是原始值,因此在数据传输和数据聚合期间,服务器或外部各方无法获得任何个人信息,保证了数据的安全性。
1  SGD联邦学习模型的训练过程
2.2同态加密    
同态加密的使用是为了保证模型的准确性,对于客户端来说,加密梯度产生的训练结果应该与明文梯度产生的训练结果相同,基本思想如下图所示,其中表示数学运算,m1m2是消息,E是加密函数。
在联邦学习中,加法同态加密可以有效地执安全联邦平均,这允许对密文执特定操作以对明文执行加法,其中Paillier因其简单的实现和可靠的安全性⽽成为最流行的一种。Paillier由以下四个部分组成。
(1)密钥生成:选择两个大素数pq,并计算n=p·q和λ=lcm(p-1,q-1),其中,lcm是最小公倍数函数。
(2)选择一个随机的整数gZn2满足gcd(n, L(gλmod n2))=1。其中gcd是最大公约数函数,L(x)=(x−1)/n。此时,成功生成公钥(g, n)和私钥(p, q)。
(3)加密:对于每个消息m,选择一个随机整数rZn2,并对m进行如下加密:
(4)解密:对于每个密文c,将其解密为

根据以上步骤,可发现涉及模乘法,这里利用蒙哥马利乘法算法了解决模乘法的高复杂性,核心思想是用高效的运算代替复杂的划分和模运算,具体实现如下图所示,这里不多加赘述:    

2 Montgomery multiplication

2.3GPU加速
GPU的核心数远远多于CPU,可以实现高密度、高强度、独立数据的并计算。
3.整体架构
FLBooster包括四层:GPU‑HE、编码化、压缩和API接口,如下图所示:
3  FLBooster架构
3.1GPU‑HE
是FLBooster的底层计算层,提供并同态加密能(包括加密、解密、同态计算)。    
具体实现包括自定义多精度整数并定义多精度整数的算术运算以及何最大化利用GPU资源,包括线程数、寄存器数GPU显存大小等。
(1)多精度整数表示
实现了一个名为FRNS的基于基数的多精度数字系统,以在GPU上表示多精度整数。具体来说,将多精度整数拆分为多个分支,然后由多个线程并
两个多精度整数进行加减:将溢出结果局部存储在该线程中,然后通过线程间通信将溢出结果传播到其他线程中,进行进位(carry)和借位(borrow)。
两个多精度的整数执行乘法:将分支与其他线程中的分支逐个相乘,聚合并将结果传播到其他线程中;使用两个具有相同大小的多精度整数来分别表示最终结果中较重要的字和较不重要的字。
用多重减法和乘法运算替换复杂的除法和其他运算,商通过用更重要的字除以两个多精度整数而得到的,用分子数减去商数和分母的乘积。如果减法的结果溢出,那么通过加法来恢复它。重复这个过程,直到分子小于分母。
使用以2w为基数的无符号数字来表示整数,w是一个字的大小。
一个整数ms=k/w个字表示,其中k=log2mm的位数。对于具有d个线程的GPU程序,每个线程处理s/d个分支或字。
(2)资源管
借助GPU的强大功能,开发了GPU资源管器来管和平衡GPU资源,即线程数、寄存器的数量和内存的大小。
(3)同态加密    
开发了一种高效的基于GPU的并同态加密,包括两个最重要的模运算,即模乘法和模幂运算。为了支持多精度模乘,本文在GPU上实现已知的CIOS方法来进行并行计算,具体算法如下图所示:
4 The parallel Montgomery multiplication
为了支持模幂,将蒙哥马利模乘的GPU实现与滑动窗口指数方法的扩展相结合,成功地将模幂的复杂性从e降低到log2be
除此之外,还开发大整数随机数生成器,方便大素数的生成。
3.2编码量化
由于联邦学习使用的同态加密仅支持无符号整数,因此在加密之前必须将有符号梯度数据转换为无符号整数。现有的联邦学习解决方案倾向于使用安全的方式通过对有效数字进编码和加密来化梯度值,将指数保留在明文中,即(加密(有效数字),指数)。它将数据和模型的近似间隔泄给对手,这也造成数据冗余,增加通信成本。本文设计了新的安全量化方法,将梯度转换为无符号整数。    
(1)根据梯度的分布,对于实数m[-α, α],首先通过线性平移将梯度映射到非负数:e=m+α,其中α表示梯度的界限,通常小于1。
(2)使用r位来放大编码的梯度:q = e (2r − 1)
(3)为了避免梯度聚合中的溢出,保留参与者数量p的最小溢出位数b =log2p,并使用剩余的位数将梯度值量化为误差较小的整数。
因此,从共需要b+r比特。
与现有方案相比,该编码量化更安全、存储成本更低、精度更高。
3.3批量压缩
基于编码化方法,本文开发了批量压缩,将多个明文打包成一个多精度整数并一次性加密。它仅可以减少通信中的密文数量,还可以减少复杂的加密、解密和同态计算。经过编码和量化后,梯度将被转换为固定位数的无符号整数。然后明文将被打包成一个大整数后加密传输。
3.4API接口
将常用算法运算封装成了对用户友好的API接口,如下图所示:
5 提供的API
3.5流水线    
如下图所示,是FLBooster的流水线过程示意图,主要分为以下三个步骤:1)加密(-);2)解密(-);3)同态计算(-)。
6 流水线处理过程
4. 实验
4.1实验设置
使用三个公共数据集:RCV1、Avazu和Synthetic以及选择四个有代表性的联邦学习:同质逻辑回归(Homo  LR)、异质逻辑回归(Hetero  LR)、异质安全增强(Hetero SBT)和异质神经网络(Hetero NN);与世界上第一个工业级联邦学习框架FATE以及最先进的FL加速系统进行性能对比。
4.2实验评估
主要使用计算消耗、通信消耗以及模型收敛偏差这三个方面来对性能进行评估。
4.3实验结果
(1)平均运算时间
各数据集在各模型上的平均运行时间如下图所示,与FATE与HAFLO相比,FLBooster拥有更高的整体效率,总体性能更优。    
7 平均运行时间,以秒为单位
(2)吞吐量
各数据集在各模型上的吞吐量如下图所示,与FATE与HAFLO相比,FLBooster拥有更大的吞吐量,总体性能更优。
8 HE操作中的吞吐量(每秒实例)
(3)硬件利用率
如下图所示,FLBooster拥有更好的GPU硬件利用率。
9 在HE操作中,GPU的利用率
(4)收敛偏差
从下图可知,FLBooster引起的收敛偏差足够小(即远小于5%),因此可以在所有模型和数据集中都被忽略。    
10 1024 个密钥大小的收敛偏差
5.结论
在本文中,提出了一个用于联邦学习的框架和gpu加速系统。为了最大化GPU的计算资源,并行化了加密、解密和同态计算,使计算开销扁平化。此外,为了减少密文扩展造成的通信开销,结合低量化,使用批处理压缩将多个明文打包到一个明文中。它最大化了明文的冗余空间,不仅减少了数据通信量,还减少了同态操作。实验结果表明,该系统在联邦学习方面取得了显著的性能提高。
          
6.参考文献
[1]Z. Zeng et al., "FLBooster: A Unified and Efficient Platform for Federated Learning Acceleration," 2023 IEEE 39th International Conference on Data Engineering (ICDE), Anaheim, CA, USA, 2023, pp. 3140-3153, doi: 10.1109/ICDE55515.2023.00241.
-End-

  鲁茹芸
重庆大学计算机科学与技术专业本科在读学生,重庆大学START团队成员。主要研究方向:时序数据压缩。



Spatio-Temporal Art LabStart Lab2~3GIS

         

               |鲁茹芸

               |李佳俊

                



文章转载自时空实验室,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论