PaddlePaddle / PARL

A high-performance distributed training framework for Reinforcement Learning
https://parl.readthedocs.io/
Apache License 2.0
3.24k stars 819 forks source link

关于PARL分布式 #944

Open supersglzc opened 2 years ago

supersglzc commented 2 years ago

非常感谢库的维护人员!我有以下 关于PARL分布式的问题:

  1. 在IMPALA里,实现是使用的多线程而不是用未阻塞版(wait=false)。我想问一下这两个版本的区别是什么呢?为什么在异步的IMPALA里选择用多线程呢?
  2. 在传输网络的时候,直接传整个网络和set weight的方式哪一个更快呢?
TomorrowIsAnOtherDay commented 2 years ago

感谢您对于PARL的关注。我逐个回答下问题:

  1. 可以参考我们的两份文档了解下他们的区别: https://github.com/PaddlePaddle/PARL/blob/develop/docs/zh_CN/xparl/example2.md https://github.com/PaddlePaddle/PARL/blob/develop/docs/zh_CN/xparl/example1.md “为什么在异步的IMPALA里选择用多线程呢?”异步意味着需要多个逻辑同时并发,多线程是个好选择。

  2. 这不涉及到谁更快的问题,而是可不可行的问题。从网络传输原理的角度,整个网络没法直接序列化成二进制序列,然后通过网络传输。后者是通过转换成常见数据类型然后走网络传输的。