乡镇物理老师玩快手“教育”缺位家长不小心成科普达人

将一个装水瓶子的瓶口用塑料片盖住倒置,会发现瓶中的水不会溢出,放入的牙签会迅速浮出水面。这个实验包含哪些物理原理?大气压强?浮力?密度?许多人看后都能随口说出个物理名词,但谈到具体原理又往往语塞。

“水的表面张力,让薄片与水之间会形成一层薄膜,在外部大气压的作用下,达到了一个力的平衡状态,因此瓶中水不会流出。牙签之所以能浮在水面,是因为水的浮力作用。”类似的趣味实验,在“初中物理【王】”王老师(快手ID:724516931)的快手作品中还有很多。

基于上述观察,我们设计了一个机器学习专用的网络传输协议 — MLT。核心思想是:在不影响模型收敛的前提下,允许一定的丢包,不做重传,从而降低跨区域通信时间。将MLT跟传统的TCP以及UDP进行对比可以发现,TCP可以看作是做百分百丢包重传的可靠传输,UDP可以看作是百分百丢包不重传的不可靠传输,而MLT位于两者之间,是根据机器学习训练的特点,选择重传一部分丢失的数据包,使丢包率控制在不影响模型收敛的范围内,并通过避免不必要的丢包重传来降低联邦学习的通信时间。

据王玉强介绍,他任教的诸葛镇第二小学,近三分之一学生都是留守儿童。父母长期外出工作,与孩子沟通的机会较少,缺乏对孩子思维方式的引导。“但在课堂上,我能感觉到孩子们很强的求知欲。”在王玉强看来,兴趣培养没有门槛,它不会被地域、物质等客观条件限制,每个孩子都应该平等地享受教育资源。

加速联邦学习跨机构跨区域通信的探索

“求教程……”“这是啥原理啊?”视频下十几个人的留言互动,让王玉强看见希望。

另外,在今年1月份,美国加州也出台了相关法案,明确规定数据归用户所有。这些数据隐私保护的趋势都在表明:企业已经无法以明文的方式交换其拥有的数据。

第二个观察是联邦学习很多计算公式其实本身并不复杂,但重复执行次数巨大。举例而言,联邦学习需要经常运行 A的B次方这种幂计算,而A和B往往是1024比特甚至更长的数字。所以,即使是简单的公式,但是重复运算的次数非常多,而GPU正好适合加速这种重复的轻量级计算。

雷锋网原创文章,。详情见转载须知。

最后看一下GPU加速联邦学习的初步评测结果。我们主要评测了四种运算:同态加密、同态解密、密态乘法和密态加法在三种优化下的加速比。对比的baseline是14核2.2Ghz的服务器级CPU,而使用的CPU代码是高度优化的。

 那么怎么使用呢?首先定义mp跟mq这两个子项,并依据这两个子项构造一个满足中国剩余定理的同余方程组。如上图所示,并用CRT(mp,mq)来表示这个同余方程组的解。可以证明解密计算公式等价于同余方程组的解mod pq,所以可以通过计算这个新的表达式来求解m的值。根据上面三个计算表达式,会有两个观察结论。首先,三部分的中间计算结果都不超过N比特,因此减小了中间计算结果。此外,计算公式从2N比特数的模幂运算简化成N比特数的模幂运算,计算量大幅减小。

联邦学习有很多的优点,首先能保证数据隔离,保证数据不会泄露到外部;其次联邦学习有无损的性质,保证联合建模的效果等同于直接用所有的数据进行建模的效果;再者,在联邦学习里所有数据参与方的地位都是对等的;最后,联邦学习能保证参与方共同获益,有助于打破数据巨头的垄断地位。联邦学习之所以能实现这些神奇的效果,其中有一项关键技术就是同态加密计算。

以下是胡水海的演讲全文:

第三个观察是在联邦学习里,数据IO时间占比非常少,可能不到计算时间的0.1%,这说明联邦学习符合计算密集型的任务,而GPU适合加速计算密集型任务。第四个观察是联邦学习里训练模型的数据通常是以批量形式的产生为主,符合大数据的特征,而GPU正好适合加速海量数据的批量计算。 

总的算起来,如上图所示,联邦学习的部分同态计算的计算量是明文计算量上百倍,联邦学习的数据传输总量也比传统机器学习大100到1000倍。如果使用全同态的话,其计算量会是明文计算的上万倍。也正是基于这个原因,当前的联邦学习解决方案多采用部分同态加密。面临计算和传输方面的挑战,我们做了许多有价值的技术探索。

目前在AI领域面临的一个很重大的问题,其实是数据孤岛问题。在企业层面,大部分公司在开发自己的AI模型的时候,其实并不缺少算法和应用场景,也不缺少优秀的人才,其所面临的最大问题是数据不足的问题。

在王老师的快手“科学实验室”,每个视频都充满惊喜。纸筒燃烧后竟能飞起来,不少人在日常生活中也见过类似现象:上坟烧纸,没有一丝风的情况下,燃烧的黄纸也能自己飞起来。“小时候被长辈告知这是先人在取走纸钱。”有老铁说。

“我上学时最头疼的就是电磁学,现在看来挺简单的啊。”

以此类推,我们只需要 logk 次的乘法运算就可以得到ak的值。根据这个思想,我们可以将b表示为2进制数,然后通过O(N)次乘法以及取模运算得到计算结果。这类方法的优点是将复杂度降低到O(N)并且中间计算结果的大小不超过c。

在这里也提一下数据传输的背景,现在正处在数据中心高速网络时代,如上图所示,数据中心网络带宽近年来高速增长,100G,200G网络对于大规模商用数据中心来说,已经非常普遍。当然,网络带宽的高速增长也对通信带来了巨大挑战!10-100倍的带宽增长带来了三个问题,第一,收发两端相同时间需要处理10-100x的网络数据包,第二,网络突发流量现象变得更加严重,第三,网络流完成时间大大减少意味着拥塞控制需要更快响应。

每个企业都有一些自己的数据,但是这些数据彼此之间是相互割裂的,也没有一种方法将每个企业的数据高效地连通起来,所以一些小企业会面临数据不足以及大企业数据垄断问题。

王老师的240多个快手视频中,涵盖了力学、热学、光学、磁力学等物理知识,与纯书本概念、公式讲解不同的是,它们以立体的形式,用绚烂的颜色和神奇的变化刺激着老铁们的中枢神经,激发大家对物理学习的兴趣。

具体到实验评测如上图,MLT可以通过减少不必要的丢包重传,能够大幅缩短联邦学习模型训练的时间。

比如Paillier算法是加法同态,只支持密文跟密文相加。而著名的RSA算法则是乘法同态,支持密文跟密文相乘。具体的原理就不详细展开了,大家可以参考相关论文。值得一提的是,同态加密虽然能够让联邦学习保护用户隐私,但它其实也为联邦学习带来了很大的技术挑战,这一点从与传统机器学习方法的对比中能够清晰看到。

最后我们评估了GRDMA能为联邦学习带来性能提升的程度,对于AlexNet和VGG16两种模型,分别测试了他们在TCP和GRDMA两种网络下的训练效率。初步的测试结果如上图显示,使用GRDMA分别带来了超过60%和超过50%的训练性能提升。

第二个解决方案是用平方乘算法+蒙哥马利算法解决GPU做模幂运算代价大的问题。其核心是如何高效计算模幂运算ab mod c ,其中a,b,c均为N比特大整数。对于这个问题,最容易想到的朴素算法是先计算ab的值,然后将计算结果对c取模。但这样会使问题计算复杂度高达O(2^N),并且中间的乘积结果很大。我们采用的方法是通过平方乘算法进行优化。平方乘算法主要基于的观察是:我们要计算a^K,并不一定需要将a自乘k次,而是可以先计算出a^k/2的值,然后求平方。

一年多的时间,拍摄作品超240个,每一个趣味实验中都有王玉强对科学的钻研和对激发更多人兴趣的坚持。作品高更新频率让不少老铁直呼“难得”。王玉强说:“万变不离其宗,主要掌握原理,再加上自己的想法,就能做出各种有趣的实验。”

视频中的水瓶在倾斜的木板上自下而上滚动。王老师在视频上方打出质疑标题:“反重力现象吗”?当老铁们还在蒙圈思考中时,视频画风一转,“原因揭秘”出来了:桌子全貌露出,整张桌子的倾斜方向与物体运动方向相同,原来物体本就在“走”下坡。

传统的TCP网络由于存在CPU负载高、端处理延迟大以及吞吐量瓶颈等几个问题,不太适用于高速网络。所以在高速网络下,RDMA取代TCP已经成为了一个趋势。具体表现在:通过内核旁路以及将传输层卸载到网卡硬件上,RDMA能实现高吞吐、低时延、低CPU负载的两点间通信,非常适合用于加速联邦学习数据中心内的通信。

上述四个观察虽然确定了GPU能够加速联邦计算的方向,但同时也提出了三个挑战。第一个挑战是联邦学习计算需要做2048-bit大整数运算,而GPU流处理器不直接支持大整数运算;第二个挑战是联邦学习计算涉及大量的模幂运算,而GPU做除法或者模幂运算的代价非常大;第三个挑战是联邦学习计算需要缓存大量中间计算结果,而由于成本和能耗的限制,GPU显存非常有限。

借力快手 乡镇教师成物理科普摆渡人

“太有才了,这名字还挺合适。”

王老师在视频配文中对这一现象做了科学讲解:“纸筒燃烧时,加热了周围的空气,当燃成灰时,由于热空气上升的原理,会带动纸灰起来。实验成功的关键是纸筒一定要轻。”

关于优化联邦学习多点间通信,Parameter Server和Ring Allreduce是目前使用最广泛的两种参数聚合模型。但他们都分别有一些缺点。ParameterServer的问题是存在多个worker节点给单个server节点发送参数的多对一通信方式。在超售网络下,这种通信方式的性能会因为链路拥塞而大幅度下降。Ring Allreduce的问题是存在一个很长的通信依赖链。一旦某一跳发生阻塞,RingAllreduce 的长依赖链会使整个聚合任务停滞。

眼见未必为实:怪坡源于参照物错觉

“其实,这与参照物的选择有很大关系。当桌子被遮住时,人们很容易将斜坡作为参照物。同理,各地的怪坡多存在于四面倾斜的山坡间,多个不同参照物的存在很容易令人产生错觉。”在老铁们的留言讨论中,王老师给出了此现象的标准答案。

另一方面,从数据传输的角度来看,联邦学习对运算位数多要求1024或2048-bit ,所以传输密文数据体积比传统机器学习增加几十倍;因为联邦学习要求多次迭代,所以数据传输的次数也是传统机器学习的几倍。

王老师本名王玉强,山东沂临市沂水县人,今年50岁。因从小对物理感兴趣,中专读完,王玉强通过成人教育获得聊城大学物理本科学历。大学毕业后先后在沂水县马站初级中学、沂水齐鲁博苑学校担任物理老师,一教就是28年。

最初只是想让家长和学生们走进趣味物理世界,但王玉强实践后渐渐发现,不少年轻人喜欢自己的实验,除了对自己上学时没好好学习表示遗憾外,更多人是想亲手尝试做实验。这让王玉强感受到了身份转变:从一名乡镇教师,变成连接物理兴趣和知识的摆渡人,而快手则像是承载各类兴趣和知识的海洋,广阔而包容。

“一开始只是希望更多家长和孩子对物理感兴趣,没成想还有成年人跑来问我原理。尤其是疫情发生后,私信和留言的人更多了。”从原来单纯想“教育”班级孩子的家长,到如今拥有3万多主动接受“再教育”的粉丝,王老师更坚定了“物理学习始于兴趣”的想法。

“家长在孩子的教育中起关键作用,农村的家长们应该重视起来。”如何让更多家长关注孩子教育,王玉强想到了快手。“其实家长和孩子一样,都需要先有兴趣,然后才关注事情本身。我在快手发些有趣的物理现象和实验,或许能吸引家长们,家长们有兴趣了,才能更好地引导孩子们的思维。”

那么为什么机器学习模型训练可以容忍部分丢包呢?原因是目前模型训练大多采用随机梯度下降(SGD)方式通过多轮迭代进行,丢失一部分数据不影响训练算法找到模型收敛点。如图所示,蓝线是不丢包的情况下模型训练的收敛路径,而在有丢包的情况下,随机梯度下降能让模型训练选择另外一条路径达到收敛点。

王老师在评论区给出了答案:“当抛物高度恰当时,反弹力刚好可以把硬纸筒弹起并旋转90°后落地,这使得水平方向落下的纸筒刚好立起……”

2019年2月25日,王玉强在快手上传了第一条视频:用牙签和硬币制作出“一点平衡术”。视频中,三根牙签被连接成树杈状,中间的一根一端把在手里,尖头的一端空悬,与中间牙签半路连接着另外两根牙签,这两根牙签的末端分别绑一枚硬币。之后就到了见证奇迹的时刻:将中间那根牙签尖端轻轻放在立起的矿泉水瓶瓶盖上,树杈竟跳起了有节奏的“摇摆舞”。

随着作品数的增多,粉丝数逐渐增加,为了增加曝光量,王玉强还在基础的实验设计上配上创意标题。比如磁铁在加热后磁性降低,导致无法吸引另一端的铁丝,王玉强给这个实验命名为“分手也是一种美”;原本是展示电磁效应的实验,将铁丝环拧成心形,在电磁效应下,心形铁丝开始旋转,王玉强称该实验为“爱的魔力转圈圈”……

基于这个思想,我们可以通过递归的方式将大整数乘法分解成很多可并行计算的小整数乘法,这样GPU就能发挥并行计算的优势完成大整数乘法的快速计算。不仅如此,对于联邦学习涉及的其他大整数运算,也可以做类似的元素级并行。

对于第三个挑战,如何减少中间计算结果,我们给出的解决方案是通过中国剩余定理。中国剩余定理是数论领域的一个著名定理,说的是给定一组两两互质的整数n1,n2,…,nk和任意一组整数a1,a2,…,ak,那么通过这两组数构造的下面这个同余方程组一定有解,并且解一定同余于N。

上面讲的是如何应对联邦学习计算方面的挑战,那么在传输方面,即在加速联邦学习跨机构跨区域通信方面,主要考虑联邦学习通信的两大场景:场景一是数据中心内部不同机构间通信(主要是云服务器),场景二是不同机构的数据中心跨区域通信(地理位置不同)。

物理老师玩快手“教育”缺位家长

第一个探索是使用GPU来加速联邦学习计算。如上图,我们首先进行四个观察方向的可行性分析,第一个观察数据加解密及密态计算,不同数据的计算其实并不存在很大的关联性,因此计算是高度并行的。而GPU正好适合加速高度并行的计算任务。

另一方面,无论国内,还是国外,对数据隐私的保护都已经被重视了起来。其实,从2012年开始,国外欧盟已经在逐步起草一些法律法规来保护数据安全以及用户隐私,2018年5月份生效的GDPR更是将用户数据安全提升到了另一个高度。

针对三个挑战,我们提出了三个解决方案。第一个方案是基于分治思想做元素级并行。如图所示,以计算大整数乘法a*b为例,首先我们将N比特位长的大整数a和b分解成高位和低位两部分,分解之后其a和b以及a*b的表达式如图。仔细观察a*b的表达式,发现四个子项的计算不存在数据关联性,可以并行计算。

GPU加速联邦学习计算的挑战和解决方案

为了解决这一问题,我们在联邦学习通信中引入了英伟达的GPU-Direct-RDMA 技术,实现了GPU和RDMA网卡之间的直接数据拷贝。一方面通信吞吐量从20G提升到了100G,另一方面也将传输延迟最多降低了1000倍。

另外一方面是对数据安全的保护变得越来越全面,在各个领域各个维度都出台了非常多的法律法规来保护数据隐私。所以,在上述背景下,解决数据孤岛问题其实就变得更加困难。但是联邦学习的出现为安全合规地连接数据孤岛,提供了一种非常有前景的方法。联邦学习是一项数据不出本地,就可完成机器学习多方协作建立模型的技术。换句话说这种数据不出本地的联合建模技术,正是解决国内企业数据孤岛现状的“良药”。

眼看前面是个上坡,却有走下坡路的感觉,掉在地上的水瓶竟从下坡往上坡滚去。“怪坡”现象一直为人们津津乐道。究其原因,有人用“重力异常”、“视差效应”、“磁场效应”等理论解释,甚至有人搬出鬼神之说。王老师用几十秒的视频,揭秘其中的原理。

得到家长们的正向反馈,王玉强离目标又近了些。为了降低家里做实验的门槛,他尽可能选取纸张、矿泉水瓶、筷子、吸管等简单易得的材料作为实验道具,方便更多人参与其中。疫情期间,家长在家陪孩子的时间变多,“有家长跟我分享好消息:通过简单易做的实验,孩子开始爱上物理了。”

其中,数据中心内通信场景的主要挑战是高速网络时代如何加速联邦学习通信;而跨区域通信场景的主要挑战是如何在高延迟、高丢包率网络环境下加速联邦学习通信。针对场景一带来的挑战,我们采用的解决方案是通过RDMA网络技术优化两点间通信,然后通过动态参数聚合模型优化多点间通信来解决。

硬纸筒竖直着扔下却平行坠落在桌面,平行着扔下却竖直站立起来。“你们能做到吗?一起动手试一下吧。纸筒平着下落时,可以多试几次,找到合适的高度再松手,保证能成功。”在王老师的指导下,不少人都照着视频试验,实验成功后又急忙跑回来请教原理。

提及未来规划,王玉强说:“在时间允许的情况下,我希望能在快手直播间与大家‘面对面’交流实验和物理常识。”快手直播间即时性、互动性的天然优势让王玉强看见了知识科普的另一种可能,他说:“从目前在快手的收获来看,我相信总有一天农村孩子会和城里孩子一样,享受到更多更好的教育资源。”

而对于国内,从2009年开始也在逐步出台很多保护数据安全以及用户隐私的法案。总的来看,国内的数据法规政策有两大趋势,首先是对数据安全的保护事实上变得越来越严格,这直接体现为去年一些大数据公司在共享数据的时候,因为行为不当,受到了很严厉的法律惩罚。

首先,传统机器学习一般使用的是32-bit的基本运算,这些基本运算一般都有芯片指令的直接支持,而联邦学习中的Paillier/RSA算法依赖的是1024或2048-bit 甚至更长的大整数运算,且这些运算是模幂、模乘等复杂运算;其次,在分布式计算时,传统机器学习参数聚合使用内网传输,而联邦学习因为涉及不同的参与方,这些参与方可能位于不同的城市,所以联邦学习是使用广域网进行传输。

缺点是需要做2N次取模运算,对GPU来说,做取模运算的时间代价很高。为了解决这个问题,我们引入了蒙哥马利模乘算法来高效完成第3步中的模乘计算。蒙哥马利算法的优点能够让复杂度下降到O(N),中间结果大小不超过c,完全避免了取模/除法运算,从而大大加快了运算速度。

同态加密是一种特殊的非对称加密系统,一般加密后的密文是一段无法操作的二进制数,除非解密,不然不能对其进行计算或其他操作。而同态加密好的密文仍然能进行计算,得到仍然是加密的结果。

但是要将RDMA应用于联邦学习数据中心内通信,我们还需要解决GPU跟RDMA网卡之间高效协作的问题。我们注意到GPU与RDMA网卡之间的通信存在从GPU到内存以及从内存到网卡的多次数据拷贝。这会增大传输延迟, 降低吞吐量和浪费CPU。

“前几天辅导孩子还看到了电磁学知识,找机会我也做下这个实验。”

除了“大孩子”老铁们饶有兴致地评论,“还有很多人私信我,让我讲原理。有家长表示要在我这学会了再教孩子。”

小学生好奇心强,正是培养兴趣爱好的好时期,王玉强延用了之前的教学方法。但他发现,乡镇的孩子有些跟不上节奏。“比如最简单的吹肥皂泡实验,班里竟然好多学生压根没玩过吹泡泡。”

雷锋网、雷锋网(公众号:雷锋网)、雷锋网

对于跨区域通信场景问题,首先有以下几点观察,第一,随着物理距离增加,跨区域通信时间在联邦学习中的时间占比越来越大;第二,跨区域主干网具有高延迟、高丢包率等特征,丢包侦测与丢包恢复代价很大;第三,机器学习模型训练可以容忍一定的丢包率,即我们通过实验发现,当丢包率小于15%时,即使不做丢包恢复,模型收敛所需要的轮次并不会变多。另外我们还发现,当丢包率低于15%时,不做丢包重传能显著减少模型训练时间。

2018年,因工作调动,王玉强被调任到沂水县诸葛镇第二小学,成为一名乡镇小学教师。学校师资力量紧缺,470多名学生只有26名老师教课,王玉强兼任科学老师和语文老师。

最重要的是对密文进行的计算,解密后跟对明文进行计算后的结果相同。这个特性可以让参与者进行数据运算,但无需知道参与计算的密文内容。同态计算的应用范围非常广,但是有一个显著的缺陷,就是性能太低,具体有多低后面会分析,不过有一种折中的方式勉强能被接受,那就是部分同态加密。部分同态加密分为加法同态和乘法同态。