What is RLightning?¶
Core Properties¶
RLightning is a distributed reinforcement learning framework for embodied intelligence, built around two core properties: ease of use and efficiency.
Ease of use — Algorithms are written and debugged in a familiar single-process style. RLightning then transparently distributes execution across nodes and GPUs without changes to code, making the path from local prototype to large-scale training seamless.
Efficiency — Various built-in methods, such as placement scheduling and asynchronous task scheduling, to improve training throughput, maximize GPU utilization, and preserve algorithm accuracy at distributed scale.
System Challenges¶
Embodied RL poses three main challenges:
Algorithmic diversity — Model scales span from compact MLPs to 7B+ vision-language-action models (VLAs); specialized architectures (dual-system, tri-system) require flexible algorithm prototyping.
Data-intensive interaction — While not identical to LLM-based RL, embodied RL is mostly bottlenecked by high-frequency online environment interaction, imposing strict data throughput requirements.
Heterogeneous ecosystem — Training pipelines must integrate diverse simulators, robot morphologies, and task distributions that existing frameworks handle poorly.
RLightning addresses these challenges through the following system design principles:
Design Principles¶
Principle |
Description |
|---|---|
Flexible Prototyping |
Write and debug algorithms in single-process style; a runtime adapter layer transparently distributes execution at scale with no code changes. |
Scalable Distributed Execution |
Env workers, Policy workers, and Buffers scale independently. Asynchronous scheduling overlaps rollout and training to maximize throughput. |
Extensible Modular Design |
Loosely-coupled components with well-defined extension points. Integrate new simulators, algorithm libraries, or real-robot backends by subclassing a base class and registering it — no framework changes required. |
Embodiment-Oriented Optimization |
Asynchronous I/O, data routing, fine-grained resource scheduling, and flexible task orchestration minimize communication overhead and maximize GPU utilization for high-frequency embodied workloads. |
Supported Features¶
Category |
Component |
Description |
|---|---|---|
RL Components |
DataBuffer |
|
Policy |
Interface for implementing policy models and training / inference algorithms |
|
Env |
ManiSkill, MuJoCo, IsaacLab, Libero, Remote Env (such as real-world robots) |
|
Multi-dimensional Scaling |
Env |
Vector env count, env instance count, heterogeneous simulators |
Task |
Multiple tasks within a single training run |
|
Eval Policy (Actor) |
Multiple eval workers with stateful and load-balancing routing |
|
Train Policy (Learner) |
Single-process or DDP distributed training |
|
Buffer |
Unified or Sharded buffer storage with global sampling and data routing |
|
Task Scheduling |
Synchronous |
|
Asynchronous |
|
|
Execution Mode |
Single-process, single-GPU |
Prototype and debug algorithms |
Distributed multi-process, multi-GPU and multi-node |
Scale training and throughput via data-parallel training |
|
Resource Scheduling |
Default |
Ray default scheduling; node-affinity strategy for buffer workers |
Disaggregate |
Separate resource pools: train + buffer on one pool, eval + env on another |
|
Colocate |
All components share a single global pool across nodes |
|
Manual |
Explicit per-node resource pools defined in YAML config |
|
Weight Synchronization |
Double buffer |
Two GPU weight snapshots; writer alternates, reader always gets latest |
CPU buffer |
Weights stored on CPU; loaded to GPU on demand to reduce peak memory |
|
Sharded buffer |
Weights split across eval GPUs; all-gather to reconstruct on update |
|
Observability |
Logging |
Structured metrics; Experiment logger backends: TensorBoard, Wandb, SwanLab |
Profiling |
Built-in timing profiler for rollout, training, and weight-sync stages |