Project
SkyRL
Overview
SkyRL is an open-source RL framework for LLM post-training designed around modularity: making it easier to prototype new training algorithms, environments, rollout strategies, and execution plans without rewriting the entire RL stack. The framework separates the RL system into clean components: a Trainer for optimization, a Generator for trajectory production and reward computation, an InferenceEngine for model completions, Environments for task execution, and a Controller for placement and orchestration.
My work on SkyRL sits across the systems layer of post-training: rollout generation, distributed execution, GPU CI reliability, Megatron support, vLLM/SGLang inference integration, and training infrastructure. I’ve contributed to features like custom chat templates, user-defined masking, batched rollouts, improved generation behavior, RoPE compatibility for Hugging Face and vLLM models, Megatron autograd fixes, GPU test migration, and configuration pathways for gradient checkpointing and distributed training.
One of my larger contributions was adding support for Megatron pipeline parallelism and context parallelism for R3-style training. This involved working through the boundary between training-time model parallelism and rollout-time generation, making sure large-scale post-training workloads could run more flexibly across different parallelization strategies. I also worked on related infrastructure around MoE testing, OlMoE migration, and the broader Megatron backend.
A lot of the work has been less glamorous but important systems engineering: fixing GPU CI failures, increasing test stability, resolving NCCL and P2P issues, updating generator tests, and cleaning up behavior around token truncation, chat templates, and masking. These changes matter because RL post-training systems are extremely brittle. Small mismatches between tokenization, rollout generation, inference backends, trainer expectations, and reward computation can silently break experiments.
The broader reason I’m excited about SkyRL is that RL infrastructure for LLMs is becoming one of the most important layers in the AI stack. Post-training is moving from simple PPO-style loops toward multi-turn agents, tool-use environments, async rollouts, disaggregated training and generation, heterogeneous hardware, and custom environment logic. SkyRL’s modular design is meant to make those ideas easier to test without forcing researchers to fight the entire stack every time they change one component.
For me, SkyRL has been a way to work on the real infrastructure behind frontier post-training: distributed systems, GPU execution, inference engines, training loops, model parallelism, and the messy interface between research ideas and production-grade ML systems.
Technical Highlights
- Contributed to open-source RL infrastructure for LLM post-training
- Worked across Ray, PyTorch/CUDA, vLLM, SGLang, Megatron, and GPU CI
- Added and improved SkyRLGymGenerator support for custom chat templates and batched rollouts
- Supported user-defined masking and token generation behavior for RL trajectories
- Added Megatron pipeline parallelism and context parallelism support for R3 training
- Improved RoPE configuration compatibility across Hugging Face models and vLLM
- Fixed GPU CI failures, NCCL/P2P issues, test fixtures, and generator behavior
- Collaborated on async and disaggregated RL training infrastructure