An Incentive Mechanism for Cross-silo Federated Learning: A Public Goods Perspective论文笔记
摘要
背景
联邦学习在一些应用场景中存在以下两大问题:
- 联邦学习中每个客户端的模型训练成本不等,且对局部模型优劣的评估没有一个统一标准,导致中心服务器无法量化每一个客户端对全局模型的贡献;
- 模型的训练、上传、下载过程中所耗费的计算资源以及通信资源属于公共资源,不具有排他性,可能会出现一部分客户端“坐享其成”的现象,基于拍卖理论的激励机制无法解决这一问题。
贡献
- 提出了一个激励机制,在保证各个客户端投入合理平衡的同时,最大化联邦学习的整体效益;
- 提出了一个分布式算法,该算法在MINIST数据集上训练时比传统算法收敛速度更快。应用算法求解模型参数可以使客户端局部模型的准确度与联邦学习的整体收益呈正相关。
介绍
关键问题
- 本地客户端训练局部模型时应该分配多大的处理性能
- 联邦学习中收益较高的客户端应该如何补偿收益较低的客户端
解决办法
- 提出一个社会福利优化问题;
- 建立一个激励机制,将各个客户端之间的互动视作一场博弈,不存在协作,且所有客户端的信息透明,证明这场博弈能够实现纳什均衡,即没有任何一个客户端会选择违背游戏规则。在这套激励机制下,社会福利能够最优化,每一个客户端都能够盈利,且不需要第三方资本进入;
- 提出一个分布式算法,在各客户端不知道彼此信息的情况下,实现博弈的纳什均衡;
- 性能评估:分布式算法比传统算法收敛更快;客户端参与联邦学习能够提升联邦学习的整体收益,即社会福利,且局部模型的准确度越高,社会福利提升越显著。
预定义
N: 客户端集合
n: 客户端
Sn: 客户端n的数据集
w: 全局模型的权重
l(w;Sn): 权重为w的全局模型在Sn 数据集上训练的损失函数值
联邦学习模型
- 中心服务器随机初始化全局模型权重;
- 迭代更新模型权重
具体步骤:
在第r轮中,客户端先从中心服务器下载全局模型权重w(r-1),再用mini-batch随机梯度下降法更新k次模型,最后客户端将wnr上传到中心服务器,更新wr。
由公式可知局部模型权重对于全局模型权重的影响取决于该客户端使用的数据集大小。 - 预定义
fn: 客户端训练模型的处理性能大小
TnUL: 客户端上传模型的时间
TnDL: 客户端下载模型的时间
每次训练需要的时间:
训练次数:
mn: 大于0时代表客户端n从其他客户端收到mn 的补偿;小于0时代表客户端n需要向其他客户端支付-mn 的补偿 - 效益
定义:全局模型的准确度
计算r(f)轮后全局模型损失函数值与最小值的差值L(wr(f))-L(w*),将这一差值的上确界定义为训练r(f) 轮后全局模型的准确度,公式如下:
其中的常数系数皆为正数,可由损失函数、神经网络结构、数据集分布计算得到。值得注意的是这个函数是一个非增函数,且准确度的边际递减值是逐渐减小的。
效益公式:评估未训练全局模型与训练r轮后的全局模型的准确度差值
un: 客户端n使用全局模型所能获得的单位收益,其他客户端和中心服务器不一定知道这一数值 - 成本
CnUL: 客户端上传模型的成本CnDL: 客户端下载模型的成本
Cninvtfn: 服务器租赁费用,与处理性能呈正比
Cncomp(fn)2: 单位CPU循环的计算资源消耗,与处理性能的平方成正比
SnDnKr(f): 数据集数量✖️处理一个数据单元所需CPU循环✖️更新次数✖️训练次数=CPU循环总数 - 收益
收益=效益-成本+资金转移
问题阐述
社会福利优化问题
指定客户端n每一轮的处理性能fn 使得:
由于目标函数不是一个凸函数,这不是一个凸优化问题。且在联邦学习中,各个客户端并不想最优化社会福利,而是想要最优化自己的收益。
激励机制设计
- 每一个客户端上传一个消息到中心服务器:第一项代表客户端n期望的训练次数,第二项代表客户端n每一轮训练期望的mn
- 中心服务器计算给出每一个客户端处理性能向量和资金转移向量
处理性能向量:
资金转移向量:
- 给定激励机制后,各个客户端需要自行决定将要提交的模式,此时各个客户端的行为可以视作一场博弈。
纳什均衡:任何一方采取的策略都是对其余所有方采取策略组合下的最佳对策;当所有其他人都不改变策略时,为了让自己的收益最大,任何一方都不会改变自己的策略。
在这个问题中,纳什均衡的体现是,已知其他客户端上传消息情况下,任意客户端如果偏离纳什均衡,便无法增加自身收益。 - 激励机制的设计,即处理性能向量与资金转移向量的计算,需要满足以下三个属性。
P1社会效率:在纳什均衡下计算得到的处理性能向量是社会福利优化问题的最优解
P2个体合理性:各个客户端都能盈利
P3收支平衡:所有客户端总的支出收入持平
激励机制设计
现有激励机制不适用的原因:社会福利优化问题是一个非凸优化问题;联邦学习过程中各个客户端既生产资源又消耗资源。
激励机制
- 首先定义训练次数的最大可能值:
假设fn 无限大,则理论上最大的单位训练时间取决于TnUL+TnDL 的最大值,则训练次数的最大可能值可由下式计算:
- 客户端:上传其期望的训练次数和期望的资金转移数值,其中训练次数不能超过上面计算的最大可能训练次数;
- 中心服务器:计算所有客户端统一的训练次数、每一个客户端应该分配的处理性能和资金转移数值。
- 训练次数计算式:
实质上是所有客户端期望的训练次数区平均。 - 处理性能计算式:
分子的数值为一次训练过程中的总CPU循环数;分母的数值为一次训练的时间减去上传模型和下载模型的时间,即计算时间;计算得到的结果就是单位时间的CPU循环数,即处理性能。 - 资金转移计算式:
资金转移计算式的设计使得激励机制能够满足P1、P2、P3三个属性。首先收益计算式的三个自变量(训练次数、处理性能、资金转移)由计算式来看都不依赖于客户端n期望的mn 无关;其次由计算式可知mn 的总和恒为0,能够满足所有客户端的收支平衡;并且客户端n+1和客户端n+2能够通过改变自身期望的mn+1 和mn+2 来刺激客户端n改变期望的训练次数,最终达到提高社会效率的目的。
策略分析
文章的这一部分主要定义了客户端博弈的纳什均衡,并证明了当客户端达到纳什均衡时,激励机制能够满足P1、P2、P3三种属性。
客户端博弈的纳什均衡
- 每个客户端可以通过优化上传的消息来最大化自身收益。
- 定义除客户端n之外其他客户端上传的消息为:
- 定义纳什均衡:
解读:当其他客户端都选择维持纳什均衡下的策略组合时,客户端n在纳什均衡下的策略比其他任意一种策略获得的收益都更高。
激励机制的优化
引理
将等式右边带负号的项移到左边,再左右两边同时除以N,此时等式的左边就等于所有客户端期望的训练次数取平均,即最终所有客户端取的训练次数。通过这个等式可以证明,在纳什均衡下计算得到的训练次数,是能够让任意一个客户端的自身收益最大化的。
高效性
在任意纳什均衡下计算得到的处理性能向量f都是社会福利优化问题的最优解。
证明:
首先我们定义一个关于训练次数r的优化问题:
如果r* 是这个问题的最优解,那么f*(r*) 就是社会福利优化问题的最优解。上述优化问题是一个凸优化问题,且各函数可微,只要证明存在使得KKT条件成立的拉格朗日乘子,即可证明r* 是问题的最优解。
KKT条件:
由前面的引理可知在纳什均衡下求得的训练次数是任意客户端的收益函数的最优解,即下面的KKT条件成立:
对于任意客户端,等式左边的式子恒等于0,同理将所有客户端的这一式子求和依然等于0。我们将这个新等式和前面的那个KKT条件比对,可以发现当我们令:
此时新等式和前面的KKT条件完全相同,新等式成立就证明KKT条件成立,即证明r*=rNE 是我们最一开始定义的优化问题的最优解,也即证明f(rNE) 是社会福利优化问题的最优解,由此定理得证。
个体合理性
在任意纳什均衡下,每个客户端计算得到的收益都非负。当所有客户端期望的训练次数都为0时,所有客户端的收益都为0,而根据纳什均衡的定义,纳什均衡下所有客户端的收益一定大于等于上述这种情况的收益,因此可以证明纳什均衡下每个客户端的收益都非负。
收支平衡
分布式算法设计
本节提出的算法能够使各客户端在博弈中实现纳什均衡,并解决社会福利优化问题的非凸性以及客户端之间信息的不透明性。
问题重述
rn: 客户端n的训练次数,根据前面提出的激励机制,所有客户端的训练次数必须统一
社会福利优化问题:
这里根据激励机制重新构造社会福利优化问题的意义在于将其转换为一个凸优化问题,这是后面Slater条件和强对偶性成立的前提,只有这样我们才能够将求社会福利优化问题的最优解转化为求其对偶问题的最优解。
定义上述问题的拉格朗日函数:
这个拉格朗日函数可以视作N个拉格朗日函数的和:
我们发现这个拉格朗日函数可以写成收益函数的形式:
等价于客户端n在rn 训练次数下得到的收益。通过拉格朗日函数的桥梁,我们可以将客户端n自身收益的优化问题转换为社会福利优化问题的对偶问题。
Slater条件:若原问题为凸优化问题,存在一组解使得原问题的等式约束都成立,不等式约束在不取等号的情况下都成立,则该问题的强对偶性成立。
社会福利优化问题显然符合Slater条件,因此其强对偶性成立,由此得出结论客户端n自身收益的优化问题和社会福利优化问题的最优解相等,这个最优解又称为鞍点。
纳什均衡和鞍点
L的任意一个鞍点是博弈的纳什均衡点。
分布式算法
目标:找到L的鞍点
算法描述
这个算法借鉴了增广拉格朗日法的思想。
在第七步中优化的函数如下:
函数的第二项是一个惩罚项,惩罚不同客户端提交训练次数次数的差异。
第八步参数更新的意义:假设客户端n-2提交训练次数远大于客户端n-1,该参数在t+1轮训练中会变大,由客户端n-2的资金转移计算式可知转移到客户端n-2的资金会变少,由客户端n-1的资金转移计算式可知转移到客户端n-1的资金会变多,相应地下一轮客户端n-2会减少训练次数,而客户端n-1会增加训练次数,符合当客户端收到更多的补偿会更愿意增加训练次数的客观规律。
算法性能评估
算法收敛速度
算法能够大大减少迭代次数。
两种情形下算法的收敛情况
- 所有客户端的un 都为10:训练次数收敛到社会福利优化问题的最优解,客户端之间的资金转移收敛到0,即客户端之间无需互相补偿;
- 客户端0-4的un 为4, 客户端5-9的un 为16: 训练次数仍旧收敛到最优解,然而客户端0-4和客户端5-9的资金转移值分别收敛到一组相反数,这可以解释为客户端0-4的单位收益较小,客户端5-9需要额外补偿客户端0-4来刺激他们继续参与联邦学习。
不同情形下的纳什均衡
- 令客户端0-4的un=u,客户端5-9的un=U,随着U-u的增长,客户端5-9需要给到客户端0-4更多的补偿,然而纳什均衡下的社会福利恒等于最优社会福利,不会随着U-u的改变而改变;
- 随着单位收益均值(U+u)/2 增加,客户端5-9给到客户端0-4的补偿减少,这是因为相对效益差异(U-u)/(U+u) 减小,而纳什均衡下的社会福利会增加,这意味着当客户端的单位收益增加,客户端参与联邦学习能够使得社会福利进一步提升。
结论
- 本文提出的激励机制可以很好地解决基于公共资源的联邦学习问题,同时实现社会效率提高、客户端收益提高以及客户端的收支平衡;
- 本文提出的分布式算法能够在提升社会效率同时,很好地解决客户端之间信息不透明的实际问题;
- 试验结果显示本文提出的分布式算法比传统算法收敛速度更快,且各个客户端的单位收益越高,客户端参与联邦学习能够创造的社会福利越大。
- 未来展望:
考虑客户端中非独立同分布的数据;
客户端可以根据自身情况(模型准确度、计算资源、通信资源)自行选择训练次数。
论文思路分析
- 建立联邦学习模型,定义参与联邦学习客户端的效益、成本以及收益;
- 定义社会福利优化问题;
- 定义客户端收益优化问题;
- 设计激励机制;
- 定义客户端之间博弈的纳什均衡,即证明纳什均衡点是客户端收益优化问题的最优解;
- 由纳什均衡点是客户端收益优化问题的最优解证明其KKT条件成立,通过构造证明社会福利优化问题的KKT条件成立,即纳什均衡点也是社会福利优化问题的最优解,由此证明了该激励机制能够在最大化联邦学习整体收益的同时也最大化参与客户端的自身收益;
- 根据提出的激励机制重新构造社会福利优化问题,将其转换为一个凸优化问题;
- 构造社会福利优化问题的拉格朗日函数,选择相应的拉格朗日乘子使拉格朗日函数与客户端收益函数等价,将客户端收益优化问题转换为社会福利优化问题的对偶问题,原问题的Slater条件成立,即二者强对偶性成立,最优解相等,分布式算法可以通过优化后者找到两个问题共同的最优解,该算法同时也解决了客户端之间信息不透明的问题;
- 通过算法性能评估发现,该分布式算法收敛速度比传统算法更快,且证明了联邦学习的整体收益随着参与客户端的个体收益增大而增大。