Skip to content

Latest commit

 

History

History
622 lines (494 loc) · 47.7 KB

File metadata and controls

622 lines (494 loc) · 47.7 KB

Relay-OPD

Pass the Baton: Trajectory-Relayed On-Policy Distillation

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.

Repository Layout

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

Installation

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-opd

Create 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 wheel

Install the vLLM version required by the speculative-decoding patch first:

python -m pip install \
  -c environment/vllm-constraints.txt \
  vllm==0.21.0

Install 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.py

The 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.sh

The 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.

Paper Configuration

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>

Data

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.sh

Each 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.sh

TRD 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

Training

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.sh

Online 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.sh

Offline-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.

Relay-OPD Ablations

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.sh

The 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.

Evaluation

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.sh

Each 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.


Upstream Framework: verl

👋 Hi, everyone! verl is a RL training library initiated by ByteDance Seed team and maintained by the verl community.

Ask DeepWiki.com GitHub Repo stars Twitter Documentation

seed logo

verl: Volcano Engine Reinforcement Learning for LLMs

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.

verl-arch.png

News

  • [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 recipe directory 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 after git submodule update --init --recursive recipe. Note that transfer_queue, fully_async_policy, one_step_off_policy and vla are kept under verl/experimental since they are planned to be merged into the main library. Use them through verl.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/dapo now.
more...

Key Features

Getting Started

Documentation

Quickstart:

Running a PPO example step-by-step:

Reproducible algorithm baselines:

Algorithm recipes (recipe/):

  • Optional workflows and baselines live under recipe/. Each recipe subdirectory includes a small REQUIRED_VERL.txt file describing the intended verl install: pinned recipes use a tag or fixed git SHA; rolling recipes record an explicit VERL_COMMIT (and related submodule / recipe-folder SHAs) so you can pip install verl@git+…@<sha> without guessing. See recipe/README.md for the full index and links.

For code explanation and advance usage (extension):

Blogs from the community

Performance Tuning Guide

The performance is essential for on-policy RL algorithm. We have written a detailed performance tuning guide to help you optimize performance.

Upgrade to vLLM >= v0.8.2

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.

Use Latest SGLang

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.

Upgrade to FSDP2

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

AMD Support (ROCm Kernel)

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.

Citation and acknowledgement

If you find the project helpful, please cite:

@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.

Awesome Projects Built with verl

Welcome to register your awesome project build with verl for other developers' reference!

  • TinyZero: a reproduction of DeepSeek R1 Zero recipe for reasoning tasks GitHub Repo stars
  • SkyThought: RL training for Sky-T1-7B by NovaSky AI team. GitHub Repo stars
  • simpleRL-reason: SimpleRL-Zoo: Investigating and Taming Zero Reinforcement Learning for Open Base Models in the Wild GitHub Repo stars
  • Easy-R1: Multi-modal RL training framework GitHub Repo stars
  • RandOpt: Neural Thickets: Diverse Task Experts Are Dense Around Pretrained Weights GitHub Repo stars
  • OpenManus-RL: LLM Agents RL tuning framework for multiple agent environments. GitHub Repo stars
  • rllm: async RL training with verl-pipeline GitHub Repo stars
  • RAGEN: a general-purpose reasoning agent training framework GitHub Repo stars
  • Search-R1: RL with reasoning and searching (tool-call) interleaved LLMs GitHub Repo stars
  • ReSearch: Learning to Reason with Search for LLMs via Reinforcement Learning GitHub Repo stars
  • Skywork-OR1: Skywork open reaonser series GitHub Repo stars
  • ToRL: Scaling tool-integrated RL GitHub Repo stars
  • Absolute Zero Reasoner: A no human curated data self-play framework for reasoning GitHub Repo stars
  • verl-agent: A scalable training framework for long-horizon LLM/VLM agents, along with a new algorithm GiGPO GitHub Repo stars
  • RL-Factory: An easy and efficient RL post-training framework for Agentic Learning GitHub Repo stars
  • 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 verlGitHub Repo stars
  • PRIME: Process reinforcement through implicit rewards GitHub Repo stars
  • MemAgent: MemAgent: Reshaping Long-Context LLM with Multi-Conv RL based Memory Agent GitHub Repo stars
  • POLARIS: A Post-training recipe for scaling RL on Advanced Reasoning models GitHub Repo stars
  • GUI-R1: GUI-R1: A Generalist R1-style Vision-Language Action Model For GUI Agents GitHub Repo stars
  • DeepRetrieval: RL Training of Search Agent with Search/Retrieval Outcome GitHub Repo stars
  • Code-R1: Reproducing R1 for Code with Reliable Rewards GitHub Repo stars
  • DeepResearcher: Scaling deep research via reinforcement learning in real-world environments GitHub Repo stars
  • VAGEN: Training VLM agents with multi-turn reinforcement learning GitHub Repo stars
  • RM-R1: RL training of reasoning reward models GitHub Repo stars
  • Dr. MAS: Stable end-to-end RL post-training for multi-agent LLM systems GitHub Repo stars
  • LUFFY: Learning to Reason under Off-Policy GuidanceGitHub Repo stars
  • DeepMath: DeepMath-103K data and series models for math reasoningGitHub Repo stars
  • PACS: Implicit Actor Critic Coupling via a Supervised Learning Framework for RLVR GitHub Repo stars
  • Entropy Mechanism of RL: The Entropy Mechanism of Reinforcement Learning for Large Language Model ReasoningGitHub Repo stars
  • LLaSA-TTS-GRPO: TTS fine-tuning with GRPO optimization based on LLASA models GitHub Repo stars
  • 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 GitHub Repo stars
  • Agent Lightning: A flexible and extensible framework that enables seamless agent optimization for any existing agent framework. GitHub Repo stars
  • VTool-R1: VLMs Learn to Think with Images via Reinforcement Learning on Multimodal Tool Use. GitHub Repo stars
  • 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 GitHub Repo stars
  • Vision-SR1: Self-Rewarding Vision-Language Model via Reasoning Decomposition GitHub Repo stars
  • SimpleVLA-RL: SimpleVLA-RL: A Simple yet Effective Vision-Language Action Model for Reinforcement Learning GitHub Repo stars
  • Table-R1: Table-R1: Inference-Time Scaling for Table Reasoning GitHub Repo stars
  • Revisual-R1: Revisual-R1: Advancing Multimodal Reasoning From Optimized Cold Start to Staged Reinforcement Learning GitHub Repo stars
  • ARES: ARES: Multimodal Adaptive Reasoning via Difficulty-Aware Token-Level Entropy Shaping GitHub Repo stars
  • Meta-Bandit-LLM: Meta-Bandit-LLM: Long-horizon multiturn interactive training for meta-bandit agents GitHub Repo stars
  • 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. Github Repo Stars
  • Search Self-play: Pushing the Frontier of Agent Capability without Supervision GitHub Repo stars
  • OneThinker: All-in-one Reasoning Model for Image and Video GitHub Repo stars
  • OpenTinker: Democratizing Agentic Reinforcement Learning as a Service GitHub Repo stars
  • FlowRL: Matching reward distributions via flow balance for diverse exploration and generalizable reasoning GitHub Repo stars
  • Logic-RL: a reproduction of DeepSeek R1 Zero on 2K Tiny Logic Puzzle Dataset. GitHub Repo stars
  • Seed-Coder: RL training of Seed-Coder boosts performance on competitive programming GitHub Repo stars
  • 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 GitHub Repo stars
  • 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. GitHub Repo stars
  • Trust Region Preference Approximation: A simple and stable reinforcement learning algorithm for LLM reasoning. GitHub Repo stars
  • AdaRFT: Efficient Reinforcement Finetuning via Adaptive Curriculum Learning GitHub Repo stars
  • critic-rl: LLM critics for code generation GitHub Repo stars
  • self-rewarding-reasoning-LLM: self-rewarding and correction with generative reward models GitHub Repo stars
  • DeepEnlighten: Reproduce R1 with social reasoning tasks and analyze key findings GitHub Repo stars
  • MetaSpatial: Reinforcing 3D Spatial Reasoning in VLMs for the Metaverse GitHub Repo stars
  • PURE: Credit assignment is the key to successful reinforcement fine-tuning using process reward model GitHub Repo stars
  • cognitive-behaviors: Cognitive Behaviors that Enable Self-Improving Reasoners, or, Four Habits of Highly Effective STaRs GitHub Repo stars
  • deepscaler: iterative context scaling with GRPO GitHub Repo stars
  • DAPO: the fully open source SOTA RL algorithm that beats DeepSeek-R1-zero-32B GitHub Repo stars
  • NoisyRollout: Reinforcing Visual Reasoning with Data Augmentation GitHub Repo stars
  • SPEAR: Self-imitation with Progressive Exploration for Agentic Reinforcement Learning (ICLR 2026) GitHub Repo stars
  • RuleReasoner: RuleReasoner: Reinforced Rule-based Reasoning via Domain-aware Dynamic Sampling (ICLR 2026) GitHub Repo stars
  • MetaphorStar: Image Metaphor Understanding and Reasoning with End-to-End Visual Reinforcement Learning GitHub Repo stars
  • DART-GUI: a decoupled agentic RL framework for Computer Use Agents, achieving ~2× training speedup and ~5× environment utilization! GitHub Repo stars
  • Rethinking OPD: Rethinking On-Policy Distillation of Large Language Models: Phenomenology, Mechanism, and Recipe GitHub Repo stars

Contribution Guide

See contributions guide

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.