gitwtfhub

wtf is direct-opd?

bytedtsinghua-sia/direct-opd — explained in plain English

Analysis updated 2026-05-18

54PythonAudience · researcherComplexity · 5/5Setup · hard

TL;DR

A research codebase for transferring reinforcement learning improvements from a small teacher AI model to a stronger student model.

Mindmap

mindmap
  root((Direct-OPD))
    What it does
      Transfers RL policy shifts
      Weak teacher to strong student
      Student stays on policy
    Tech stack
      Python
      PyTorch
      verl framework
    Use cases
      Reproduce JustRL to Qwen run
      Study policy transfer
      Use released models
    Audience
      ML researchers
      RL practitioners

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Reproduce the JustRL-to-Qwen training experiment described in the paper.

REASON 2

Study how RL-learned policy shifts can be transferred between models of different sizes.

REASON 3

Use the released Hugging Face models without running the training code.

What's in the stack?

PythonPyTorchverlcondaHugging Face

How it stacks up

bytedtsinghua-sia/direct-opdcheshiremew/price-action-analysisforsy-ai/forsy-trace-skill
Stars545454
LanguagePythonPythonPython
Setup difficultyhardeasyeasy
Complexity5/52/52/5
Audienceresearcherdeveloperresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · hard Time to first run · 1day+

Requires a GPU environment, conda setup, and model weights placed at specific paths per docs/setup.md.

Wtf does this do

Direct-OPD is a research code repository from a team at Tsinghua University and ByteDance, focused on a machine learning training technique called Direct On-Policy Distillation. The idea addresses a specific problem in reinforcement learning: how to take what a small teacher model learned through RL training and pass that improvement on to a bigger, stronger student model, without simply making the student copy the teacher's final answers. Instead of copying, the method looks at how the teacher's behavior changed before and after its own RL training, and uses that change as a reward signal for training the student. The student generates its own responses, staying on policy, while the teacher's shift in probability is used to score how good those responses are. According to the README, this approach lets a weaker teacher model improve a stronger student by transferring the direction of improvement rather than the teacher's final capability ceiling. This is a research code release rather than a polished tool. It contains the training scripts used for one specific experiment, moving learned improvements from a model called JustRL onto a Qwen model, built on top of a modified version of an existing training framework called verl. Setup requires a Python environment through conda, installing several machine learning libraries, and downloading or symlinking model weights and training data files. Detailed setup steps live in a separate docs file referenced from the README. The repository is organized into folders for evaluation data, launch scripts, the patched training framework, and setup documentation. There is an accompanying academic paper on arXiv and trained models available on Hugging Face for those who want to use the results without running the training themselves. This project is best suited for machine learning researchers and engineers already familiar with reinforcement learning and large language model training, not casual users. It is not something a non-technical reader could install and try quickly, since getting it running needs a GPU setup, specific dependencies, and comfort reading research-oriented documentation.

Yoink these prompts

Prompt 1
Explain how Direct-OPD transfers a teacher model's RL policy shift to a student model.
Prompt 2
Walk me through setting up the conda environment and verl dependencies for Direct-OPD.
Prompt 3
Summarize the difference between Direct-OPD and standard distillation where the student copies the teacher's outputs.
Prompt 4
Help me adapt the train_justrl_qwen.sh script to a different base model.

Frequently asked questions

wtf is direct-opd?

A research codebase for transferring reinforcement learning improvements from a small teacher AI model to a stronger student model.

What language is direct-opd written in?

Mainly Python. The stack also includes Python, PyTorch, verl.

How hard is direct-opd to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is direct-opd for?

Mainly researcher.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.