Incentive Mechanism Design for Distributed Coded Machine Learning论文笔记
Incentive Mechanism Design for Distributed Coded Machine Learning论文笔记
- 摘要
- 介绍
- 背景和动机
- 挑战1
- 挑战2
- 挑战3
- 贡献
- 相关研究
- 系统模型
- Platform建模
- Worker建模
- 计算性能
- 计算成本
- Worker类型
- 信息场景
- Complete information
- Incomplete information
- 两阶段的Stackelberg博弈
- Platform和worker的策略
- Worker的收益
- Platform的成本
- 激励机制设计(Complete information)
- 计算工作量和整体运行时间
- Worker参与决策
- Platform选择worker和奖励
- 激励机制设计(Incomplete information)
- Worker的性能和成本都不同
- Worker只有成本不同
- 仿真结果
摘要
- 分布式机器学习的整体效率可能被部分straggling worker拖累;
- 编码机器学习可以通过从前k个完成计算的worker的计算结果恢复最终的计算结果来提高整体效率;
- 现有的研究专注于设计编码的方案,尚没有研究提出激励机制刺激worker参与分布式编码机器学习;本文针对分布式机器学习平台未知每个worker的计算性能和计算成本的情形提出一种激励机制;
- 本文的一大贡献是将worker的多维信息归纳为一个一维的衡量标准,帮助平台更高效地选择worker,同时大大降低计算复杂度;
- 本文证明了当使用MDS编码方法时,最优恢复阈值k和worker总数n成比例;
- 本文还证明了当worker总数足够大时,平台因为信息缺失增加的成本会消失,但不会随着worker总数增长而单调减小。
介绍
背景和动机
挑战1
如何在worker的计算成本未知(隐私)和计算时间随机(无法预估)的情况下激励worker参与分布式编码机器学习?
挑战2
分布式编码机器学习平台对于worker信息的未知程度如何影响平台的激励机制和成本?
挑战3
分布式编码机器学习平台的激励机制应该如何设计工作量以及恢复阈值?恢复阈值太小,每一个worker的工作量太大,反而可能增加总运行时间;恢复阈值太大,可能无法有效减轻straggling worker的影响。
贡献
- 提出一个分布式编码学习的激励机制;
- 使得激励机制能够解决worker差异性大的问题并且更加易于实现:将worker的多维信息归纳为一个一维的衡量标准,用来指导平台在信息缺失的情形下worker的选择,同时大大降低计算复杂度;当使用MDS编码方法时,只需要设置恢复阈值与worker总数成比例,非常易于实现;
- 讨论信息未知程度对于激励机制设计的影响:在信息完整的情形下,平台会给到计算性能较差的worker更多的奖励;在信息缺失的情形下,平台会给到高效的worker更多的奖励。本文还证明了当worker总数足够大时,平台因为信息缺失增加的成本会消失,但不会随着worker总数增长而单调减小。
相关研究
当前的大部分文献专注于研究编码方案的设计,不过这些文章大多乐观地假设大部分的worker愿意积极参与分布式编码机器学习。然而在现实应用场景中,如果没有一定的激励机制,这样的愿景是不切实际的。
系统模型
Platform建模
y=Ax: 计算任务
n: 矩阵行数
k: 子矩阵个数
r: 当platform从k个worker获得r组计算结果,就可以恢复y=Ax的计算结果
l=r/k: 每个worker的工作量,即计算与x内积的行数
Worker建模
计算性能
每个worker的计算时间服从两个参数(平均计算速度、计算开始的时间)的指数分布:
分析指数分布概率密度曲线可知,当worker的平均计算速度更快,计算开始的时间越短,工作量越小,其在短时间内完成计算任务的概率越高。计算时间服从的分布对platform和worker都是已知的。
计算成本
ci: i类型worker的单位时间计算成本
Worker类型
类型m的worker:
信息场景
在不同的信息场景中,platform都知道worker的平均计算速度和计算开始的时间。
Complete information
Platform知道每个worker的单位时间计算成本c,这种情况在现实中不太可能出现,在该场景下可以计算得到platfrom成本的理论最小值,在文章中作为其他信息场景下计算的platform成本的参考标准。
Incomplete information
Platform不知道每个worker的单位计算成本c,只知道worker总数N以及每个worker类型的worker数目Nm。
两阶段的Stackelberg博弈
Stackelberg: 产量领导模型,反映企业间不对称的竞争。竞争厂商地位的不对称,会导致决策次序的不对称,小企业会观察大企业行为,再决定自己的对策。在模型中有两种厂商,一种是领导者,一种是追随者,二者的决策变量都是产量。领导者知道跟随者将如何行动(反映函数),能预期自己决定的产量对跟随厂商影响。领导者决定的产量是以跟随者反应函数为约束的利润最大化产量,不再需要自己的反应函数。
Platform和worker的策略
训练开始前:
- Platform决定计算工作量,选择倾向的worker类型以及给予这类worker的奖励
- Worker决定是否参与训练以及向platform报告的worker类型
每一轮训练:
- 当platform收到r组计算结果时通知worker停止计算
每一轮训练结束后:
- Platform根据worker的工作表现和先前报告的worker类型授予相应的奖励
Worker的收益
pm: 奖励期望
E[T]: 整体运行时间期望
cmE[T]: 计算成本期望
收益期望=奖励期望-成本期望
收益函数:
Platform的成本
成本=整体运行时间+支付worker的费用
成本函数:
激励机制设计(Complete information)
计算工作量和整体运行时间
由于不同类型worker的计算性能不同,易知给每个类型worker分配相同工作量不是最优方案。为了方便计算每个类型worker的最优工作量,这里假设worker的数目趋于无穷大,则不需要考虑每个worker的具体运行时间,只需要专注于最小化整体运行时间的期望。
引理1: 当worker的数目无穷大时,下面的工作量可以最小化整体运行时间的期望
m类型worker的计算性能:
由文章中等式可知计算性能与计算速度呈正相关,与计算开始时间呈负相关,合情合理。
整体运行时间期望:
理解:整体运行时间期望=总工作量/所有类型worker计算性能的期望
Worker参与决策
在complete information情况下,platform知道每个worker的类型,worker不能误报类型。
m类型worker的期望收益:
只要期望收益非负,worker就乐意参与分布式编码机器学习。
Platform选择worker和奖励
最小化服务器成本问题如下,默认给到worker的奖励刚好使得worker收益非负。目标是找到一个worker子集使得服务器成本最小。如果通过遍历的方法寻找这个子集,计算时间复杂度将会是O(2M)。
Platform在选择worker时需要平衡计算成本和计算性能,因此需要考虑worker多维度的信息,并将多维信息归纳为一个一维标准。
工作性能(综合平均计算速度和计算性能,计算性能由平均计算速度和计算开始的时间决定,本质上是综合平均计算速度和计算开始的时间):
价性比:
定理1: 在"Complete-Hetero"场景下,存在一个边际类型如下,
此时platform选择worker的范围如下(M集合是按价性比从小到大排列的)
最优奖励期望如下,
理解: Platform一定是优先选择价性比低的worker,问题就是要选几个类型的worker。确定nComHet 的约束条件经证明就是E[Wn]<=E[Wn-1] 的充要条件。所以platform选择worker的策略是从价性比低的worker开始选起,如果新选择的worker使platform的总成本减小则继续选择,反之则停止选择。对于platform想要激励的worker,platform会设置奖励使得worker的收支平衡(收益为0),而对于platform不想要激励的worker,platform会将奖励设为0。
评论1: platform可以以O(M)的时间复杂度计算SComHet,胜于O(2M) 的时间复杂度。
激励机制设计(Incomplete information)
Worker的性能和成本都不同
与complete information情形不同的是,在incomplete information情形下,platform只知道worker类型总数、每个类型worker的数目以及每种类型worker计算时间服从的分布(平均计算速度、计算开始的时间均已知)。
定理2: 在"Incomplete-Hetero"场景下,存在一个边际类型如下,
此时platform选择worker的范围如下,
最优奖励期望如下,
理解: "Complete-Hetero"和"Incomplete-Hetero"最大的区别在于,"Incomplete-Hetero"场景下,platform不知道每个类型worker的成本,且worker报告给platform的成本不一定是真实的,然而platform需要根据每个worker的成本来确定给予worker的最优奖励。这里platform用一个成本阈值来确定给予worker的奖励,
求解最优期望成本需要同时优化M个变量,这里为了简化问题证明了下面等式成立,即m类型worker的最优成本阈值/m类型worker的性能=边际类型worker的最优成本阈值/边际类型worker的性能。当worker发现自己的成本不超过这一阈值时,意味着能够获得非负收益,自然愿意参与到编码机器学习中;当worker发现自己成本超过这一阈值,意味着不仅无法获得收益反而还会折本,便不愿意参与。
通过这个等式每一个类型worker的成本阈值得以确定,如此看来边际类型的确定非常重要。同样利用这个等式的思想,可以发现确定边际类型nIncHet 的公式的意义是,platform用该边际类型确定的worker子集使得platform的总成本期望与platform的总工作性能期望的比值最小。观察"Incomplete Hetero"的最优奖励期望和"Complete Hetero"的最优奖励期望的区别,可以发现前者正是在worker的成本未知的情况下,利用上面的等式将最优奖励期望用worker的工作性能来表示。最优奖励期望的区别也揭示了两种不同信息场景下激励机制的重要区别:
- 在Incomplete information情形下,platform无法设置奖励,使其倾向于激励的worker的收益全部为0。worker能够获得的正收益实际就是信息租金。信息租金指一项交易活动中,交易一方凭借其信息优势获得的,高于市场平均收益的超额回报。这里worker相对于platform的信息优势是自己的实际成本,正是这一信息优势给worker带来了正收益。
- 由最优奖励期望的公式可以看出,在complete information情形下,因为worker成本已知且真实,platform会倾向于给成本更高的worker更高的奖励;而在incomplete information情形下,platform不知道worker的真实成本,只能通过worker的工作性能来评估贡献,所以platform会倾向于给性能更好的worker更多奖励。
推论1: platform的目标worker类型数目与platform成本中整体运行时间的价值系数大小呈正相关,与platform成本中支付worker费用的价值系数呈负相关。
理解: 因为当platform认为整体运行时间对成本影响更大时,自然会想激励更多的worker类型来减少整体运行时间;当platform认为支付给worker的费用对成本影响更大时,自然会想激励较少的worker类型来节省支出。
Worker只有成本不同
每个worker的工作量相同: l=r/k
整体运行时间期望:
命题1: 在"Incomplete-HeteCostOnly"场景下,存在一个边际类型如下,
此时platform选择worker范围如下(M集合是按成本从小到大排列的)
最优奖励期望如下,
Platform的最优恢复阈值如下:
理解: "Incomplete-Hetero"和"Incomplete-HeteCostOnly"确定边际类型的思想相同,后者是前者的一种特殊情况,所有worker的工作性能都相同。Platform给到其选择激励的worker类型子集相同的奖励期望,保证了属于这一子集的worker类型都愿意参与,不属于激励范围的worker类型都不会参与。命题1中还指出了MDS编码方法的最优恢复阈值k* 与参与的worker总数成正比,为数据编码提供了非常易于实现的方法指导。
仿真结果
由上图可知,platform倾向于激励的worker类型数目会随着worker总数增加逐渐减少,当worker总数大于某个值时,complete information和incomplete information两种情形下的worker类型数目都变为1。
由上图可知,随着worker总数增大,不同类型worker的收益逐渐减小直至变为0。
理解: 由前文关于成本阈值的等式可知,当worker子集只包含一个类型的worker时,成本阈值就等于该worker向platform报告的成本,此时如果worker选择将自己成本报高,platform会因为其价性比变高转而选择其他worker,如果将成本报低则一定亏损,所以当worker总数极大使得worker类型之间价性比竞争激烈时,worker的只有诚实汇报自己的成本,才能让自己的收益非负。因此当worker的总数足够大时,worker类型数目足够多,platform会倾向于激励单一类型的worker,以达到最小化自身成本的目的。这就解释了为什么当worker数目逐渐增大,worker类型数目逐渐减少,worker的收益逐渐减小直至变为0。换而言之,当worker总数足够大时,platform不再需要依赖低效、高成本的worker类型,能够在只选择一个最优worker类型的情况下达到自己的目的。
由上图可知,随着worker总数增大,因为信息缺失而增加的成本逐渐减小直至变为0。
理解: 随着worker总数增大,platform逐渐减小worker类型数目,只选择相对高效、低成本的worker类型,worker之间价性比的竞争越来越激烈,为了最大化收益,worker被迫相对诚实地汇报自己的成本,如此一来incomplete information情形下worker相对platform的信息优势被削弱,自然获得的超额回报越来越少,两种信息场景下的服务器成本差值,即因为信息缺失而增加的成本会越来越小。当platform只选择单一类型的worker时,worker的最优选择是诚实汇报自己的成本,在incomplete information情形下的服务器的成本和在complete information情形下的服务器成本将完全相同。这就解释了为什么随着worker总数逐渐增大,因为信息缺失而增加的成本会逐渐减小直至变为0。
Incentive Mechanism Design for Distributed Coded Machine Learning论文笔记相关推荐
- 【Machine Learning 学习笔记】Stochastic Dual Coordinate Ascent for SVM 代码实现
[Machine Learning 学习笔记]Stochastic Dual Coordinate Ascent for SVM 代码实现 通过本篇博客记录一下Stochastic Dual Coor ...
- 【Machine Learning 学习笔记】feature engineering中noisy feature的影响
[Machine Learning 学习笔记]feature engineering中noisy feature的影响 通过本篇博客记录一下添加噪声对Lasso和SVM的影响,采用的数据集为sklea ...
- Papers With Code: the latest in machine learning - 论文与源码搜索
Papers With Code: the latest in machine learning - 论文与源码搜索 https://paperswithcode.com References htt ...
- Deep Learning论文笔记之(三)单层非监督学习网络分析
Deep Learning论文笔记之(三)单层非监督学习网络分析 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文,但老感 ...
- Deep Learning论文笔记之(八)Deep Learning最新综述
Deep Learning论文笔记之(八)Deep Learning最新综述 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文,但老感觉看完 ...
- Deep Learning论文笔记之(七)深度网络高层特征可视化
Deep Learning论文笔记之(七)深度网络高层特征可视化 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文,但老感 ...
- Deep Learning论文笔记之(六)Multi-Stage多级架构分析
Deep Learning论文笔记之(六)Multi-Stage多级架构分析 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些 ...
- Deep Learning论文笔记之(五)CNN卷积神经网络代码理解
Deep Learning论文笔记之(五)CNN卷积神经网络代码理解 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文,但 ...
- Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现
Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文, ...
- Deep Learning论文笔记之(二)Sparse Filtering稀疏滤波
Deep Learning论文笔记之(二)Sparse Filtering稀疏滤波 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看 ...
最新文章
- WinAPI: 钩子回调函数之 SysMsgFilterProc
- 函数assert()详解
- SpringtBoot+SpringSecurity+Jwt+MyBatis整合实现用户认证以及权限控制
- exchange online 连接筛选器 添加/删除 IP
- Asp.Net MVC4入门指南(5):从控制器访问数据模型
- 漫步线性代数三——高斯消元法
- oem是代工还是贴牌_oem是什么意思,oem代工是什么意思?oem和odm区别有哪些?
- 使用位运算(与运算)代替%操作
- onenote打开闪退平板_爆款教学小帮手——OneNote篇
- 开课吧:深入了解人工智能在金融行业中的应用
- qq远程卡主,只能看到桌面,鼠标、键盘操作不了的解决方法
- FDDB人脸检测测试集使用方法
- vmware Please make sure that the kernel module `vmmon? is loaded
- 湖南省第1届职业技能大赛(经历、总结)
- 预计招收300人,北京大学信息工程学院2022年夏令营开启报名
- 关于更佳学术搜索及Android SDK更新问题
- 首个非逆向,不需要手机!的微信视频号采集方案
- 蒙特卡洛方法 (Monte Carlo Method)(5)
- python3程序下载安装_Python3 环境搭建
- 4. ESP32S3 使用USB 加载SD_SDIO 当作 U盘使用
热门文章
- android 三点参数,iqoo3参数配置详情-iqoo3参数配置手机参数详细表
- 苹果笔记本怎么找文件夹_苹果电脑的文件存在哪里_苹果电脑把文件放到哪-win7之家...
- ORACLE表空间和表碎片分析及整理方法
- box-sizing与盒模型
- /proc/sys/vm/drop_caches
- PAT乙级1055 集体照
- 直观理解偏导数、方向导数和法向量和梯度
- English trip V1 - 1.How Do You Feel Now? Teacher:Lamb Key:形容词(Adjectives)
- 苹果手机计算机没有记录吗,苹果手机恢复出厂设置备忘录里的便签内容都没了,怎么找回来啊...
- 计算机帐务处理子系统只能在一级,2009年初级会计电算化考前冲刺精选题二