雷锋网星云 Clustar 首席科学家胡水海:GPU 在联邦机器学习中的探索( 二 )
比如Paillier算法是加法同态 , 只支持密文跟密文相加 。 而著名的RSA算法则是乘法同态 , 支持密文跟密文相乘 。 具体的原理就不详细展开了 , 大家可以参考相关论文 。 值得一提的是 , 同态加密虽然能够让联邦学习保护用户隐私 , 但它其实也为联邦学习带来了很大的技术挑战 , 这一点从与传统机器学习方法的对比中能够清晰看到 。
本文插图
首先 , 传统机器学习一般使用的是32-bit的基本运算 , 这些基本运算一般都有芯片指令的直接支持 , 而联邦学习中的Paillier/RSA算法依赖的是1024或2048-bit甚至更长的大整数运算 , 且这些运算是模幂、模乘等复杂运算;其次 , 在分布式计算时 , 传统机器学习参数聚合使用内网传输 , 而联邦学习因为涉及不同的参与方 , 这些参与方可能位于不同的城市 , 所以联邦学习是使用广域网进行传输 。
另一方面 , 从数据传输的角度来看 , 联邦学习对运算位数多要求1024或2048-bit , 所以传输密文数据体积比传统机器学习增加几十倍;因为联邦学习要求多次迭代 , 所以数据传输的次数也是传统机器学习的几倍 。
本文插图
总的算起来 , 如上图所示 , 联邦学习的部分同态计算的计算量是明文计算量上百倍 , 联邦学习的数据传输总量也比传统机器学习大100到1000倍 。 如果使用全同态的话 , 其计算量会是明文计算的上万倍 。 也正是基于这个原因 , 当前的联邦学习解决方案多采用部分同态加密 。 面临计算和传输方面的挑战 , 我们做了许多有价值的技术探索 。
本文插图
第一个探索是使用GPU来加速联邦学习计算 。 如上图 , 我们首先进行四个观察方向的可行性分析 , 第一个观察数据加解密及密态计算 , 不同数据的计算其实并不存在很大的关联性 , 因此计算是高度并行的 。 而GPU正好适合加速高度并行的计算任务 。
第二个观察是联邦学习很多计算公式其实本身并不复杂 , 但重复执行次数巨大 。 举例而言 , 联邦学习需要经常运行A的B次方这种幂计算 , 而A和B往往是1024比特甚至更长的数字 。 所以 , 即使是简单的公式 , 但是重复运算的次数非常多 , 而GPU正好适合加速这种重复的轻量级计算 。
第三个观察是在联邦学习里 , 数据IO时间占比非常少 , 可能不到计算时间的0.1% , 这说明联邦学习符合计算密集型的任务 , 而GPU适合加速计算密集型任务 。 第四个观察是联邦学习里训练模型的数据通常是以批量形式的产生为主 , 符合大数据的特征 , 而GPU正好适合加速海量数据的批量计算 。
GPU加速联邦学习计算的挑战和解决方案
本文插图
上述四个观察虽然确定了GPU能够加速联邦计算的方向 , 但同时也提出了三个挑战 。 第一个挑战是联邦学习计算需要做2048-bit大整数运算 , 而GPU流处理器不直接支持大整数运算;第二个挑战是联邦学习计算涉及大量的模幂运算 , 而GPU做除法或者模幂运算的代价非常大;第三个挑战是联邦学习计算需要缓存大量中间计算结果 , 而由于成本和能耗的限制 , GPU显存非常有限 。
本文插图
针对三个挑战 , 我们提出了三个解决方案 。 第一个方案是基于分治思想做元素级并行 。 如图所示 , 以计算大整数乘法a*b为例 , 首先我们将N比特位长的大整数a和b分解成高位和低位两部分 , 分解之后其a和b以及a*b的表达式如图 。 仔细观察a*b的表达式 , 发现四个子项的计算不存在数据关联性 , 可以并行计算 。
推荐阅读
- 欧美星云|女星凯特·哈德森马里布海滩柔美拍照,她看起来很有魅力
- 社会谈资|《舞者》复赛三大主题高能呈现,星云起舞孕育新生获最高票数
- 欧美星云|超模亚历桑德拉·安布罗休现身马里布街头,她有着特别的魅力
- 公众号旗帜网络笔记宇宙中很多恒星在星云内,其实也包括太阳系,但它却又是不同的
- 快资讯|这部13位明星云集的国产大片凉了,上映第5天惊现“零票房”
- 前方高能|明日黄河神仙湾影视明星云集,快来偶遇吧!
- 『电影』漫威:被妆容封印颜值的角色,星云不敢看,比邻星才是大佬!
- 星云悦说八卦|有种蜕变叫《花千骨》的落十一,酷似张艺兴,简直不敢认
- 欧美星云|超模亚历桑德拉·安布罗休现身马里布,她的俏丽让人心动
- 归处|普陀山明星云集!“乘风破浪的姐姐”钟丽缇也来了
