SEED RL:大规模分布式强化学习框架
SEED RL:Scalable, Efficient Deep-RL,每秒处理数百万张图片的分布式强化学习框架。
目录
基本架构
- Actor由大量CPUs组成,只进行环境交互,不再进行推理采样。
- Learner由GPU组成,高度的算力集中,完成推理采样、数据存储及学习训练。
- 基本结构和GA3C很相似。
学习过程
- 整体采用批处理机制,批量采样、批量学习。
- Inference thread是While True Thread,负责生成π(a|s)并保存trajectories (s, a, r, s')。
- Data prefetching也是While True Thread,当trajectories完成时,通过quene存入replay buffer。
-
Training thead也是While True Thread,通过Device Buffer进行批量学习。
总结
- 与GA3C相比,直接支持off-policy,而不是不时的数据延迟lag。
- 与IMPALA相比,Actor只专注环境交互,不再进行动作采样;网络参数只有一套,推理采样及学习都在Learner上。
- 与R2D2相比,Replay Buffer直接在Learner上,取消分布式优先经验回放机制。
- Actor与Learner采用gRPC通信,有效降低采样延迟。
- 每个Actor拥有多个环境Environments,提高吞吐量,高效利用CPUs和GPU。
- Actor与Learner不需要传输完整的Experience,降低带宽,有利于更大规模扩展。