研究背景:
基于区块链的联邦学习(BCFL)最近因其去中心化和原始数据隐私保护等优点而受到极大关注。然而,一直以来,很少有研究集中在BCFL的客户资源配置。在BCFL框架中,FL客户端和区块链矿工是相同的设备,客户端将训练好的模型更新广播到区块链网络,然后执行挖掘以生成新的区块。由于每个客户端具有有限的计算资源量,因此需要仔细解决将计算资源分配到训练和挖掘中的问题。
在本文中,设计了一个激励机制,分配给每个客户端适当的奖励的训练和挖掘,然后客户端将确定的计算能力分配给每个子任务的基础上,这些奖励使用两阶段的Stackelberg博弈。在分析模型所有者(MO)的效用之后(即,BCFL任务发布者)和客户端,将博弈模型转换为两个优化问题,依次求解以获得MO和客户端的最优策略。
- 让客户自己决定他们愿意投入多少计算能力来进行训练和挖掘任务。通过这种方式,客户端可以为自己的任务灵活分配计算资源。此外,在我们的模型中,训练和挖掘是按顺序执行的,并且专用于这两个任务的计算能力可能不同。
- 设计了激励机制来奖励客户。训练和挖矿是两个不同的任务,需要不同的计算能力,因此奖励也应该不同。为了确保所有客户的奖励公平分配,我们采用Shapely Value(SV)的方法来确定客户在训练过程中的贡献,这将影响各自优化问题的约束。
- 在完全信息和不完全信息情况下构建了 Stackelberg 博弈模型,并分别解决,但具有不同的见解。基于导出的最优解,我们的系统可以在不同的信息条件下做出最优决策。
本文所作工作:
将 BCFL 资源分配问题建模为两阶段 Stackelberg 博弈,以帮助 MO 决策为每个客户端分配多少奖励进行训练和挖掘,并帮助客户端确定在每个子任务中投入的相应计算能力量,通过最大化它们各自的效用。
为了保持整个BCFL系统的稳定性和可持续性,受SV启发设计了公平的奖励分配方案,根据客户在培训过程中的贡献来计算客户的奖励。
考虑到实际应用场景中设备的训练相关信息可能不为他人所知,进一步研究了不完全信息情况下的资源分配机制,并相应地得出最优解决方案。
通过广泛的实验来测试提出的资源分配机制。实验结果表明这些机制是有效的。
系统模型和问题表述:
MO(Modle Owner),从BCFL系统中接收经过良好训练的最终的全局模型。
系统工作流程如下:
- MO发布FL任务,包含训练和挖矿的奖励。
- 客户端根据 MO 提供的奖励确定用于训练模型和挖掘区块链的计算资源,即每秒的 CPU 周期。
- 每个客户端训练本地模型,然后将模型更新广播到区块链网络。然后,客户开始开采该区块。
- 一旦区块生成,模型更新就会存储在区块链上,奖励将交付给每个客户。
- 客户使用链上经过验证的模型更新来计算全局模型。只要没有达到全局模型的预期性能,客户就会基于聚合的全局模型开始下一轮训练。
客户端在一轮BCFL中的效用Ui
客户端i进行训练和挖矿产生一轮本地模型更新的奖励分别为和
。因此,客户 端i 在一轮 BCFL 中的总奖励为
。
训练和挖矿的能源成本为和
,其中ρi是与芯片架构相关的参数。总的能源成本Ci=Cti+Cmi。
MO在一轮BCFL中的效用Umo
将经过一轮局部训练和挖掘后的全局模型的性能定义为G,可以通过来计算,这里f()是一个单调递增函数,表明所有客户端用于本地训练的CPU周期越多,聚合后全局模型的性能就会越好。
两阶段Stackelberg博弈的过程
在这个博弈中,MO确定用于训练和挖矿的CPU周期频率的单价,然后客户端i根据收到的单价决定其每秒的CPU周期,这意味着客户端i的决策受到MO 的决定。
第一阶段:MO 通过最大化自己的效用来设置每个客户端每秒训练和挖矿的单价,即 pti 和 pmi,具体基于其预算和训练所消耗的 CPU 周期总数每个客户。
第二阶段:客户端收到MO的单价后,通过优化各自的效用来确定相应的算力,即qti和qmi。
信息完整的资源分配(即认为MO已知Ui)
首先,我们为客户端提出公平的奖励分配方案,然后将两阶段的Stackelberg博弈转化为两个单独的优化问题,并依次解决。我们解决这两个问题所采用的方法是逆向归纳法,即需要先分析第二阶段的最优策略,然后再分析第一阶段的策略。
挖矿奖励上限:在每轮 BCFL 中设置固定的总奖励预算 η,其中 ηm 表示所有客户端可以获得的挖矿奖励的上限。是每个客户端可以获得的挖矿奖励的上限。
训练奖励上限:shapely value (SV)衡量一方在博弈中的总贡献,可以简单看下以下计算(枚举所有可能,然后计算加入一方的时候对总体的贡献度影响,再基于权重累加)。
为了保证奖励分配的公平性,我们根据每个客户在培训过程中的贡献来分配奖励。
利用Shapely Value(SV)。客户端 i 的 SV 定义为:
S是客户端集合的子集,代表设备数量。
v(S)是描述客户集S的训练结果性能的函数,假设 v(S) 是与 G 相关的函数,它可以定义为
这个是一个欧几里得函数,g代表目标性能值,然后可以计算分配给每个设备进行训练的奖励的上限为
对于每个客户端来说,其奖励不应该超过得出的奖励上限,所以其约束表达式为
先进行第二阶段(信息完整的资源分配):客户端根据单位奖励设置每秒 CPU 周期
通过利用Karush-Kuhn-Tucker (KKT)求解problem1,可以得到定理3.1:
根据(11)(12)可以看出,随着MO给出的训练单价的增加,客户端i投入训练的每秒最佳CPU周期数也随之增加。每秒用于挖矿的最佳 CPU 周期受到 ψ 的约束,这表明如果挖矿工作需要更多的 CPU 周期,客户端 i 应该使用更大的 q*mi 进行挖矿。
再进行第一阶段(信息完整的资源分配):MO 为客户端设定单价
通过利用Karush-Kuhn-Tucker (KKT)求解problem2,可以得到定理3.2
根据(15)(16)可以看出p*mi和p*ti高度相关。这是因为存在时间和预算限制,因此 p* ti 和 p* mi 不是彼此独立的变量,MO在做出决策时需要平衡p*ti和p*mi来满足约束。
信息不完整的资源分配(即认为MO未知Ui)
其中 MO 不知道每个客户端的 µi 的真实值。因此,MO 需要以这样的方式设定单价,使每个客户都能获得非负收益,同时确保客户诚实地报告 µi 的值。给出了两个定义
定义4.1如果客户 i 给予 MO 提供的奖励的效用是非负的,则资源配置的激励机制是个体理性的,即
定义4.2如果每个客户都能通过如实报告其 µi 获得最优效用,则资源配置的激励机制是激励相容的。即
在信息不完整的情况下,MO需要保证其决策满足(17),以鼓励客户参与工作。此外,MO不知道客户端i的μi,并且MO的决策需要基于客户端报告的μi的正确值,因此MO在做出决策时需要满足(18)
在信息不完整的情况下,MO必须确保所有客户的奖励分配是公平的,客户的效用是非负的,并且客户如实报告μi。由此,不完全信息MO的决策问题可以转化为如下优化问题:
通过解决问题3,得到定理4.1:
实验评估
①实验过程分为四种组合即 MO最优-客户端随机 MO最优-客户端最优
MO随机-客户端随机 MO 随机-客户端最优
当客户端和MO都选择最优策略时,他们可以获得比所有其他策略更高的效用,证明了我们提出的最优策略的有效性。
图:实用程序随策略对而变化。横:客户端数量,纵:客户端总效用
横:客户端数量 横:客户端数量
纵:客户端总效用 纵:MO总效用
②研究了完全和不完全信息情况下μi和ψ对客户端效用和MO的影响,可以看到μi和ψ对MO的效用有显着影响。这是因为更高的CPU能力会缩短每轮的时间并提高全局模型的性能。然而,对于客户端来说,投入更多的 CPU 周期并不会带来更多的效用,因为能耗更高。
图:客户端和 MO 的效用随着训练和挖掘的总 CPU 周期而变化。
横:训练的总 CPU 周期 (GHz) 横:挖矿的总 CPU 周期 (GHz)
纵:总效用 纵:总效用
③研究 pti 和 pmi 对 MO 和客户端效用的影响,当挖矿单价增加时,客户和 MO 的效用都可以提高。这是因为随着pmi的增加,客户可以通过投入更多的qmi获得更多的挖矿收益。同时,MO可以通过鼓励客户每秒投入更多的CPU周期来进行挖矿,从而降低时间成本并提高其效用。
图:客户端和MO的效用随着训练和挖矿的单价而变化。
横:训练单价 横:挖矿单价
纵:总效用 纵:总效用
④分析μi与训练和挖矿单价的关系,训练的单价和CPU周期数都随着μi的增加而增加。
图:µi 对每秒 CPU 周期以及训练和挖矿单价的影响。
横:训练的总 CPU 周期 横:训练的总 CPU 周期
纵:每秒 CPU 周期数 纵:单价
⑤探讨 pti 对 qti 和 qmi 的影响,训练所用的每秒CPU周期qti与MO提供的训练单价pti呈正相关,因为更多的训练单位奖励会激励客户将更多的计算能力投入到模型训练上。挖矿所用的每秒CPU周期qmi,随着pti的增加而减少,因为如果客户有动力将更多的计算能力投入到训练中,训练时间就会减少,挖矿时间就会相应增加。这样,客户端就不需要设置很高的qmi来进行挖矿。
图:用于训练和挖矿的每秒 CPU 周期随 pti 变化
横:训练单价 纵:每秒 CPU 周期 (GHz)