Relay-OPD is an on-policy distillation method that lets a stronger teacher temporarily take over a student's rollout at selected reflection points, then returns generation to the student. This repository contains the complete training, data-synthesis, ablation, and evaluation code used in the paper. The implementation is built on verl and uses a vLLM 0.21.0 speculative-decoding patch for Relay-OPD and SKD.
opd/
data/ Offline-trajectory generation and dataset support
eval/ Math benchmark evaluation
patches/vllm/ Relay-OPD and SKD speculative-decoding patch
reward/ Training-time math reward and graders
scripts/
data/ Offline baseline data synthesis
baselines/ SFT, SeqKD, GRPO, OPD/FastOPD, TRD, and SKD
relay_opd/ Main Relay-OPD training entry point
ablations/ One executable script per paper ablation
evaluation/ Math benchmark evaluation
Relay-OPD currently requires Linux and NVIDIA GPUs. The speculative-decoding patch depends on vLLM internals and therefore requires vLLM 0.21.0. We recommend creating a basic Python 3.12 Conda environment and installing dependencies in three layers: vLLM, verl itself, and the small set of Relay-OPD-specific dependencies.
Clone the repository and enter the implementation directory:
git clone git@github.com:ZJU-REAL/Relay-OPD.git
cd Relay-OPD/relay-opdCreate and activate a Conda environment:
conda create -n relay-opd python=3.12 -y
conda activate relay-opd
python -m pip install --upgrade pip setuptools wheelInstall the vLLM version required by the speculative-decoding patch first:
python -m pip install \
-c environment/vllm-constraints.txt \
vllm==0.21.0Install verl and its dependencies from the repository's own package metadata, then install the additional Relay-OPD runtime dependency:
python -m pip install -e .
python -m pip install -r requirements-relay-opd.txt
python environment/verify_install.pyThe verifier checks CUDA execution, the math grader, and every vLLM interface
patched by Relay-OPD. Because the patch targets vLLM internals, vLLM is the
only dependency whose exact version is mandatory in the default installation.
The small constraint file keeps OpenCV below version 5 so that vLLM 0.21
remains runtime-compatible with verl's numpy<2 requirement; it does not
constrain PyTorch, CUDA, or other GPU-dependent packages.
For strict reproduction of our validated Linux x86_64, Python 3.12, CUDA 13.0
environment, we additionally provide environment/requirements.lock.txt.
This lock is intentionally an optional fallback because CUDA, GPU, and wheel
availability may differ across systems:
PYTHON_BIN=python3.12 \
VENV_DIR="$PWD/.venv-locked" \
bash environment/create_locked_env.shThe locked reference uses the following versions:
| Component | Validated version |
|---|---|
| Python | 3.12.13 |
| PyTorch | 2.11.0+cu130 |
| CUDA runtime | 13.0 |
| vLLM | 0.21.0 |
| Transformers | 5.14.1 |
| Ray | 2.56.1 |
| FlashInfer | 0.6.8.post1 |
| Triton | 3.6.0 |
The locked environment preserves the validated
numpy==1.26.4/opencv-python-headless==4.13.0.92 pair. Current OpenCV
metadata requests NumPy 2, while verl requires NumPy below 2; the locked
installer allows only this known metadata mismatch and fails on any other
dependency conflict.
The paper configuration uses eight GPUs split into four actor/student GPUs and
four teacher GPUs. The released environment was additionally validated with a
two-GPU 1 actor + 1 teacher smoke test using the paper batch size (128) and
response budget (16,384). Memory settings and tensor-parallel sizes can be
overridden through the environment variables documented in the launch
scripts.
The online methods use the following defaults:
| Setting | Value |
|---|---|
| Max prompt length | 2,048 |
| Max response length | 16,384 |
| Sampling temperature | 1.0 |
| Sampling top-p | 1.0 |
| Rollouts per prompt | 1 (GRPO: 8) |
| Global batch size | 128 |
| PPO mini-batch size | 128 |
| PPO epochs | 1 |
| Learning rate | 1e-6, constant |
| Training epochs | 1 |
Relay-OPD uses handoff top-K K=5, at most M=2 teacher takeovers, and
L=3 additional teacher paragraphs per takeover. It applies the k1
reverse-KL policy-gradient objective to the actual token in the relay
trajectory on both student and teacher legs.
The default reflection-token bases are Wait, But, Hmm, Actually,
Hold, However, Yet, Oh, Alternatively, No, Ah, Oops, and
Well; their case and leading-space variants are resolved with the student
tokenizer. Override the comma-separated set with
RELAY_OPD_REFLECTION_TOKENS.
All methods use the student's non-thinking Qwen3 template:
<|im_start|>system
Please reason step by step, and put your final answer within \boxed{}.<|im_end|>
<|im_start|>user
{problem}<|im_end|>
<|im_start|>assistant
<think>
</think>
Online methods (GRPO, OPD, FastOPD, SKD, and Relay-OPD) consume a
verl RL parquet with at least prompt and reward_model columns.
SFT and SeqKD share one offline dataset containing a single teacher trajectory per problem. Generate it from the prompt-only parquet with the teacher model, but render every prompt with the student's tokenizer and non-thinking template:
TEACHER_MODEL=/path/to/teacher \
STUDENT_MODEL=/path/to/student \
SOURCE_DATA=/path/to/train.parquet \
OUTPUT_PARQUET=/path/to/teacher_trajectories.parquet \
GPU_GROUPS='0;1;2;3;4;5;6;7' \
bash opd/scripts/data/teacher_trajectories.shEach semicolon-delimited entry in GPU_GROUPS is one data-parallel worker;
comma-delimited devices within an entry form its tensor-parallel group. For
example, GPU_GROUPS='0,1;2,3;4,5;6,7' runs four TP=2 workers. Generation is
sharded, resumable at shard granularity, and merged only after every shard has
a completion summary.
The resulting SFT/SeqKD parquet contains tokenized prompt_token_ids and
response_token_ids. Prompt IDs include the empty <think></think> block;
only response tokens contribute to SFT loss. SeqKD scores the same response
under the same student-formatted prompt using the teacher.
TRD requires a separate two-stage synthesis pipeline. It first samples one student trajectory per prompt and then asks the teacher to rewrite that trajectory. Both stages use the student's tokenizer and non-thinking template:
STUDENT_MODEL=/path/to/student \
TEACHER_MODEL=/path/to/teacher \
SOURCE_DATA=/path/to/train.parquet \
OUTPUT_PARQUET=/path/to/trd_trajectories.parquet \
STUDENT_GPU_GROUPS='0;1;2;3;4;5;6;7' \
REWRITE_GPU_GROUPS='0,1;2,3;4,5;6,7' \
bash opd/scripts/data/trd_trajectories.shTRD data additionally contains teacher_prompt_token_ids, whose prompt
includes the problem and original student trajectory under the rewrite
instruction. Its student-side prompt_token_ids still contain only the
original problem and the empty-thinking assistant prefix.
The TRD rewrite prompt is:
Your task is to rewrite your mathematical solution.
**Problem:** {problem}
**Your Initial Solution:** {initial_response}
**Instructions:**
1. Preserve the overall structure and reasoning path of your original solution
2. Identify and fix errors in computation or logic
3. Keep correct intermediate steps and meaningful work
4. Output ONLY the rewritten solution
Each script takes paths through environment variables and forwards additional Hydra overrides from its command line. For example:
export STUDENT_MODEL=/path/to/student
export TEACHER_MODEL=/path/to/teacher
export TRAIN_DATA=/path/to/train.parquet
export BENCH=/path/to/eval_parquets
export OUTPUT_DIR=/path/to/output
bash opd/scripts/relay_opd/train.shOnline distillation defaults to eight GPUs split as four actor/student GPUs and four teacher-prefill GPUs. A four-GPU 2+2 run can be launched with:
CUDA_VISIBLE_DEVICES=0,1,2,3 \
ACTOR_GPUS_PER_NODE=2 \
TEACHER_GPUS_PER_NODE=2 \
bash opd/scripts/relay_opd/train.shOffline-data entry points:
| Script | Experiment |
|---|---|
opd/scripts/data/teacher_trajectories.sh |
Shared SFT/SeqKD teacher trajectories |
opd/scripts/data/trd_trajectories.sh |
Student trajectories and teacher rewrites for TRD |
Baseline entry points:
| Script | Experiment |
|---|---|
opd/scripts/baselines/sft.sh |
SFT on one offline teacher trajectory per prompt |
opd/scripts/baselines/seqkd.sh |
Offline top-k forward-KL KD |
opd/scripts/baselines/grpo.sh |
Outcome-reward GRPO |
opd/scripts/baselines/opd.sh |
Standard 16,384-token PG-style k1 reverse-KL OPD |
opd/scripts/baselines/fastopd/1024.sh |
FastOPD@1024 |
opd/scripts/baselines/fastopd/2048.sh |
FastOPD@2048 |
opd/scripts/baselines/fastopd/4096.sh |
FastOPD@4096 |
opd/scripts/baselines/fastopd/8192.sh |
FastOPD@8192 |
opd/scripts/baselines/trd.sh |
TRD rewrite-trajectory KD |
opd/scripts/baselines/skd.sh |
Speculative Knowledge Distillation |
The main method is launched with opd/scripts/relay_opd/train.sh.
Every paper ablation has a dedicated entry point:
| Category | Scripts |
|---|---|
| Handoff top-K | opd/scripts/ablations/trigger_topk/k1.sh, k10.sh |
| Relay budget M | opd/scripts/ablations/takeover_count/m1.sh, m3.sh, m4.sh |
| Teacher-leg length L | opd/scripts/ablations/takeover_length/l0.sh, l1.sh, l2.sh, l4.sh, l5.sh, l6.sh |
| Loss | opd/scripts/ablations/loss/teacher_token_rkl.sh, student_action_rkl.sh, teacher_fkl.sh |
For example:
bash opd/scripts/ablations/loss/teacher_fkl.shThe main opd/scripts/relay_opd/train.sh entry point uses emitted-token k1
RKL and does not request top-k distributions. Top-k FKL is retained only for
the corresponding paper ablation.
opd/scripts/evaluation/math.sh runs independent data-parallel vLLM shards
and aggregates their JSONL and summary files:
RUN_NAME=relay_opd \
STEP=35 \
MODEL=/path/to/checkpoint/actor/huggingface \
DATA_DIR=/path/to/eval_parquets \
OUT_ROOT=/path/to/eval_output \
BENCHES=aime24,aime25,aime26,math500,amc23,olympiad,hmmt_feb_2026,hmmt_nov_2025 \
N_SAMPLES=32 MAX_NEW=32768 MAX_MODEL_LEN=34817 DP_SIZE=4 TP=1 \
bash opd/scripts/evaluation/math.shEach benchmark writes <bench>.summary.json; raw generations are retained in
<bench>.jsonl. The Python runner opd/eval/math_benchmarks.py also supports
direct Relay-OPD, Trigger-Stop, and SKD speculative-rollout evaluation.
verl is a flexible, efficient and production-ready RL training library for large language models (LLMs).
verl is the open-source version of HybridFlow: A Flexible and Efficient RLHF Framework paper.
verl is flexible and easy to use with:
-
Easy extension of diverse RL algorithms: The hybrid-controller programming model enables flexible representation and efficient execution of complex post-training dataflows. Build RL dataflows such as GRPO, PPO in a few lines of code.
-
Seamless integration of existing LLM infra with modular APIs: Decouples computation and data dependencies, enabling seamless integration with existing LLM frameworks, such as FSDP, Megatron-LM, vLLM, SGLang, etc
-
Flexible device mapping: Supports various placement of models onto different sets of GPUs for efficient resource utilization and scalability across different cluster sizes.
-
Ready integration with popular HuggingFace models
verl is fast with:
-
State-of-the-art throughput: SOTA LLM training and inference engine integrations and SOTA RL throughput.
-
Efficient actor model resharding with 3D-HybridEngine: Eliminates memory redundancy and significantly reduces communication overhead during transitions between training and generation phases.
- [2026/05] uni-agent is released: a unified agent framework to build, run, and train LLM agents at scale, built on top of verl.
- [2026/05] VeRL-Omni is pre-released: a unified RL stack for diffusion and omni-modal model post-training built on top of verl. Read the blog post for details.
- [2026/05] verl's zero-mismatch HuggingFace rollout vexact is released: with batch-invariant kernels, shared model definition with FSDP, and out-of-box examples compatible with VeOmni.
- [2026/04] verl's Megatron backend LoRA and router replay support is showcased at PyTorch Conference Europe 2026.
- [2026/03] verl is presented at NVIDIA GTC26: session#1, session#2
- [2026/01] verl has been migrated to the verl-project
- [2026/01] verl first meetup was successfully held in Shanghai on 01/10, hosted by Volcengine and NVIDIA, the slides has been uploaded to verl-data.
- [2026/01] The
recipedirectory has been migrated to a dedicated repository: verl-recipe and added as a submodule. See verl-project/verl#4795. It can be used as it was aftergit submodule update --init --recursive recipe. Note thattransfer_queue,fully_async_policy,one_step_off_policyandvlaare kept underverl/experimentalsince they are planned to be merged into the main library. Use them throughverl.experimental.{module}. - [2025/12] Mind Lab successfully used verl and Megatron-bridge to train GRPO Lora for Trillion-parameter model on 64 H800 - See their techblog.
- [2025/10] verl is presented in the PyTorch Conference 2025.
- [2025/08] verl is presented in the PyTorch Expert Exchange Webinar. Slides available.
- [2025/07] The ReTool recipe is fully open sourced. Blog
- [2025/07] The first verl meetup will be held at ICML Vancouver on July 16th! Please join us if you are at ICML! (onsite only)
- [2025/06] verl with Megatron backend enables large MoE models such as DeepSeek-671B and Qwen3-235B.
- [2025/03] DAPO is the open-sourced SOTA RL algorithm that achieves 50 points on AIME 2024 based on the Qwen2.5-32B pre-trained model, surpassing the previous SOTA achieved by DeepSeek's GRPO (DeepSeek-R1-Zero-Qwen-32B). DAPO's training is fully powered by verl and the reproduction code is available in
recipe/daponow.
more...
- [2025/04] [Seed-Thinking-v1.5](https://github.com/ByteDance-Seed/Seed-Thinking-v1.5/blob/main/seed-thinking-v1.5.pdf) tech report is released! Trained with verl, Seed-Thinking-v1.5 achieves 86.7 on AIME 2024, 55.0 on Codeforces and 77.3 on GPQA, demonstrating excellent reasoning abilities in STEM and coding. Beyond reasoning tasks, the method demonstrates notable generalization across diverse domains.
- [2025/07] verl keynote at [AWS AI Hours Singapore](https://pages.awscloud.com/aws-ai-hours-sg.html#agenda) on 7/8, verl & verl-agent project updates at [Agent for SWE meetup](https://lu.ma/e498qhsi) by LF AI & Data Singapore on 7/11.
- [2025/06] verl team will provide latest project updates at [PyTorch Day China](https://www.lfasiallc.com/pytorch-day-china/) on June 7th. Meet our dev team in Beijing!
- [2025/04] [VAPO](https://arxiv.org/pdf/2504.05118) (value-based augmented PPO) paper covers our latest RL method for reasoning models. Trained from Qwen-32B-base model, VAPO achieves 60.4 on AIME 2024, outperforming DAPO-32B.
- [2025/05] [PF-PPO](https://arxiv.org/abs/2409.06957), accepted to ICML 2025, is now supported in verl! PF-PPO enhances policy learning efficiency and robustness by filtering potentially noisy reward signals and reusing high-quality experiences via a replay buffer.
- [2025/04] We will give a tutorial about latest post-training techniques and programming guide for verl at [ICLR 2025 Expo](https://iclr.cc/virtual/2025/calendar?filter_events=Expo+Talk+Panel&filter_rooms=), [SCI-FM workshop](https://open-foundation-model.github.io/) and [LMSys afterparty](https://lu.ma/d23nyynm). Talk materials available [here](https://github.com/eric-haibin-lin/verl-community/tree/main/iclr25).
- [2025/03] verl v0.3.0.post1 is released! See [release note](https://github.com/verl-project/verl/releases/) for details. It achieves [~1.4x speedup](https://tongyx361.github.io/blogs/posts/verl-intro/#/verl-flexible-and-efficient-rl-for-llms) compared to prev versions.
- [2025/05] verl will be presented at [A2M Shanghai](https://a2m.msup.com.cn/home/?aid=4488&city=shanghai) on 5/16 - 5/17.
- [2025/05] verl will be presented at [GOSIM x PyTorch Day 2025](https://paris2025.gosim.org/). See you in Paris!
- [2025/03] We introduced the programming model of verl at the [vLLM Beijing Meetup](https://mp.weixin.qq.com/s/n77GibL2corAtQHtVEAzfg) and [verl intro and updates](https://github.com/eric-haibin-lin/verl-community/blob/main/slides/verl-lmsys-meetup.pdf) at the [SGLang-LMSYS Org Meetup](https://lu.ma/ntjrr7ig) in Sunnyvale mid-March.
- [2025/03] We will present verl(HybridFlow) at EuroSys 2025. See you in Rotterdam!
- [2025/02] verl v0.2.0.post2 is released!
- [2025/02] We presented verl in the Bytedance/NVIDIA/Anyscale Ray Meetup. See you in San Jose!
- [2025/01] [Doubao-1.5-pro](https://team.doubao.com/zh/special/doubao_1_5_pro) is released with SOTA-level performance on LLM & VLM. The RL scaling preview model is trained using verl, reaching OpenAI O1-level performance on math benchmarks (70.0 pass@1 on AIME).
- [2024/12] verl is presented at Ray Forward 2024. Slides available here
- [2024/12] The team presented Post-training LLMs: From Algorithms to Infrastructure at NeurIPS 2024. Slides and video available.
- [2024/10] verl is presented at Ray Summit. Youtube video available.
- [2024/08] HybridFlow (verl) is accepted to EuroSys 2025.
- FSDP, FSDP2 and Megatron-LM for training.
- vLLM, SGLang and HF Transformers for rollout generation.
- Compatible with Hugging Face Transformers and Modelscope Hub: Qwen3.5, Qwen3, Qwen-2.5, Llama3.1, Gemma2, DeepSeek-LLM, etc
- Supervised fine-tuning.
- Reinforcement learning with PPO, GRPO, GSPO, ReMax, REINFORCE++, RLOO, PRIME, DAPO, DrGRPO, KL_Cov & Clip_Cov etc.
- Support model-based reward and function-based reward (verifiable reward) for math, coding, etc
- Support vision-language models (VLMs) and multi-modal RL with Qwen2.5-vl, Kimi-VL
- Multi-turn with tool calling
- LLM alignment recipes such as Self-play preference optimization (SPPO)
- Flash attention 2, sequence packing, sequence parallelism via DeepSpeed Ulysses, LoRA, Liger-kernel (
USE_LIGER=1). - Scales up to 671B models and hundreds of GPUs with expert parallelism
- Multi-gpu LoRA RL support to save memory.
- Experiment tracking with wandb, swanlab, mlflow and tensorboard.
- Hardware Support: Supports NVIDIA, AMD, Ascend
Quickstart:
- Installation
- Quickstart
- Programming Guide & Tech Talk (in Chinese)
- PPO in verl
- GRPO in verl
Running a PPO example step-by-step:
- Prepare Data for Post-Training
- Implement Reward Function for Dataset
- PPO Example Architecture
- Config Explanation
Reproducible algorithm baselines:
Algorithm recipes (recipe/):
- Optional workflows and baselines live under
recipe/. Each recipe subdirectory includes a smallREQUIRED_VERL.txtfile describing the intendedverlinstall: pinned recipes use a tag or fixed git SHA; rolling recipes record an explicitVERL_COMMIT(and related submodule / recipe-folder SHAs) so you canpip install verl@git+…@<sha>without guessing. Seerecipe/README.mdfor the full index and links.
For code explanation and advance usage (extension):
-
PPO Trainer and Workers
-
Advanced Usage and Extension
Blogs from the community
- When Reasoning Models Break Tokenization: The Hidden Complexity of Multiturn Training
- verl deployment on AWS SageMaker
- verl x SGLang Multi-turn Code Walkthrough
- Optimizing SGLang Memory Usage in verl
- SGLang, verl, OpenBMB and Tsinghua University: Pioneering End-to-End Multi-Turn RLHF
- Reinforcement Learning from Human Feedback on AMD GPUs with verl and ROCm Integration
- veMLP x verl :玩转强化学习训练
- 使用 verl 进行 GRPO 分布式强化学习训练最佳实践
- HybridFlow verl 原文浅析
- 最高提升 20 倍吞吐量!豆包大模型团队发布全新 RLHF 框架,现已开源!
The performance is essential for on-policy RL algorithm. We have written a detailed performance tuning guide to help you optimize performance.
verl now supports vLLM>=0.8.2 when using FSDP as the training backend. Please refer to this document for the installation guide and more information. Please avoid vllm 0.7.x, which contains bugs that may lead to OOMs and unexpected errors.
SGLang is fully supported with verl, and SGLang RL Group is working extensively on building unique features, including multi-turn agentic RL, VLM RLHF, server-based RL, and partial rollout. Please refer to this document for the installation guide and more information.
verl is fully embracing FSDP2! FSDP2 is recommended by torch distributed team, providing better throughput and memory usage, and is composible with other features (e.g. torch.compile). To enable FSDP2, simply use verl main and set the following options:
actor_rollout_ref.ref.strategy=fsdp2
actor_rollout_ref.actor.strategy=fsdp2
critic.strategy=fsdp2
Furthermore, FSDP2 cpu offloading is compatible with gradient accumulation. You can turn it on to save memory with actor_rollout_ref.actor.fsdp_config.offload_policy=True. For more details, see verl-project/verl#1026
verl runs on AMD ROCm GPUs (MI300X / MI325X / MI355X) with FSDP, FSDP2, and Megatron trainer backends, and vLLM as the validated inference engine (SGLang support is in progress). See the AMD ROCm quick-start guide for container bring-up, environment verification, and training examples.
If you find the project helpful, please cite:
- HybridFlow: A Flexible and Efficient RLHF Framework
- A Framework for Training Large Language Models for Code Generation via Proximal Policy Optimization
@article{sheng2024hybridflow,
title = {HybridFlow: A Flexible and Efficient RLHF Framework},
author = {Guangming Sheng and Chi Zhang and Zilingfeng Ye and Xibin Wu and Wang Zhang and Ru Zhang and Yanghua Peng and Haibin Lin and Chuan Wu},
year = {2024},
journal = {arXiv preprint arXiv: 2409.19256}
}verl is inspired by the design of Nemo-Aligner, Deepspeed-chat and OpenRLHF. The project is adopted and contributed by Bytedance, Anyscale, LMSys.org, Alibaba Qwen team, Shanghai AI Lab, Tsinghua University, UC Berkeley, UCLA, UIUC, University of Hong Kong, ke.com, All Hands AI, ModelBest, JD AI Lab, Microsoft Research, StepFun, Amazon, LinkedIn, Meituan, Camel-AI, OpenManus, Xiaomi, NVIDIA research, Baichuan, RedNote, SwissAI, Moonshot AI (Kimi), Baidu, Snowflake, Skywork.ai, JetBrains, IceSword Lab, and many more.
Welcome to register your awesome project build with verl for other developers' reference!
- TinyZero: a reproduction of DeepSeek R1 Zero recipe for reasoning tasks
- SkyThought: RL training for Sky-T1-7B by NovaSky AI team.
- simpleRL-reason: SimpleRL-Zoo: Investigating and Taming Zero Reinforcement Learning for Open Base Models in the Wild
- Easy-R1: Multi-modal RL training framework
- RandOpt: Neural Thickets: Diverse Task Experts Are Dense Around Pretrained Weights
- OpenManus-RL: LLM Agents RL tuning framework for multiple agent environments.
- rllm: async RL training with verl-pipeline
- RAGEN: a general-purpose reasoning agent training framework
- Search-R1: RL with reasoning and searching (tool-call) interleaved LLMs
- ReSearch: Learning to Reason with Search for LLMs via Reinforcement Learning
- Skywork-OR1: Skywork open reaonser series
- ToRL: Scaling tool-integrated RL
- Absolute Zero Reasoner: A no human curated data self-play framework for reasoning
- verl-agent: A scalable training framework for long-horizon LLM/VLM agents, along with a new algorithm GiGPO
- RL-Factory: An easy and efficient RL post-training framework for Agentic Learning
- ReTool: ReTool: reinforcement learning for strategic tool use in LLMs. Code release is in progress...
- verl-tool: An unified and easy-to-extend tool-agent training framework based on verl
- PRIME: Process reinforcement through implicit rewards
- MemAgent: MemAgent: Reshaping Long-Context LLM with Multi-Conv RL based Memory Agent
- POLARIS: A Post-training recipe for scaling RL on Advanced Reasoning models
- GUI-R1: GUI-R1: A Generalist R1-style Vision-Language Action Model For GUI Agents
- DeepRetrieval: RL Training of Search Agent with Search/Retrieval Outcome
- Code-R1: Reproducing R1 for Code with Reliable Rewards
- DeepResearcher: Scaling deep research via reinforcement learning in real-world environments
- VAGEN: Training VLM agents with multi-turn reinforcement learning
- RM-R1: RL training of reasoning reward models
- Dr. MAS: Stable end-to-end RL post-training for multi-agent LLM systems
- LUFFY: Learning to Reason under Off-Policy Guidance
- DeepMath: DeepMath-103K data and series models for math reasoning
- PACS: Implicit Actor Critic Coupling via a Supervised Learning Framework for RLVR
- Entropy Mechanism of RL: The Entropy Mechanism of Reinforcement Learning for Large Language Model Reasoning
- LLaSA-TTS-GRPO: TTS fine-tuning with GRPO optimization based on LLASA models
- PF-PPO: Policy Filtration for PPO based on the reliability of reward signals for more efficient and robust RLHF.
- RACRO: Build multi-modal reasoning models via decoupling it into query-conditioned captioning and text-only reasoning
- Agent Lightning: A flexible and extensible framework that enables seamless agent optimization for any existing agent framework.
- VTool-R1: VLMs Learn to Think with Images via Reinforcement Learning on Multimodal Tool Use.
- Kimina-Prover-RL: Training pipeline for formal theorem proving, based on a paradigm inspired by DeepSeek-R1.
- RL-PLUS: Countering Capability Boundary Collapse of LLMs in Reinforcement Learning with Hybrid-policy Optimization.
- rStar2-Agent: Using reinforcement learning with multi-step tool-calling for math tasks, rStar2-Agent-14B reaches frontier-level math reasoning in just 510 RL training steps
- Vision-SR1: Self-Rewarding Vision-Language Model via Reasoning Decomposition
- SimpleVLA-RL: SimpleVLA-RL: A Simple yet Effective Vision-Language Action Model for Reinforcement Learning
- Table-R1: Table-R1: Inference-Time Scaling for Table Reasoning
- Revisual-R1: Revisual-R1: Advancing Multimodal Reasoning From Optimized Cold Start to Staged Reinforcement Learning
- ARES: ARES: Multimodal Adaptive Reasoning via Difficulty-Aware Token-Level Entropy Shaping
- Meta-Bandit-LLM: Meta-Bandit-LLM: Long-horizon multiturn interactive training for meta-bandit agents
- PokeeResearch: PokeeResearch: State-of-the-art 7B DeepResearch Agent that leverages web search and content reading capabilities to answer complex questions using the most up-to-date information available online.
- Search Self-play: Pushing the Frontier of Agent Capability without Supervision
- OneThinker: All-in-one Reasoning Model for Image and Video
- OpenTinker: Democratizing Agentic Reinforcement Learning as a Service
- FlowRL: Matching reward distributions via flow balance for diverse exploration and generalizable reasoning
- Logic-RL: a reproduction of DeepSeek R1 Zero on 2K Tiny Logic Puzzle Dataset.
- Seed-Coder: RL training of Seed-Coder boosts performance on competitive programming
- all-hands/openhands-lm-32b-v0.1: A strong, open coding agent model, trained with multi-turn fine-tuning
- s3 Efficient Yet Effective Search Agent Training via RL
- Rec-R1: Bridging Generative Large Language Models and Recommendation Systems via Reinforcement Learning
- Explore RL Data Scaling: Exploring Data Scaling Trends and Effects in Reinforcement Learning from Human Feedback
- FIRE: Flaming-hot initiation with regular execution sampling for large language models
- DQO: Enhancing multi-Step reasoning abilities of language models through direct Q-function optimization
- ProRL: Prolonged Reinforcement Learning Expands Reasoning Boundaries in Large Language Models
- cognition-engineering: Test time scaling drives cognition engineering.
- Trust Region Preference Approximation: A simple and stable reinforcement learning algorithm for LLM reasoning.
- AdaRFT: Efficient Reinforcement Finetuning via Adaptive Curriculum Learning
- critic-rl: LLM critics for code generation
- self-rewarding-reasoning-LLM: self-rewarding and correction with generative reward models
- DeepEnlighten: Reproduce R1 with social reasoning tasks and analyze key findings
- MetaSpatial: Reinforcing 3D Spatial Reasoning in VLMs for the Metaverse
- PURE: Credit assignment is the key to successful reinforcement fine-tuning using process reward model
- cognitive-behaviors: Cognitive Behaviors that Enable Self-Improving Reasoners, or, Four Habits of Highly Effective STaRs
- deepscaler: iterative context scaling with GRPO
- DAPO: the fully open source SOTA RL algorithm that beats DeepSeek-R1-zero-32B
- NoisyRollout: Reinforcing Visual Reasoning with Data Augmentation
- SPEAR: Self-imitation with Progressive Exploration for Agentic Reinforcement Learning (ICLR 2026)
- RuleReasoner: RuleReasoner: Reinforced Rule-based Reasoning via Domain-aware Dynamic Sampling (ICLR 2026)
- MetaphorStar: Image Metaphor Understanding and Reasoning with End-to-End Visual Reinforcement Learning
- DART-GUI: a decoupled agentic RL framework for Computer Use Agents, achieving ~2× training speedup and ~5× environment utilization!
- Rethinking OPD: Rethinking On-Policy Distillation of Large Language Models: Phenomenology, Mechanism, and Recipe
About ByteDance Seed Team
Founded in 2023, ByteDance Seed Team is dedicated to crafting the industry's most advanced AI foundation models. The team aspires to become a world-class research team and make significant contributions to the advancement of science and society. You can get to know Bytedance Seed better through the following channels👇
We are HIRING! Send us an email if you are interested in internship/FTE opportunities in RL for agents.


