shangshang-wang/Resa

[COLM 2026] Resa: Transparent Reasoning Models via SAEs

Python

49

14 commits

updated Sep 23, 2025

See the code

README

Resa: Transparent Reasoning Models via SAEs


Github Website Hugging Face Collection Weights and Biases

Overview

This repository contains the code for the Resa project, accompanying the paper Resa: Transparent Reasoning Models via SAEs. We in this project try to answer the question "How cost-effectively can we elicit strong reasoning in language models by leveraging their underlying representations?" Specifically, we explore elicit reasoning capabilities in tiny language models via sparse autoencoder tuning (SAE-Tuning).

Overall Comparison

Notably, when applied to certain base models before further RL post-training, SAE‑Tuning retains >97% of its RL‑trained counterpart’s reasoning performance while reducing training costs by >2000x to roughly $1 and training time by >450x to around 20 minutes.

Cost Breakdown

Quick Start

File Setup

  • ./scripts/set/set_vars.sh: contain the main env vars we use, change the path (marked with a TODO sign) to align with your own setting.
  • ./resa/config.py: contain the main configurations for this project, set default values here.
  • ./resa/utils/constant.py: contain the main datasets for each experiment in this project.

Env Setup

Run the following commands to install the dependencies.

conda create -n resa python=3.10 -y && conda activate resa
./scripts/set/set_env.sh && conda deactivate

conda create -n resa_eval python=3.10 -y && conda activate resa_eval
./scripts/set/set_env_eval.sh && conda deactivate

# download the pre-trained models to the `CKPT_DIR` directory.
conda activate resa && ./scripts/set/prepare.sh

Training & Evaluation

SAE-Tuning:

  • SAE Training:
    • Train-from-Scratch: conda activate resa && ./scripts/train/train_sae_from_scratch.sh
    • Fine-tuning: conda activate resa && ./scripts/train/finetune_sae.sh
    • Pre-training: conda activate resa && ./scripts/train/pretrain_sae.sh
  • SAE-Guided SFT: conda activate resa && ./scripts/train/sae_tuning_model.sh
Pipeline
  • Evaluate post-trained models: conda activate resa_eval && ./scripts/eval/eval_sae_tuning.sh
Resa Evaluation

Acknowledgements

We thank Huggingface to open source the amazing open-r1 project and EluetherAI's sparsify. We also appreciate all researchers releasing their open-source reasoning datasets, including open-r1/OpenR1-Math-220k, bethgelab/CuratedThoughts, agentica-org/DeepScaleR-Preview-Dataset, RUC-AIBOX/STILL-3-Preview-RL-Data, which are used for our training.

Resa's avatar is generated by GPT-4o based on KYNE's girls and the following prompt.

Hey hey! I’m Resa — total ENTJ energy here 💥 I love meeting new people (friends are everything!!), and I’m all about chasing good vibes through amazing food, spontaneous travel, artsy sketches, and singing my heart out wherever I go! 🎨✈️🍜🎤 ... Oops, almost forget, I am super into large language model reasoning, too!

Citation

@misc{wang2025resatransparentreasoningmodels,
      title={Resa: Transparent Reasoning Models via SAEs}, 
      author={Shangshang Wang and Julian Asilis and Ömer Faruk Akgül and Enes Burak Bilgin and Ollie Liu and Deqing Fu and Willie Neiswanger},
      year={2025},
      eprint={2506.09967},
      archivePrefix={arXiv},
      primaryClass={cs.CL},
      url={https://arxiv.org/abs/2506.09967}, 
}

Contributors

shangshang-wang

14 commits

shangshang-wang/Resa

[COLM 2026] Resa: Transparent Reasoning Models via SAEs

Python

49

14 commits

updated Sep 23, 2025

See the code

README

Resa: Transparent Reasoning Models via SAEs


Github Website Hugging Face Collection Weights and Biases

Overview

This repository contains the code for the Resa project, accompanying the paper Resa: Transparent Reasoning Models via SAEs. We in this project try to answer the question "How cost-effectively can we elicit strong reasoning in language models by leveraging their underlying representations?" Specifically, we explore elicit reasoning capabilities in tiny language models via sparse autoencoder tuning (SAE-Tuning).

Overall Comparison

Notably, when applied to certain base models before further RL post-training, SAE‑Tuning retains >97% of its RL‑trained counterpart’s reasoning performance while reducing training costs by >2000x to roughly $1 and training time by >450x to around 20 minutes.

Cost Breakdown

Quick Start

File Setup

  • ./scripts/set/set_vars.sh: contain the main env vars we use, change the path (marked with a TODO sign) to align with your own setting.
  • ./resa/config.py: contain the main configurations for this project, set default values here.
  • ./resa/utils/constant.py: contain the main datasets for each experiment in this project.

Env Setup

Run the following commands to install the dependencies.

conda create -n resa python=3.10 -y && conda activate resa
./scripts/set/set_env.sh && conda deactivate

conda create -n resa_eval python=3.10 -y && conda activate resa_eval
./scripts/set/set_env_eval.sh && conda deactivate

# download the pre-trained models to the `CKPT_DIR` directory.
conda activate resa && ./scripts/set/prepare.sh

Training & Evaluation

SAE-Tuning:

  • SAE Training:
    • Train-from-Scratch: conda activate resa && ./scripts/train/train_sae_from_scratch.sh
    • Fine-tuning: conda activate resa && ./scripts/train/finetune_sae.sh
    • Pre-training: conda activate resa && ./scripts/train/pretrain_sae.sh
  • SAE-Guided SFT: conda activate resa && ./scripts/train/sae_tuning_model.sh
Pipeline
  • Evaluate post-trained models: conda activate resa_eval && ./scripts/eval/eval_sae_tuning.sh
Resa Evaluation

Acknowledgements

We thank Huggingface to open source the amazing open-r1 project and EluetherAI's sparsify. We also appreciate all researchers releasing their open-source reasoning datasets, including open-r1/OpenR1-Math-220k, bethgelab/CuratedThoughts, agentica-org/DeepScaleR-Preview-Dataset, RUC-AIBOX/STILL-3-Preview-RL-Data, which are used for our training.

Resa's avatar is generated by GPT-4o based on KYNE's girls and the following prompt.

Hey hey! I’m Resa — total ENTJ energy here 💥 I love meeting new people (friends are everything!!), and I’m all about chasing good vibes through amazing food, spontaneous travel, artsy sketches, and singing my heart out wherever I go! 🎨✈️🍜🎤 ... Oops, almost forget, I am super into large language model reasoning, too!

Citation

@misc{wang2025resatransparentreasoningmodels,
      title={Resa: Transparent Reasoning Models via SAEs}, 
      author={Shangshang Wang and Julian Asilis and Ömer Faruk Akgül and Enes Burak Bilgin and Ollie Liu and Deqing Fu and Willie Neiswanger},
      year={2025},
      eprint={2506.09967},
      archivePrefix={arXiv},
      primaryClass={cs.CL},
      url={https://arxiv.org/abs/2506.09967}, 
}

Contributors

shangshang-wang

14 commits

Languages

Python

91.3%

Shell

8.7%