加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

漫衍式呆板进修的参数处事器

发布时间:2018-11-09 17:18:17 所属栏目:业界 来源:今日头条
导读:先容 很多呆板进修题目依靠大量的数据举办实习,然后举办推理。大型互联网局限的公司用tb或pb的数据举办实习,并从中建设模子。这些模子由权重构成,这些权重将优化大大都环境下的推理偏差。权重/参数的数目以数十亿至数万亿的次序分列。在这样大的模子中
副问题[/!--empirenews.page--]

 先容

很多呆板进修题目依靠大量的数据举办实习,然后举办推理。大型互联网局限的公司用tb或pb的数据举办实习,并从中建设模子。这些模子由权重构成,这些权重将优化大大都环境下的推理偏差。权重/参数的数目以数十亿至数万亿的次序分列。在这样大的模子中,在一台呆板上进修和推理都是不行能的。有一个可以用于漫衍式进修和推理的框架是很有效的。因为参数必要在多个节点之间共享,然后行使这些节点执行和完美它们的计较来更新它们,以是当涉及到共享时,这些大量数据也许成为瓶颈。共享在带宽、次序呆板进修(ML)算法的同步、呆板的容错性方面价钱奋发,妨碍率高达10%。Parameter sever(https://www.cs.cmu.edu/~muli/file/parameter_server_osdi14.pdf)提出了一种新的框架来办理这些题目,并构建了漫衍式呆板进修算法。

漫衍式呆板进修的参数处事器

首要计划理念

Parameter Server提出了以下计划要求:

  • 高效通讯:一种异步使命模子和API,可以镌汰呆板进修(ML)算法的整体收集带宽
  • 机动的同等性模子:宽松的同等性有助于低落同步本钱。它还应承开拓职员在算法收敛和体系机能之间举办选择。
  • 添加资源的弹性:应承添加更多容量而无需从头启动整个计较。
  • 高效的容错:在高妨碍率和大量数据的环境下,假如呆板妨碍不是劫难性的,可以在一秒钟阁下的时刻内快速规复使命。
  • 易用性:结构API以支持ML结构,譬喻稀少向量,矩阵或张量。

漫衍式呆板进修算法的示例

经典的监视呆板进修(ML)题目包罗在给定标志数据的实习集的环境下优化本钱函数。在很多样本上改变和调解本钱函数,以镌汰或最小化猜测偏差。为了调解模子或镌汰偏差,计较偏导数/梯度。这些梯度有助于在正确的偏向上移动权重,以最大限度地镌汰偏差。

对付“d”维特性向量,模子实行行使以下公式猜测先前未见过的x的功效:for every i=1 to d, ∑xi * wi。为了确保模子相对较好地推广(即,它仅在实习数据上不能很好地执行),将正则化分量添加到猜测函数。以是上面提到的函数酿成Σxi* wi +ƛ* Norm(w)。这里ƛ用于处罚在实习数据上发明的权重。这减弱了进修的权重,因此停止了太过拟合,并有助于对早年看不见的数据举办泛化。本文更偏重于该框架的体系方面。

让我们看看漫衍式随机梯度降落怎样用于求解上述猜测算法。下图描画了迭代算法并行化事变的高级进程:

漫衍式呆板进修的参数处事器

漫衍式逊?с法

该体系由一些处事器节点和事变节点构成。每个worker加载一些数据子集,差异的workers加载差异的样本。每个worker计较当地数据的梯度以优化丧失函数。然后,每个worker将这些部门梯度发送随处事器节点。处事器节点聚合从很多worker是、节点吸取的那些梯度。完成处事器节点后,worker节点可以从处事器节点提取新的权重集,并再次执行梯度计较。大大都时刻花在计较g1,g2,...,gm梯度上。这些是行使转置(X)* w计较的。假如w的数目级为数十亿至数万亿,这种计较在任何单个节点上都是不行行的。可是,每个节点仅处理赏罚数据子集的精采副浸染是,他们只必要相对应的权重,如数据。假如一小我私人试图猜测也许是用户点击一个告白,然后“regularizers”等词语不太风趣,大大都workers不会更新权重。正如你所看到的在上面的图中,给定节点上,只有x的权重(w)的特性存在/相干的点积是须要发送给工人节点(拜见x在每个事变节点和响应的列稀少权向量w)。

在较高的条理上,算法在每个worker上看起来如下:

  • 在每个worker上,计较数据子集的梯度​​(偏导数)
  • 将此部门梯度推送随处事器
  • 在处事器筹备停那时从处事器中提取新的权重集

在每台处事器上:

  • 汇总全部'm'个worker的梯度,譬喻g =Σgi
  • new_weights = old_weights - learning_rate *(g +ƛ* Norm(old_weights))

架构

漫衍式呆板进修的参数处事器

High level architecture

ParameterServer由处事器组构成,便于在体系中运行多种算法。处事器组中的每个处事器节点认真密钥空间/数据的分区。处事器可以彼此通讯以迁徙/复制数据,以实现可伸缩性和可用性。处事器打点器认真维护处事器组的同等视图。它执行勾当搜查并为每个处事器节点分派密钥空间的全部权。

凡是为应用措施分派事变组。多个workers节点组成事变组,它们与处事器组通讯以提取参数和推送梯度,如上一节所述。事变组不必要彼此通讯。调治措施查察事变组并为其分派使命。凡是,沟通的事变节点通过在统一数据集上运行迭代算法来操作当地存储的数据。参数名称空间可用于在多个事变组之间进一步并行化事变。另外,可以在多个组之间共享沟通的参数定名空间:典范示例是支持及时推理的一个组,而其他事变组可以支持模子的开拓和共享参数的更新。

让我们看一下构建这种架构所需的一些原语

键值API

撰写本文时,现有体系行使键值对来转达共享参数。一个例子是feature-id及其权重。传统上,这是行使memcached或其他一些键值存储实现的。重要的看法是值首要是一些线性代数基元,譬喻向量或矩阵,而且可以或许优化对这些结构的操纵是有效的。典范的操纵是点积,矩阵乘法,L-2范数等。因此,保持键值语义和赋值作为向量,矩阵对付优化大大都常见的呆板进修(ML)操纵很是有效。

Range based push and pull

如前面算法中所述,从处事器节点和梯度中提取的权重被推送随处事器节点。支持基于Range的推送和拉取将优化收集带宽行使。因此,体系支持w.push(R,destination),w.pull(R,destination)来提取数据。在这两种环境下,对应于Range R中的键的值被从目标节点推送和拉出。将R配置为单个键,提供简朴的键值读写语义。因为梯度g与w具有沟通的密钥,因此w.push(R,g,destination)可用于将局部梯度推送到目标地。

异步使命和依靠

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读