{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/saes-are-good-for-steering-if-you-select-the","title":"SAEs Are Good for Steering -- If You Select the Right Features","arxiv_id":"2505.20063","date":"2025-05-26","proceeding":null,"authors":["Dana Arad","Aaron Mueller","Yonatan Belinkov"],"abstract":"Sparse Autoencoders (SAEs) have been proposed as an unsupervised approach to learn a decomposition of a model's latent space. This enables useful applications such as steering - influencing the output of a model towards a desired concept - without requiring labeled data. Current methods identify SAE features to steer by analyzing the input tokens that activate them. However, recent work has highlighted that activations alone do not fully describe the effect of a feature on the model's output. In this work, we draw a distinction between two types of features: input features, which mainly capture patterns in the model's input, and output features, which have a human-understandable effect on the model's output. We propose input and output scores to characterize and locate these types of features, and show that high values for both scores rarely co-occur in the same features. These findings have practical implications: after filtering out features with low output scores, we obtain 2-3x improvements when steering with SAEs, making them competitive with supervised methods.","url_abs":"https://arxiv.org/abs/2505.20063v1","url_pdf":"https://arxiv.org/pdf/2505.20063v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"saes-are-good-for-steering-if-you-select-the","repo_url":"https://github.com/technion-cs-nlp/saes-are-good-for-steering","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"saes-are-good-for-steering-if-you-select-the","repo_url":"https://github.com/stanfordnlp/axbench","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2505.20063","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2505.20063"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/stanfordnlp/axbench","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/technion-cs-nlp/saes-are-good-for-steering","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/technion-csnlp/saes-are-good-for-steering","reach":{"status":"gone","observed_at":"2026-09-16","how":"tree_404+repo_404"}}],"summary":{"unverified":3},"by_repo_kind":{"official":{"samples":3,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"fa0d2162685d447b","entry":"get_axbench_generation_success","repo":"technion-cs-nlp/saes-are-good-for-steering","repo_kind":"official","path":"src/plot.py","file_url":"https://github.com/technion-cs-nlp/saes-are-good-for-steering/blob/HEAD/src/plot.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fa0d2162685d447b"}},{"code_sha256_prefix":"4d28235a4145671b","entry":"get_features_by_layers","repo":"technion-cs-nlp/saes-are-good-for-steering","repo_kind":"official","path":"src/utils.py","file_url":"https://github.com/technion-cs-nlp/saes-are-good-for-steering/blob/HEAD/src/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4d28235a4145671b"}},{"code_sha256_prefix":"2a133a09ad50dc45","entry":"get_generation_success","repo":"technion-cs-nlp/saes-are-good-for-steering","repo_kind":"official","path":"src/plot.py","file_url":"https://github.com/technion-cs-nlp/saes-are-good-for-steering/blob/HEAD/src/plot.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2a133a09ad50dc45"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}