explaingit

alex-nlp/denoiserl

Analysis updated 2026-05-18

35PythonAudience · researcherComplexity · 5/5Setup · hard

TLDR

Research code that trains AI reasoning models to recognize and correct wrong intermediate steps, instead of only imitating stronger teacher models.

Mindmap

mindmap
  root((DenoiseRL))
    What it does
      Corrupts wrong solutions
      Trains error recovery
      Rewards correct fixes
    Tech stack
      Python
      verl
      Qwen3
    Use cases
      Reasoning benchmarks
      RL training research
    Audience
      ML researchers
    Results
      Beats GRPO
      Beats DAPO

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

What do people build with it?

USE CASE 1

Reproduce the DenoiseRL training results on MATH500, AMC23, AIME24, or AIME25 benchmarks.

USE CASE 2

Train a reasoning model to recover from corrupted intermediate steps instead of just solving from scratch.

USE CASE 3

Compare DenoiseRL against GRPO and DAPO baselines on your own reasoning tasks.

What is it built with?

PythonverlQwen3

How does it compare?

alex-nlp/denoiserlbytedance-seed/cola-dlmchris0214/mikumikuphysics
Stars353535
LanguagePythonPythonPython
Setup difficultyhardhardmoderate
Complexity5/54/53/5
Audienceresearcherresearcherdesigner

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

How do you get it running?

Difficulty · hard Time to first run · 1day+

Requires a local fork of the verl RL framework, pinned dependencies, and GPU training infrastructure.

In plain English

DenoiseRL is the official code release for a research paper from Fudan University about a new way to train AI reasoning models. Most current approaches for improving a model's reasoning ability either depend on having access to a more powerful teacher model to imitate, or require significant effort to curate difficult training examples. DenoiseRL takes a different route: it intentionally feeds a model the first part of a wrong answer produced by a weaker, cheaper model, then trains the model to recognize the mistake and still arrive at the correct solution. The idea is similar to how noise-removal techniques work in other areas of machine learning. A weak model generates an incorrect solution to a math problem. The system takes the first portion of that wrong solution and hands it to the model being trained, telling it to continue from that corrupted starting point. The model then earns a reward if it recovers and finds the right answer. Over many such training steps, the model becomes better at catching and correcting reasoning errors mid-stream. The training process mixes two types of examples in each step: normal problems solved from scratch, and the corrupted-prefix recovery problems. Sharing a single scoring baseline across both types keeps the training stable, because recovery attempts naturally produce contrasting signals for problems the model would otherwise solve easily. Gradients only flow through the model's own continuation, not through the off-policy prefix from the weaker model, which the authors found critical for avoiding instability. Results are reported on standard math benchmarks including MATH500, AMC23, AIME24, and AIME25, using Qwen3-4B and Qwen3-8B language models as the policy being trained. DenoiseRL consistently outperforms the baseline GRPO and DAPO training methods on average across those benchmarks, with modest extra training time per step. The code is built on a local fork of the verl reinforcement learning framework. Setup requires creating a Python virtual environment, installing pinned dependencies, and registering the local framework in editable mode. Training scripts are provided for 1.7B, 4B, and 8B model sizes.

Copy-paste prompts

Prompt 1
Walk me through how DenoiseRL corrupts a wrong solution prefix to train a reasoning model to self-correct.
Prompt 2
Help me set up the verl fork and register it in editable mode to run DenoiseRL training scripts.
Prompt 3
Explain why DenoiseRL only backpropagates through the model's own continuation, not the weak model's prefix.

Frequently asked questions

What is denoiserl?

Research code that trains AI reasoning models to recognize and correct wrong intermediate steps, instead of only imitating stronger teacher models.

What language is denoiserl written in?

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

How hard is denoiserl to set up?

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

Who is denoiserl for?

Mainly researcher.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.