[COLM 2026] Resa: Transparent Reasoning Models via SAEs
Python
49
14 commits
updated Sep 23, 2025
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).
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.
./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.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
SAE-Tuning:
conda activate resa && ./scripts/train/train_sae_from_scratch.shconda activate resa && ./scripts/train/finetune_sae.shconda activate resa && ./scripts/train/pretrain_sae.shconda activate resa && ./scripts/train/sae_tuning_model.sh
conda activate resa_eval && ./scripts/eval/eval_sae_tuning.sh
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!
@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},
}
14 commits
Python
91.3%
Shell
8.7%
[COLM 2026] Resa: Transparent Reasoning Models via SAEs
Python
49
14 commits
updated Sep 23, 2025
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).
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.
./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.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
SAE-Tuning:
conda activate resa && ./scripts/train/train_sae_from_scratch.shconda activate resa && ./scripts/train/finetune_sae.shconda activate resa && ./scripts/train/pretrain_sae.shconda activate resa && ./scripts/train/sae_tuning_model.sh
conda activate resa_eval && ./scripts/eval/eval_sae_tuning.sh
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!
@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},
}
14 commits
Python
91.3%
Shell
8.7%