General-Reasoner: Advancing LLM Reasoning Across All Domains (beyond Math)

November 27, 2025 ยท View on GitHub

๐Ÿชก We introduce a novel framework within GRPO to utilize model-based verifier to support wider range of answer types. We train on WebInstruct-verfied, a dataset covering wide range of reasoning topics beyond math. We demonstrate substantial improvements over traditional binary rule-based rewards across diverse domains beyond math.

โœ… Model-based verifier to support verification of diverse answer types like math expression, string, list, fraction, matrix, etc;
โœ… Small 7B/14B models achieve robust cross-domain rewards; It boosts MMLU-Pro performance by 13%.
โœ… Our method does not require any additional SFT.

Check out our Arxiv Paper for the details!

Highlights

Our experimental results are as follows:

Our discpline distribution is described as follows:

Our model-based verifier helps scaling the verifiable reasoning questions:


Resources

Training Data

DataSizeLink
WebInstruct-verified230k๐Ÿค—

General Verifier

ModelBackboneLink
General-VerifierQwen/Qwen2.5-Math-1.5B๐Ÿค—

Check out HF page to learn how to use it. Feel free to plug this into your current RL-training framework.

Model Checkpoint

ModelBackboneLink
General-Reasoner-Qwen2.5-7BQwen2.5-7B-Base๐Ÿค—
General-Reasoner-Qwen2.5-14BQwen2.5-14B-Base๐Ÿค—
General-Reasoner-Qwen3-4BQwen3-4B-Base๐Ÿค—
General-Reasoner-Qwen3-14BQwen3-14B-Base๐Ÿค—

Installation

pip install torch==2.4.0 --index-url https://download.pytorch.org/whl/cu124
pip install flash-attn --no-build-isolation
pip install -e ./verl
pip install vllm==0.8.3
pip install flashinfer-python
pip install math-verify

Training

1. Prepare Data

python data_preprocess.py --local-dir <data_dir>/webinstruct-verified

2. Download Verifier

huggingface-cli download TIGER-Lab/general-verifier --local-dir <data_dir>/general-reasoner-verifier

3. Download Backbone Model

huggingface-cli download Qwen/Qwen2.5-7B --local-dir <data_dir>/Qwen2.5-7B

4. Configure Training Script

Edit the environment variables in train_general_reasoner.sh to fit your system setup.

5. Launch Ray Cluster

ray start --address <MASTER-NODE-IP>:6379

6. Start Training

bash train_general_reasoner.sh

Evaluation

MMLU-PRO:

python -m evaluation.eval_mmlupro \
    --model_path TIGER-Lab/General-Reasoner-14B \
    --output_file output-mmlupro-General-Reasoner-14B.json

SuperGPQA:

python -m evaluation.eval_supergpqa \
    --model_path TIGER-Lab/General-Reasoner-14B \
    --output_file output-supergpqa-General-Reasoner-14B.json

We evaluate math and GPQA tasks using the simple-eval framework. For non-multiple choice questions, answer equivalence is verified using GPT-4o.

1. Configure OpenAI Key

export OPENAI_API_KEY=<replace by OPENAI API KEY>

2. Serve the Model

vllm serve TIGER-Lab/General-Reasoner-14B --tensor-parallel-size 4

3. Run Evaluation

python -m evaluation.simple-evals.run_simple_evals_qwen \
    --model General-Reasoner-14B

By default, the model uses greedy decoding. For AIME24 and AIME25, scores are averaged over 32 runs with temperature 1. For more configuration details, refer to evaluation/simple-evals/run_simple_evals_qwen.py.


Detailed Results

Our 7B and 14B models are trained from the corresponding base qwen models.

General results

Model NameMMLU-ProGPQASuperGPQATheoremQABBEH
Qwen2.5-7B-Base47.725.826.729.18.0
Qwen2.5-7B-Instruct57.033.830.736.612.2
SimpleRL-Qwen2.5-7B-Zoo51.524.229.938.011.9
General-Reasoner-7B58.934.334.245.312.5
Qwen2.5-14B-Base53.332.830.733.010.8
Qwen2.5-14B-Instruct62.741.435.841.915.2
SimpleRL-Qwen2.5-14B-Zoo64.039.435.740.813.6
General-Reasoner-14B66.643.439.544.315.2
Qwen3-4B-Base51.626.325.434.88.1
Qwen3-4B-Instruct61.841.732.142.014.9
General-Reasoner-Qw3-4B62.842.932.548.312.2
Qwen3-14B-Base64.245.936.544.013.0
Qwen3-14B-Instruct70.954.839.842.419.2
General-Reasoner-Qw3-14B70.356.139.954.417.3
Model NameMATH-500OlympiadMinervaGSM8KAMCAIME24x32AIME25x32
Qwen2.5-7B-Base60.228.636.083.130.03.81.4
Qwen2.5-7B-Instruct75.039.445.290.952.512.58.5
SimpleRL-Qwen2.5-7B-Zoo74.041.949.690.760.015.27.5
General-Reasoner-7B76.037.954.092.755.013.810.4
Qwen2.5-14B-Base65.433.524.391.637.53.62.9
Qwen2.5-14B-Instruct77.444.752.294.557.512.211.0
SimpleRL-Qwen2.5-14B-Zoo77.244.654.094.260.012.911.8
General-Reasoner-14B78.642.158.194.270.017.516.9
Qwen3-4B-Base68.234.842.372.647.510.36.7
Qwen3-4B-Instruct(non-think)80.449.057.092.062.522.516.1
General-Reasoner-Qw3-4B80.647.757.792.260.020.015.4
Qwen3-14B-Base74.644.355.993.255.014.711.4
Qwen3-14B-Instruct(non-think)82.052.459.993.957.528.525.1
General-Reasoner-Qw3-14B83.851.968.094.470.024.419.2

Acknowledgements

This project is built upon the following open-source projects:

Train General Reasoner with Tinker

We provide the training code to use Tinker to train general reasoner. All you need is a single local GPU to host the verifier model.

Please follow the official instruction to install tinker.

Then run the script python tinker_scripts/tinker_train_general_reasoner.py

After the training, the lora model can be downloaded and then merged with the script python tinker_scripts/merge_checkpoints.py

Citation

@inproceedings{
  ma2025generalreasoner,
  title={General-Reasoner: Advancing {LLM} Reasoning Across All Domains},
  author={Xueguang Ma and Qian Liu and Dongfu Jiang and Ge Zhang and Zejun MA and Wenhu Chen},
  booktitle={The Thirty-ninth Annual Conference on Neural Information Processing Systems},
  year={2025},
  url={https://openreview.net/forum?id=pBFVoll8Xa}
}