๐ŸŽผ CODA: Difficulty-Aware Compute Allocation for Adaptive Reasoning

April 6, 2026 ยท View on GitHub

Website Paper HuggingFace

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.

CODA

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.sh
  • examples/coda_train/train_coda_qwen3_8b.sh
  • examples/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}
}