MCPcopy Index your code
hub / github.com/CarlanLark/Lp-Reg-dev

github.com/CarlanLark/Lp-Reg-dev @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
1,510 symbols 5,743 edges 188 files 493 documented · 33%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Lp-Reg-Dev

Paper Github alphaXiv

You can reproduce the results from our paper using this development version, which is based on Entropy-Mechanism-of-RL. This version utilizes an earlier release of veRL. Currently, we are integrating Lp-Reg into the latest version of veRL to deliver a cleaner and more streamlined implementation.

💡 Introduction

This paper investigates the exploration dynamics within RLVR and identifies a key issue of its training collapse: the gradual elimination of valuable low-probability exploratory tokens, which we term reasoning sparks. We find that while abundant in pre-trained models, these sparks are systematically extinguished during RLVR due to over-penalization, leading to a degeneracy in exploration. In contrast, indiscriminate entropy bonuses often fail by amplifying destructive noise. To address this, we introduce Low-probability Regularization (Lp-Reg). Its core mechanism regularizes the policy towards a heuristic proxy distribution. This proxy is constructed by filtering out presumed noise tokens and re-normalizing the distribution over the remaining candidates. The result is a less-noisy proxy where the probability of reasoning sparks is amplified, which then serves as a soft regularization target to shield these valuable tokens from elimination via KL divergence.

issue

🚀 Getting Started

We inherit environment setup and quick start from VERL. Please follow the official docs:

✨ Training

Before running the following scripts, ensure Ray is running on all nodes.

For training Qwen3-14B on multi nodes, you can run:

cd Lp-Reg
bash ./recipe/lp_reg/Qwen3_14b_lp_reg_onpolicy_64gpu.sh

While for training Qwen2.5-32B on multi nodes, you can run:

cd Lp-Reg
bash ./recipe/lp_reg/Qwen2.5_32b_lp_reg_onpolicy_64gpu.sh

📊 Evaluation

Before evaluation, you need to ensure that the AIME, AIME25 datasets are with "data_source" of "aime", "aime25" and respectively. As we hardcode it to make sure they are rollouted with temperature of 0.6.

🏆 Results

On-policy Lp-Reg shows a stable performance increasing around 1,000 training steps with a dynamic, multi-phase entropy trajectory: entropy initially decreases as the model learns core reasoning patterns, then gradually increases to foster exploration as performance improves, and finally stabilizes within a healthy range as accuracy converges.

issue

issue

🌻 Acknowledgement

We implement our reinforcement learning algorithm extending from veRL and Entropy-Mechanism-of-RL. We utilize vLLM for inference. Thanks to them for their excellent work!

📚 Citation

@article{huang2025lowprob,
  title   = {Low-probability Tokens Sustain Exploration in Reinforcement Learning with Verifiable Reward},
  author  = {Guanhua Huang, Tingqiang Xu, Mingze Wang, Qi Yi, Xue Gong, Siheng Li, Ruibin Xiong, Kejiao Li, Yuhao Jiang, Bo Zhou},
  year    = {2025},
  journal = {arXiv preprint},
}

📧 Contact

Core symbols most depended-on inside this repo

get
called by 301
verl/utils/memory_buffer.py
to
called by 154
verl/protocol.py
print_rank_0
called by 84
verl/utils/megatron_utils.py
log_gpu_memory_usage
called by 77
verl/utils/debug/performance.py
chunk
called by 50
verl/protocol.py
update
called by 45
verl/trainer/ppo/core_algos.py
pop
called by 38
verl/protocol.py
get
called by 37
verl/utils/megatron/memory.py

Shape

Method 684
Function 615
Class 184
Route 27

Languages

Python100%

Modules by API surface

verl/utils/reward_score/prime_math/__init__.py51 symbols
verl/workers/fsdp_workers.py48 symbols
verl/single_controller/ray/base.py48 symbols
verl/protocol.py46 symbols
verl/workers/megatron_workers.py40 symbols
verl/models/qwen2/megatron/modeling_qwen2_megatron.py37 symbols
verl/utils/torch_functional.py36 symbols
verl/single_controller/base/decorator.py36 symbols
verl/models/llama/megatron/modeling_llama_megatron.py35 symbols
verl/workers/sharding_manager/megatron_vllm.py30 symbols
verl/utils/megatron_utils.py29 symbols
verl/trainer/ppo/ray_trainer.py27 symbols

For agents

$ claude mcp add Lp-Reg-dev \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact