AMAP-ML/GPG

[ICLR26]GPG: A Simple and Strong Reinforcement Learning Baseline for Model Reasoning

Python

181

50 commits

updated Jan 29, 2026

See the code

README

[ICLR2026] GPG: A Simple and Strong Reinforcement Learning Baseline for Model Reasoning

🎉 Congratulations

GPG has been accepted to ICLR 2026 and is supported by the famous VERL RL framework: https://verl.readthedocs.io/en/latest/algo/gpg.html

Reinforcement Learning (RL) can directly enhance the reasoning capabilities of large language models without extensive reliance on Supervised Fine-Tuning (SFT). In this work, we revisit the traditional Policy Gradient (PG) mechanism and propose a minimalist RL approach termed Group Policy Gradient (GPG). Unlike conventional methods, GPG directly optimize the original RL objective, thus obviating the need for surrogate loss functions. By eliminating the critic and reference models, avoiding KL divergence constraints, and addressing the advantage and gradient estimation bias, our approach significantly simplifies the training process compared to Group Relative Policy Optimization (GRPO). Our approach achieves superior performance without relying on auxiliary techniques or adjustments. As illustrated in the figure below, extensive experiments demonstrate that our method not only reduces computational costs but also consistently outperforms GRPO across various unimodal and multimodal tasks. GPG

Comparison of various RL methods

GPG-method

Resources

🤗 Models

  1. GPG-Open-RS1: The RL model trained on the Open-r1 dataset based on GPG, using DeepSeek-R1-Distill-Qwen-1.5B as the baseline model.
  2. GPG-7B: The RL model trained on the simplelr_qwen_level3to5 dataset based on GPG, using Qwen2.5-Math-7B as the baseline model.

Usage

Environment Installation

Clone this repository.

git clone git@github.com:AMAP-ML/GPG.git

cd GPG

Follow the repositories you need and install the required packages.

Experiments on unimodal tasks

Please refer to the training script: ./open-rs/train.sh, ./open-rs/recipes

The results are as follows:

Table: The zero-shot pass@1 performance of the 1.5B models distilled by DeepSeek-R1 across five mathematical reasoning benchmarks. $\dagger$: reproduced results using the released code. $\ddagger$: results from open-rs.

Distilled 1.5B ModelsAverageAIME24MATH-500AMC23MinervaOlympiadBench
DeepSeek-R1-Distill-Qwen-1.5B48.928.882.862.926.543.3
Still-3-1.5B-Preview51.632.584.466.729.045.4
Open-RS1 $^\dagger$53.133.383.867.529.850.9
Open-RS3 $^\dagger$52.026.785.470.027.950.2
GPG-RS155.733.387.677.529.450.5
GPG-RS355.533.385.080.026.852.4

Please refer to the training script: ./open-r1/train.sh

Table: The zero-shot pass@1 performance of the 7B models across five mathematical reasoning benchmarks. $\dagger$: reproduced results using the released code. $\ddagger$: results from open-rs. $^\star$: results from Dr.GRPO.

7B ModelsAverageAIME24MATH-500AMC23MinervaOlympiadBench
Qwen-2.5-Math-7B-Instruct $^\ddagger$43.813.379.850.634.640.7
Qwen2.5-Math-7B30.913.357.645.014.723.7
Qwen2.5-Math-7B (no template) $^\star$38.20.269.045.821.334.7
rStar-Math-7B-26.778.447.5-47.1
Eurus-2-7B-PRIME48.926.779.257.838.642.1
Oat-Zero-7B51.443.380.062.730.141.0
Oat-Zero-7B $^\dagger$47.830.080.655.429.044.0
OpenReasoner-Zero-7B @ 8k45.913.382.454.231.647.9
SimpleRL-Zero-7B $^\star$46.626.778.260.227.640.3
GPG-7B57.736.784.682.539.045.8

Table: Math reasoning results on Qwen2.5-Math-7B model. $\dagger$: reproduction use the released code.

ModelsAverageAIME24MATH-500AMC23MinervaOlympiadBench
Qwen2.5-Math-7B30.913.357.645.014.723.7
GPRO43.716.773.462.530.235.7
GPG($F_{norm}=1, \alpha = 1$)43.923.376.352.530.137.4
GPG($F_{norm}={std { R(o) } }, \alpha = 1 $)45.323.373.660.030.539.3
GPG($F_{norm} =1, \alpha = \frac{B}{B-M}$)47.830.075.062.533.138.2
GPG($F_{norm}$=1, $\alpha=\frac{B}{B-M}, \beta_{th}=0.6$)48.330.076.262.534.239.0
Dr. GRPO $^\dagger$43.726.774.650.030.137.3

Experiments on multimodal tasks

Experiments on VisualThinker-R1-Zero

Please refer to the training script: ./VisualThinker-R1-Zero/src/open-r1-multimodal/run_grpo_SAT.sh

The results are as follows:

Table: Visual reasoning results on CV-Bench, which shows GPG training on base model has overall better performance over GRPO training and the base model.

ModelsTotalCountRelationDepthDistance
Qwen2-VL-2B31.3854.6922.460.1631.66
+ SFT57.8460.0268.9255.0045.83
+ GRPO59.4759.6466.7654.1656.66
+ GPG76.1566.6283.2381.6675.50

Experiments on Visual-RFT

Please refer to the training script: ./Visual-RFT/src/scripts/

The results are as follows:

Table: Reasoning grounding results on LISA. GPG surpasses GRPO in reasoning grounding with 239 training images.

ModelsmIoUtestmIoUvalgIoUtest
Qwen2-VL-2B26.930.125.3
+ SFT28.329.725.3
+ GRPO37.634.434.4
+ GPG51.851.350.4

Table: 4-shot Results on Four Fine-grained Classification Datasets. GPG shows consistently better results than GRPO on $4$ classification datasets.

ModelsAverageFlower102Pets37FGVCCars196
Qwen2-VL-2B56.054.866.445.956.8
+ SFT55.658.555.567.940.5
+ GRPO81.971.486.174.895.3
+ GPG89.079.390.888.597.5

Experiments on R1-V

Please refer to the training script: ./R1-V/src/scripts/run_grpo_GEOQA_qwen2.5_3b.sh

Table: Geometry reasoning results on GEOQA. GPG is better than GRPO.

ModelsGEOQATest
Qwen2.5-VL-3B-Instruct35.41
+ GRPO47.48
+ GPG51.33

Q&A

If you have any questions, please submit an issue or contact huanghailang.hhl<AT>alibaba-inc.com.

Citation

If you find GPG or code useful, please cite

@article{chu2025gpg,
  title={Gpg: A simple and strong reinforcement learning baseline for model reasoning},
  author={Chu, Xiangxiang and Huang, Hailang and Zhang, Xiao and Wei, Fei and Wang, Yong},
  journal={ICLR},
  year={2026}
}

Acknowledgement

We sincerely thank projects open-rs, VisualThinker-R1-Zero, Visual-RFT, R1-V, Open-R1, understand-r1-zero(Dr.GRPO), and Open-r1-multimodal for providing their open-source resources.

Contributors

lerogo

28 commits

xiaozhang23957

21 commits

cxx06

1 commits

AMAP-ML/GPG

[ICLR26]GPG: A Simple and Strong Reinforcement Learning Baseline for Model Reasoning

Python

181

50 commits

updated Jan 29, 2026

See the code

README

[ICLR2026] GPG: A Simple and Strong Reinforcement Learning Baseline for Model Reasoning

🎉 Congratulations

GPG has been accepted to ICLR 2026 and is supported by the famous VERL RL framework: https://verl.readthedocs.io/en/latest/algo/gpg.html

Reinforcement Learning (RL) can directly enhance the reasoning capabilities of large language models without extensive reliance on Supervised Fine-Tuning (SFT). In this work, we revisit the traditional Policy Gradient (PG) mechanism and propose a minimalist RL approach termed Group Policy Gradient (GPG). Unlike conventional methods, GPG directly optimize the original RL objective, thus obviating the need for surrogate loss functions. By eliminating the critic and reference models, avoiding KL divergence constraints, and addressing the advantage and gradient estimation bias, our approach significantly simplifies the training process compared to Group Relative Policy Optimization (GRPO). Our approach achieves superior performance without relying on auxiliary techniques or adjustments. As illustrated in the figure below, extensive experiments demonstrate that our method not only reduces computational costs but also consistently outperforms GRPO across various unimodal and multimodal tasks. GPG

Comparison of various RL methods

GPG-method

Resources

🤗 Models

  1. GPG-Open-RS1: The RL model trained on the Open-r1 dataset based on GPG, using DeepSeek-R1-Distill-Qwen-1.5B as the baseline model.
  2. GPG-7B: The RL model trained on the simplelr_qwen_level3to5 dataset based on GPG, using Qwen2.5-Math-7B as the baseline model.

Usage

Environment Installation

Clone this repository.

git clone git@github.com:AMAP-ML/GPG.git

cd GPG

Follow the repositories you need and install the required packages.

Experiments on unimodal tasks

Please refer to the training script: ./open-rs/train.sh, ./open-rs/recipes

The results are as follows:

Table: The zero-shot pass@1 performance of the 1.5B models distilled by DeepSeek-R1 across five mathematical reasoning benchmarks. $\dagger$: reproduced results using the released code. $\ddagger$: results from open-rs.

Distilled 1.5B ModelsAverageAIME24MATH-500AMC23MinervaOlympiadBench
DeepSeek-R1-Distill-Qwen-1.5B48.928.882.862.926.543.3
Still-3-1.5B-Preview51.632.584.466.729.045.4
Open-RS1 $^\dagger$53.133.383.867.529.850.9
Open-RS3 $^\dagger$52.026.785.470.027.950.2
GPG-RS155.733.387.677.529.450.5
GPG-RS355.533.385.080.026.852.4

Please refer to the training script: ./open-r1/train.sh

Table: The zero-shot pass@1 performance of the 7B models across five mathematical reasoning benchmarks. $\dagger$: reproduced results using the released code. $\ddagger$: results from open-rs. $^\star$: results from Dr.GRPO.

7B ModelsAverageAIME24MATH-500AMC23MinervaOlympiadBench
Qwen-2.5-Math-7B-Instruct $^\ddagger$43.813.379.850.634.640.7
Qwen2.5-Math-7B30.913.357.645.014.723.7
Qwen2.5-Math-7B (no template) $^\star$38.20.269.045.821.334.7
rStar-Math-7B-26.778.447.5-47.1
Eurus-2-7B-PRIME48.926.779.257.838.642.1
Oat-Zero-7B51.443.380.062.730.141.0
Oat-Zero-7B $^\dagger$47.830.080.655.429.044.0
OpenReasoner-Zero-7B @ 8k45.913.382.454.231.647.9
SimpleRL-Zero-7B $^\star$46.626.778.260.227.640.3
GPG-7B57.736.784.682.539.045.8

Table: Math reasoning results on Qwen2.5-Math-7B model. $\dagger$: reproduction use the released code.

ModelsAverageAIME24MATH-500AMC23MinervaOlympiadBench
Qwen2.5-Math-7B30.913.357.645.014.723.7
GPRO43.716.773.462.530.235.7
GPG($F_{norm}=1, \alpha = 1$)43.923.376.352.530.137.4
GPG($F_{norm}={std { R(o) } }, \alpha = 1 $)45.323.373.660.030.539.3
GPG($F_{norm} =1, \alpha = \frac{B}{B-M}$)47.830.075.062.533.138.2
GPG($F_{norm}$=1, $\alpha=\frac{B}{B-M}, \beta_{th}=0.6$)48.330.076.262.534.239.0
Dr. GRPO $^\dagger$43.726.774.650.030.137.3

Experiments on multimodal tasks

Experiments on VisualThinker-R1-Zero

Please refer to the training script: ./VisualThinker-R1-Zero/src/open-r1-multimodal/run_grpo_SAT.sh

The results are as follows:

Table: Visual reasoning results on CV-Bench, which shows GPG training on base model has overall better performance over GRPO training and the base model.

ModelsTotalCountRelationDepthDistance
Qwen2-VL-2B31.3854.6922.460.1631.66
+ SFT57.8460.0268.9255.0045.83
+ GRPO59.4759.6466.7654.1656.66
+ GPG76.1566.6283.2381.6675.50

Experiments on Visual-RFT

Please refer to the training script: ./Visual-RFT/src/scripts/

The results are as follows:

Table: Reasoning grounding results on LISA. GPG surpasses GRPO in reasoning grounding with 239 training images.

ModelsmIoUtestmIoUvalgIoUtest
Qwen2-VL-2B26.930.125.3
+ SFT28.329.725.3
+ GRPO37.634.434.4
+ GPG51.851.350.4

Table: 4-shot Results on Four Fine-grained Classification Datasets. GPG shows consistently better results than GRPO on $4$ classification datasets.

ModelsAverageFlower102Pets37FGVCCars196
Qwen2-VL-2B56.054.866.445.956.8
+ SFT55.658.555.567.940.5
+ GRPO81.971.486.174.895.3
+ GPG89.079.390.888.597.5

Experiments on R1-V

Please refer to the training script: ./R1-V/src/scripts/run_grpo_GEOQA_qwen2.5_3b.sh

Table: Geometry reasoning results on GEOQA. GPG is better than GRPO.

ModelsGEOQATest
Qwen2.5-VL-3B-Instruct35.41
+ GRPO47.48
+ GPG51.33

Q&A

If you have any questions, please submit an issue or contact huanghailang.hhl<AT>alibaba-inc.com.

Citation

If you find GPG or code useful, please cite

@article{chu2025gpg,
  title={Gpg: A simple and strong reinforcement learning baseline for model reasoning},
  author={Chu, Xiangxiang and Huang, Hailang and Zhang, Xiao and Wei, Fei and Wang, Yong},
  journal={ICLR},
  year={2026}
}

Acknowledgement

We sincerely thank projects open-rs, VisualThinker-R1-Zero, Visual-RFT, R1-V, Open-R1, understand-r1-zero(Dr.GRPO), and Open-r1-multimodal for providing their open-source resources.

Contributors

lerogo

28 commits

xiaozhang23957

21 commits

cxx06

1 commits

Languages

Python

73.3%

Jupyter Notebook

20.5%

Shell

6.0%