{"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/a-is-for-absorption-studying-feature","title":"A is for Absorption: Studying Feature Splitting and Absorption in Sparse Autoencoders","arxiv_id":"2409.14507","date":"2024-09-22","proceeding":null,"authors":["David Chanin","James Wilken-Smith","Tomáš Dulka","Hardik Bhatnagar","Joseph Bloom"],"abstract":"Sparse Autoencoders (SAEs) have emerged as a promising approach to decompose the activations of Large Language Models (LLMs) into human-interpretable latents. In this paper, we pose two questions. First, to what extent do SAEs extract monosemantic and interpretable latents? Second, to what extent does varying the sparsity or the size of the SAE affect monosemanticity / interpretability? By investigating these questions in the context of a simple first-letter identification task where we have complete access to ground truth labels for all tokens in the vocabulary, we are able to provide more detail than prior investigations. Critically, we identify a problematic form of feature-splitting we call feature absorption where seemingly monosemantic latents fail to fire in cases where they clearly should. Our investigation suggests that varying SAE size or sparsity is insufficient to solve this issue, and that there are deeper conceptual issues in need of resolution.","url_abs":"https://arxiv.org/abs/2409.14507v4","url_pdf":"https://arxiv.org/pdf/2409.14507v4.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":"a-is-for-absorption-studying-feature","repo_url":"https://github.com/lasr-spelling/sae-spelling","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2409.14507","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2409.14507"}},"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":"deterministic:regex_extraction","url":"https://github.com/lasr-spelling/sae-spelling","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":9,"unverified":1},"by_repo_kind":{"official":{"samples":10,"ran":9,"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":"dcaa80bbfa602dce","entry":"dtype_to_str","repo":"lasr-spelling/sae-spelling","repo_kind":"official","path":"sae_spelling/experiments/common.py","file_url":"https://github.com/lasr-spelling/sae-spelling/blob/HEAD/sae_spelling/experiments/common.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"dcaa80bbfa602dce"}},{"code_sha256_prefix":"7fb9a9df9e2f3f9a","entry":"extract_grad","repo":"lasr-spelling/sae-spelling","repo_kind":"official","path":"sae_spelling/torch_utils.py","file_url":"https://github.com/lasr-spelling/sae-spelling/blob/HEAD/sae_spelling/torch_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7fb9a9df9e2f3f9a"}},{"code_sha256_prefix":"7fb0d3f1a609202f","entry":"first_letter","repo":"lasr-spelling/sae-spelling","repo_kind":"official","path":"sae_spelling/prompting.py","file_url":"https://github.com/lasr-spelling/sae-spelling/blob/HEAD/sae_spelling/prompting.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7fb0d3f1a609202f"}},{"code_sha256_prefix":"102789285bbb6108","entry":"flip_dict","repo":"lasr-spelling/sae-spelling","repo_kind":"official","path":"sae_spelling/util.py","file_url":"https://github.com/lasr-spelling/sae-spelling/blob/HEAD/sae_spelling/util.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"102789285bbb6108"}},{"code_sha256_prefix":"c4c34bce5b14a047","entry":"get_alpha_tokens","repo":"lasr-spelling/sae-spelling","repo_kind":"official","path":"sae_spelling/vocab.py","file_url":"https://github.com/lasr-spelling/sae-spelling/blob/HEAD/sae_spelling/vocab.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c4c34bce5b14a047"}},{"code_sha256_prefix":"927eb86571fdf5f4","entry":"get_tokens","repo":"lasr-spelling/sae-spelling","repo_kind":"official","path":"sae_spelling/vocab.py","file_url":"https://github.com/lasr-spelling/sae-spelling/blob/HEAD/sae_spelling/vocab.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"927eb86571fdf5f4"}},{"code_sha256_prefix":"5da8ce88eae79932","entry":"last_letter","repo":"lasr-spelling/sae-spelling","repo_kind":"official","path":"sae_spelling/prompting.py","file_url":"https://github.com/lasr-spelling/sae-spelling/blob/HEAD/sae_spelling/prompting.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5da8ce88eae79932"}},{"code_sha256_prefix":"4ea90f6ac63c39b8","entry":"listify","repo":"lasr-spelling/sae-spelling","repo_kind":"official","path":"sae_spelling/util.py","file_url":"https://github.com/lasr-spelling/sae-spelling/blob/HEAD/sae_spelling/util.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4ea90f6ac63c39b8"}},{"code_sha256_prefix":"4b3741b6550dd634","entry":"spelling","repo":"lasr-spelling/sae-spelling","repo_kind":"official","path":"sae_spelling/prompting.py","file_url":"https://github.com/lasr-spelling/sae-spelling/blob/HEAD/sae_spelling/prompting.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4b3741b6550dd634"}},{"code_sha256_prefix":"e61d11c374aa3983","entry":"get_common_word_tokens","repo":"lasr-spelling/sae-spelling","repo_kind":"official","path":"sae_spelling/vocab.py","file_url":"https://github.com/lasr-spelling/sae-spelling/blob/HEAD/sae_spelling/vocab.py","link_basis":"first_harvest_node","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":"e61d11c374aa3983"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}