分布式强化学习(Distributed RL)入门

参考视频:周博磊强化学习纲要

阅读本文需要强化学习基础,可以阅读我以前的文章:强化学习纲要(周博磊课程)强化学习实践教学

分布式系统

一般情况下我们做的论文课题都是小规模的,使用的都是一个相对较小的数据库,因此使用单机系统基本可以完成任务。但现实生活中的数据往往是巨量的,我们需要一个完整的分布式系统来处理这种大规模的数据。算法和结果只是冰山一角,只有拥有一个好的系统和框架作为支撑,才能得到好的算法和实验结果。

分布式系统需要满足:

  • 一致性:确保多节点的协调运作并且结果和单机运行的结果一致。
  • 容错性:当分布式环境工作时,其中某一个节点出现错误(机器宕机等),任务能够分配到其他机器,工作也能正常。
  • 交流:分布式系统需要I\O和分布式文件系统的知识。

在这里插入图片描述

分布式系统中存在分布式学习的模型和数据,因此有两种并行。一种是不同的机器做一个网络不同部分的计算。第二种是一套机器拥有一个单独的模型拷贝,但是分配到的数据是不同的,计算结果汇总。

在这里插入图片描述

一台电脑可以拥有多块显卡,因此每一块显卡都可以负责模型的一部分,每台电脑都可以放置一个模型,然后把数据分配到每台电脑的每一块显卡上,这就是上面两种并行方法的综合运用。


使用算法和模型的时候需要在机器之间传输信息,怎么实施信息之间的交互是需要解决的问题。一种更新参数的方法是使用Parameter Server。我们可以用另外一台机器接收各个机器传回来的模型参数,然后给这些参数取平均得到更新值,然后把更新后的参数返回给各个机器,使得每一台机器都可以保持相同的参数进行分布式计算。这里我们也可以在各个机器中计算梯度后只把梯度传递回主机,主机中乘上一个学习率即可。

在这里插入图片描述


对于模型的更新有两种常见的方法:同步更新和异步更新。

在这里插入图片描述


上面的方法需要一个主机Parameter Sever,如果主机出现错误,整个训练就会失败。因此我们可以不用主机,这也叫做分散异步随机梯度下降࿰

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微笑小星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值