๐ผ CODA: Difficulty-Aware Compute Allocation for Adaptive Reasoning
April 6, 2026 ยท View on GitHub
CODA (Compute Allocation by Difficulty Awareness) dynamically scales reasoning depth by instance difficulty to eliminate overthinking on easy tasks while incentivizing deep deliberation for complex ones.
Highlights
- An optimality formulation for difficulty-aware compute allocation.
- Dual-gated length shaping from rollout-based difficulty.
- Evidence for genuine, robust adaptiveness.
Repository Structure
coda/
โโโ examples/
โ โโโ coda_train/ # train scripts (Qwen3-4B/8B/14B)
โ โโโ coda_inference/ # validation/inference scripts
โ โโโ data_preprocess/my_data/ # dataset preprocess scripts
โโโ data/
โ โโโ hf_data/ # raw dataset files
โ โโโ parquet_data/ # converted parquet files for training/eval
โโโ verl/
โ โโโ trainer/main_ppo.py # training entry
โ โโโ trainer/main_validate.py # checkpoint validation entry
โ โโโ trainer/calculate_metrics.py
Environment Setup
This project is built on top of veRL.
Please follow the official installation guide:
Model
Our released CODA models are available on Hugging Face and can be downloaded directly:
Data Preparation
The repository already contains processed datasets under data/parquet_data/.
If you want to rebuild or customize datasets, run scripts under:
examples/data_preprocess/my_data/
Example:
python3 examples/data_preprocess/my_data/deepscaler/deepscaler.py
Training
1) Configure your base model path
In training scripts, set:
model_path=/path/to/model
Scripts:
examples/coda_train/train_coda_qwen3_4b.shexamples/coda_train/train_coda_qwen3_8b.shexamples/coda_train/train_coda_qwen3_14b.sh
2) Launch training
bash examples/coda_train/train_coda_qwen3_8b.sh
Validation / Inference
We provide two evaluation modes via verl.trainer.main_validate.
1) Evaluate from checkpoint
Set:
model_path=/path/to/model
checkpoint_path=/path/to/ckpt
Run:
bash examples/coda_inference/eval_coda_qwen3_8b_from_ckpt.sh
2) Evaluate from model
Set:
model_path=/path/to/model
Run:
bash examples/coda_inference/eval_coda_qwen3_8b_from_model.sh
Metric Calculation
After validation, you can aggregate metrics from generated .jsonl outputs:
python3 verl/trainer/calculate_metrics.py <result_jsonl> --dataset my_data/AIME25 --n_values 8
Citation
If our paper or related resources prove valuable to your research, we kindly ask for a citation.
@article{wu2026coda,
title={CODA: Difficulty-Aware Compute Allocation for Adaptive Reasoning},
author={Wu, Siye and Xie, Jian and Zhang, Yikai and Xiao, Yanghua},
journal={arXiv preprint arXiv:2603.08659},
year={2026}
}