大数据浪潮:从分布式系统到联邦学习


引 言

所谓大数据,最基本的亮点是4个“V”:大量(Volume)、高速(Velocity)、多样(Variety)、价值(Value),那为什么在大数据时代,联邦学习有着它更独特的优势?


数据价值&隐私难两全?

大数据的特征,首先就体现在体量大,其次是数据的产生非常迅速,每天通过互联网都会源源不断的产生大量数据广泛的数据来源,也奠定了大数据形式的多样性。但是,更重要的是,大数据所能够带来的“价值”,这也是大数据的核心特征。


除了有限的几个行业,更多领域存在着数据体量有限且质量参差不齐的问题,不足以支撑机器学习模型的训练。如果仅仅使用公开的数据,数据量是远远不够的,从而导致了系统效果很差。例如,在医疗卫生领域,对于标注数据的需求是大量且严格的,也不能像一些计算机视觉应用一样,可以由普通人或者数据公司来完成数据标注,专业医生时间是非常宝贵的。所以在医疗这样的专业领域,这种经专业审核过的标注数据非常有限。这种“人工智能到处可用”的错误的认知会导致很严重的后果。像这样的例子,在金融、监管领域都有着同样的困境:很多数据是一个个“受制于监管”的诸多信息孤岛,我们不能使数据公开成为一个整体,那如何更有效地利用这些“孤岛”数据呢?如何在满足数据隐私、安全和监管要求的前提下,设计一个机器学习框架,让人工智能系统能够更加高效、准确的共同使用各自的数据?


分布式计算的发展

分布式计算的前身,是“并行计算(Parallel Computing)”。在大数据时代之前,有很多研究工作为了让机器学习算法更快,而利多了多个处理器并行计算。这类工作通常被称为“并行机器学习”,其核心目标是把计算任务拆解成多个小的任务,分配到多个处理器上做计算。各部分是相互独立计算的,也就是“分而治之”。


分布式机器学习正是随着“大数据”概念兴起的。分布式计算,比起并行计算具有以下几个优点:

(1)稀有计算资源可以共享。

(2)通过分布式计算可以在多台计算机上平衡计算负载。

(3)可以把程序放在最适合运行它的计算机上。即搬动代码的花费比搬动数据的花费要少得多。

其中,共享稀有资源和平衡负载是计算机分布式计算的核心思想之一。而分布式机器学习涉及如何分配训练任务,调配系统计算资源,协调各个功能模块,以达到训练速度与精度的平衡。在多年的实践中,研究人员和开发者在解决分布式机器学习问题时,为了更大的存储容量、吞吐量以及容错能力,提出了多种分布式机器学习架构。


目前业界三种主流的分布式机器学习架构分别是迭代式MapReduce(IMR)、参数服务器(Parameter Server)和数据流(Data Flow),他们对数据、模型和通信机制上有着不同程度的支持。


基于 IMR 的系统主要的适用场景是“同步 + 数据并行”而来,运行逻辑比较简单 。但是IMR系统仅支持同步通信,因此在集群规模大、计算能力差异化大的情况下效率不高;基于参数服务器的系统可以同时支持同步和异步的并行算法 。它的接口简单明了、逻辑清晰,可以很方便、灵活地与单机算法相结合 。唯一的不足时需要用户自己定义模型训练逻辑;基于数据流的系统使用Data Flow来同时描述计算与通信,可以方便的实现机器学习模型。另外一个亮点是 它不仅可以支持数据并行,也可以支持模型并行。

大数据浪潮:从分布式系统到联邦学习

图片来源:《分布式机器学习 算法、理论与实践》 作者 : 刘铁岩 陈薇 王太峰高飞


IMR源于大数据处理系统,在Spark MLib中已经有成熟的应用,而Tensorflow是基于数据流的系统典型代表,在这里重点介绍下基于参数服务器的系统。

大数据浪潮:从分布式系统到联邦学习

图片来源:《分布式机器学习 算法、理论与实践》 作者 : 刘铁岩 陈薇 王太峰高飞

整个系统由若干参数服务器和k个工作节点组成。参数服务器负责存储和管理训练参数,提供分布式共享存储服务并响应工作节点的请求。而工作节点负责本地模型的训练,从数据样本的处理、训练、到模型局部更新的推送获取。


联邦学习或成为一种可靠解决方案

参数服务器的工作模式是先将提供的数据存储在分布式的工作节点上,通过一个中心式的调度节点调配数据分布和分配计算资源,以便更高效的获得最终的训练模型。中心节点始终占据着主导地位,最终训练模型,也会存出在中心服务器上,而任何工作节点上并没有完整模型。一个无法避免的问题是,当数据量大小不足以支持模型参数训练,而又无法获得更多数据情况下,模型的最终效果是很低的。


为什么一定要联邦?

答案很简单,因为数据量不够,或者干脆就没有数据可以用来训练。与使用集中数据进行模型训练相比较,联邦学习中对应工作节点代表的是模型训练的数据拥有方,其对本地的数据具有完全的自治权限,可以自主决定何时、是否加入联邦学习进行建模。当建模结束,双方都会拥有训练模型,这样而来互利共赢,可以最大的发挥数据的价值,而不产生数据隐私暴露问题。


Google 早在2017年提出了一个针对安卓手机模型更新的数据联合建模方案:在单个用户使用安卓手机时,不断在本地更新模型参数并将参数上传到安卓云上,从而使特征维度相同的各数据拥有方建立联合模型的一种联邦学习方案。

来源:Konečný J, McMahan H B, Yu F X, et al. Federated learning: Strategies for improving communication efficiency[J]. arXiv preprint arXiv:1610.05492, 2016.


联邦学习的优势是强调模型训练过程中对数据拥有方的数据隐私保护,在需要使用某些无法离开本地的数据(前面提到的“数据孤岛”)的功能场景中可以提供极大的帮助,而这种场景,随着对法律法规的完善和数据隐私重视,正变得越来越常见。因此,联邦学习并非把传统分布式学习做的更优更好,而是在做他们做不到的事情:无法访问数据,机器也就不存在“学习”了。


结 语

在大数据的浪潮下,越来越多的人意识到了数据所能产生的巨大价值,如何利用这些数据是一直以来的问题。简单的聚合各方数据,通过云计算来实现分析应用已经逐渐在隐私和数据安全的呼声中被抛弃,如何在自身设备上进行训练,共享数据价值而不泄露数据内容,只发送参数权重更新,才是合理且合法的方法,而这就是联邦学习技术正在做的。联邦学习在机器学习领域,独特性就在于“共同富裕”。联邦学习作为一种保障数据安全的建模方法,在销售、金融等行业中拥有巨大的应用前景。


END

投稿或寻求报道:[email protected]


大数据浪潮:从分布式系统到联邦学习

请长按扫描上方二维码加关注,

我们为您送上源源不断的前沿知识!


分享到:


相關文章: