本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

wzatv:横向对比三大分布式机器学习平台:Spark、PMLS、(2)

时间:2017-08-04 19:44来源:本港台直播 作者:开奖直播现场 点击:
PMLS 是专为机器学习设计的,没有其它杂乱的历史。它引入了参数服务器(PS: parameter-server)的抽象概念,支持密集迭代的机器学习训练过程。 其中 PS(

PMLS 是专为机器学习设计的,没有其它杂乱的历史。它引入了参数服务器(PS: parameter-server)的抽象概念,支持密集迭代的机器学习训练过程。

wzatv:横向对比三大分布式机器学习平台:Spark、PMLS、

其中 PS(图中绿色方框)被用作分布式的内存键值存储(distributed in-memory key-value store)。它会被复制和共享:每个节点都被用作这个模型(参数空间)一个分片的主节点以及其它分片的次要节点/副本。因此在节点数量方面,PS 可以很好地扩展。

PS 节点会存储和更新模型参数以及响应来自工作器的请求。工作器会请求来自它们的局部 PS 副本的最新模型参数,j2直播,并在分配给它们的数据集部分上执行计算。

PMLS 还采用了 SSP(Stale Synchronous Parallelism)模型,这比 BSP(Bulk Synchronous Parellelism)模型更宽松——其中工作器在每次迭代结束时同步。SSP 为工作器的同步减少了麻烦,确保最快的工作器不能超过最慢的工作器 s 次迭代。宽松的一致性模型仍然可以用于机器学习训练,因为这个过程有一定的噪声容错能力,我在 2016 年 4 月的这篇文章中谈过这个问题:https://muratbuffalo.blogspot.com/2016/04/petuum-new-platform-for-distributed.html

TensorFlow

谷歌有一个基于参数服务器模型的分布式机器学习平台 DistBelief。参阅我对 DistBelief 论文的评论:https://muratbuffalo.blogspot.com/2017/01/google-distbelief-paper-large-scale.html。在我看来,DistBelief 的主要缺陷是:为了编写机器学习应用,需要操作低级代。谷歌想要自己的所有员工无需精通分布式执行就能编写机器学习代——基于同样的理由,谷歌为大数据处理编写了 MapReduce 框架。

所以为了实现这一目标,谷歌设计了 TensorFlow。TensorFlow 采用了数据流范式,但是是一种更高级的版本——其中计算图无需是 DAG,而且包含循环且支持可变状态。我认为 Naiad 设计可能对 TensorFlow 设计有所影响。

TensorFlow 使用节点和边的有向图来表示计算。节点表示计算,状态可变。而边则表示多维数据数组(张量),在节点之间传输。TensorFlow 需要用户静态声明这种符号计算图,并对该图使用复写和分区(rewrite & partitioning)将其分配到机器上进行分布式执行。(MXNet,尤其是 DyNet 使用了图的动态声明,这改善了编程的难度和灵活性。)

wzatv:横向对比三大分布式机器学习平台:Spark、PMLS、

TensorFlow 中的分布式机器学习训练使用了如图所示的参数服务器方法。当你在 TensorFlow 中使用 PS 抽象时,你就用到了参数服务器和数据并行。TensorFlow 让你还能做更复杂的事情,但那需要编写自定义代码并进入全新的疆域。

一些评估结果

我们的评估使用了 Amazon EC2 m4.xlarge 实例。每个实例包含 4 个由 Intel Xeon E5-2676 v3 驱动的 vCPU 和 16 GiB RAM。EBS 带宽为 750Mbps。我们使用了两个常见的机器学习任务进行评估:二分类 logistic 回归和使用多层神经网络的图像分类。我在这里仅给出了几张图,查看我们的论文可以了解更多实验。但我们的实验还有一些局限性:我们使用了少量机器,不能大规模测试。我们也限制了 CPU 计算,没有测试 GPU。

wzatv:横向对比三大分布式机器学习平台:Spark、PMLS、

这幅图展示了各平台的 logistic 回归执行速度。Spark 表现不错,但落后于 PMLS 和 MXNet。

wzatv:横向对比三大分布式机器学习平台:Spark、PMLS、

这幅图展示了各平台的深度神经网络(DNN)执行速度。相比于单层的 logistic 回归,Spark 在两层神经网络上有更大的性能损失。这是因为两层网络需要更多迭代计算。在 Spark 中我们将参数保存在驱动器中,这样它们可以拟合;如果我们将参数保存在一个 RDD 中并且在每次迭代后更新,情况还会变得更加糟糕。

wzatv:横向对比三大分布式机器学习平台:Spark、PMLS、

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容