Richard Liaw is currently a team lead at Anyscale, where he leads a team working on training libraries and integrations on top of Ray. He was previously a PhD candidate in the UC Berkeley RISELab working with Ion Stoica and Joseph Gonzalez, where he focused on problems in distributed deep learning, reinforcement learning, and ML cluster scheduling.
Reinforcement learning (RL) algorithms involve the deep nesting of distinct components, where each component typically exhibits opportunities for distributed computation. Current RL libraries offer parallelism at the level of the entire program, coupling all the components together and making existing implementations difficult to extend, combine, and reuse. We argue for building composable RL components by encapsulating parallelism and resource requirements within individual components, which can be achieved by building on top of a flexible task-based programming model. We demonstrate this principle by building Ray RLLib on top of the the Ray distributed execution engine and show that we can implement a wide range of state-of-the-art algorithms by composing and reusing a handful of standard components. This composability does not come at the cost of performance --- in our experiments, RLLib matches or exceeds the performance of highly optimized reference implementations. Session hashtag: #AI3SAIS