DAPO-step-4 / README.md
caiyuchen's picture
Upload README.md with huggingface_hub
0594881 verified
metadata
license: apache-2.0
tags:
  - math
  - rl
  - qwen3
  - dapomath17k
library_name: transformers
pipeline_tag: text-generation
language: en
datasets:
  - BytedTsinghua-SIA/DAPO-Math-17k
base_model:
  - Qwen/Qwen3-8B-Base

On Predictability of Reinforcement Learning Dynamics for Large Language Models

Overview

This repository provides one of the models used in our paper "On Predictability of Reinforcement Learning Dynamics for Large Language Models" for evaluating and predicting reinforcement learning (RL) dynamics in large language models (LLMs).

Recent advances in LLM reasoning capabilities are largely driven by RL, yet the parameter dynamics during RL training remain poorly understood. Our work identifies two key properties of RL-induced parameter updates: Rank-1 Dominance, where the top singular subspace of the parameter update matrix captures nearly all reasoning improvements, and Rank-1 Linear Dynamics, where this subspace evolves linearly across training, allowing accurate prediction from early checkpoints. Based on these insights, we propose AlphaRL, a plug-in acceleration framework that extrapolates final parameter updates from a short early training window, achieving up to 2.5Γ— speedup while retaining over 96% of reasoning performance.

This model is one of the training checkpoints used in our paper and is provided to support research on evaluating and predicting parameter dynamics during RL training of LLMs. The full codebase is available at: AlphaRL GitHub.

πŸ”§ Prompt Format (Chat Template)

During Inference, each question is formatted as:

{question} Please reason step by step, and put your final answer within boxed{}.

Then wrapped using the chat template:

prompt = tokenizer.apply_chat_template(
    [{{"content": question_with_instruction, "role": "user"}}],
    tokenize=False,
    add_generation_prompt=True,
)

πŸ§ͺ Example Usage

from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained("caiyuchen/DAPO-step-4")
tokenizer = AutoTokenizer.from_pretrained("caiyuchen/DAPO-step-4")

question = "Convert the point $(0,3)$ in rectangular coordinates to polar coordinates. Enter your answer in the form $(r,\theta),$ where $r > 0$ and $0 \le \theta < 2 \pi.$"
question_with_instruction = question + "Please reason step by step, and put your final answer within \boxed{{}}"

# Apply chat template
prompt = tokenizer.apply_chat_template(
    [{{"content": question_with_instruction, "role": "user"}}],
    tokenize=False,
    add_generation_prompt=True,
)

inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=256)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

πŸ“Ž Reference

If you find this model useful, please consider citing our paper:

πŸ”— Paper Link: https://huggingface.co/papers/2510.00553

@misc{cai2025predictabilityreinforcementlearningdynamics,
      title={On Predictability of Reinforcement Learning Dynamics for Large Language Models}, 
      author={Yuchen Cai and Ding Cao and Xin Xu and Zijun Yao and Yuqing Huang and Zhenyu Tan and Benyi Zhang and Guiquan Liu and Junfeng Fang},
      year={2025},
      eprint={2510.00553},
      archivePrefix={arXiv},
      primaryClass={cs.LG},
      url={https://arxiv.org/abs/2510.00553}, 
}