- We released E1-AceReason-14B finetuned from AceReason-Nemotron-14B
- We released E1-Math-7B finetuned from Skywork-OR1-Math-7B
- We released E1-Math-1.5B and E1-Code-14B
We propose Elastic Reasoning, a novel framework for scalable chain of thoughts
that explicitly separates reasoning into two phases—thinking and solution
—with
independently allocated budgets. At test time, Elastic Reasoning prioritize that
completeness of solution segments, significantly improving reliability under tight
resource constraints. To train models that are robust to truncated thinking, we
introduce a lightweight budget-constrained rollout
strategy, integrated into GRPO,
which teaches the model to reason adaptively when the thinking process is cut
short and generalizes effectively to unseen budget constraints without additional
training.
Main Takeaways
- ✂️ Thinking + Solution are explicitly separated with independent budgets — boosting reliability under tight compute constraints.
- 🧠 Budget-Constrained Rollout: We train models to handle truncated reasoning using GRPO.
- 📈 Flexible scalability: Robust performance across diverse inference budgets on reasoning benchmarks like AIME and LiveCodeBench.
- ⚙️ Better performance with fewer tokens: Our trained model generates outputs that are 30% shorter while maintaining (or even improving) accuracy.
Results (Avg@16)
Model | Tokens | Acc (%) | Tokens | Acc (%) | Tokens | Acc (%) | Tokens | Acc (%) | Tokens | Acc (%) |
---|---|---|---|---|---|---|---|---|---|---|
DeepScaleR-1.5B | 10050 | 41.0 | 1488 | 5.2 | 1904 | 9.6 | 2809 | 15.8 | 3700 | 22.7 |
E1-Math-1.5B | 6825 | 35.0 | 1340 | 13.5 | 1799 | 17.5 | 2650 | 24.8 | 3377 | 27.9 |
Skywork-OR1-Math-7B | 13803 | 68.3 | 1534 | 1.0 | 2047 | 2.1 | 3051 | 7.7 | 4023 | 14.0 |
E1-Math-7B | 11768 | 69.6 | 1381 | 16.9 | 1841 | 21.3 | 2799 | 26.0 | 3742 | 32.9 |
# Installing Python 3.10 Environment.
conda create -n e1 python=3.10 -y
conda activate e1
# Installing dependencies.
cd Elastic-Reasoning
pip install -e ./verl
pip install -e .
Our raw training data is in rllm/data/[train|test]/[code|math]/
, along with preprocessing scripts in rllm/data/preprocess
. To convert the raw data into Parquet files for training, run:
# Download datasets from GDrive, populates rllm/data/[train|test]/[math|code]/*.json
python scripts/data/download_datasets.py
# Generate parquet files for Deepcoder/DeepscaleR in data/*.parquet
python scripts/data/[deepcoder|deepscaler]_dataset.py
export MODEL_PATH="agentica-org/DeepScaleR-1.5B-Preview"
./scripts/e1-math/e1_math_1.5b_1k_1k.sh --model $MODEL_PATH
To run our evaluation scripts, run:
./scripts/eval/eval_model.sh --model [CHECKPOINT_PATH] --datasets [DATASET1] [DATASET2] --output-dir [OUTPUT_DIR] --n [N_PASSES] --tp [TENSOR_PARALLEL_SIZE] --e1-mode [SEPARATE_BUDGETING] --e1-thinking-length [THINKING_LENGTH] --e1-solution-length [SOLUTION_LENGTH]
./scripts/eval/eval_model.sh --model Salesforce/E1-Math-1.5B --datasets aime math amc minerva olympiad_bench --output-dir $HOME/E1-Math-1.5B --tp 1 --n 16 --e1-mode True --e1-thinking-length 1024 --e1-solution-length 1024
./scripts/eval/eval_model.sh --model Salesforce/E1-Code-14B --datasets test_livecodebench --output-dir $HOME/E1-Code-14B --tp 4 --e1-mode True --e1-thinking-length 1024 --e1-solution-length 1024
./scripts/eval/eval_model.sh --model Salesforce/E1-Code-14B --datasets test_codeforces --output-dir $HOME/DeepCoder-14B-Preview --tp 4 --n 8 --e1-mode True --e1-thinking-length 1024 --e1-solution-length 1024
python scripts/deepcoder/benchmark/cf_elo_calc.py --results_path [RESULTS_JSON_PATH] --pass_n 8
set --e1-mode False
and --max-length [Maxmum token length, e.g. 32768]
We greatly thanks rllm and verl for providing the awesome codebase!
@article{xu2025scalable,
title={Scalable Chain of Thoughts via Elastic Reasoning},
author={Xu, Yuhui and Dong, Hanze and Wang, Lei and Sahoo, Doyen and Li, Junnan and Xiong, Caiming},
journal={arXiv preprint arXiv:2505.05315},
year={2025}
}
This release is for research purposes only in support of an academic paper. Our models, datasets, and code are not specifically designed or evaluated for all downstream purposes. We strongly recommend users evaluate and address potential concerns related to accuracy, safety, and fairness before deploying this model. We encourage users to consider the common limitations of AI, comply with applicable laws, and leverage best practices when selecting use cases, particularly for high-risk scenarios where errors or misuse could significantly impact people’s lives, rights, or safety. For further guidance on use cases, refer to our AUP and AI AUP.