{"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/arxiv-2511-20273","title":"Beyond Components: Singular Vector-Based Interpretability of Transformer Circuits","arxiv_id":"2511.20273","date":"2025-11-25","proceeding":"NeurIPS","authors":["Areeb Ahmad","Abhinav Joshi","Ashutosh Modi"],"abstract":"Transformer-based language models exhibit complex and distributed behavior, yet their internal computations remain poorly understood. Existing mechanistic interpretability methods typically treat attention heads and multilayer perceptron layers (MLPs) (the building blocks of a transformer architecture) as indivisible units, overlooking possibilities of functional substructure learned within them. In this work, we introduce a more fine-grained perspective that decomposes these components into orthogonal singular directions, revealing superposed and independent computations within a single head or MLP. We validate our perspective on widely used standard tasks like Indirect Object Identification (IOI), Gender Pronoun (GP), and Greater Than (GT), showing that previously identified canonical functional heads, such as the name mover, encode multiple overlapping subfunctions aligned with distinct singular directions. Nodes in a computational graph, that are previously identified as circuit elements show strong activation along specific low-rank directions, suggesting that meaningful computations reside in compact subspaces. While some directions remain challenging to interpret fully, our results highlight that transformer computations are more distributed, structured, and compositional than previously assumed. This perspective opens new avenues for fine-grained mechanistic interpretability and a deeper understanding of model internals.","url_abs":"https://arxiv.org/abs/2511.20273","url_pdf":"https://arxiv.org/pdf/2511.20273","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2511.20273","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2511.20273"}},"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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/Exploration-Lab/Beyond-Components","reach":{"status":"ok","spdx":"NOASSERTION"}}],"summary":{"unverified":5},"by_repo_kind":{"found_in_text":{"samples":5,"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":5,"samples":[{"code_sha256_prefix":"1ddf9ac3c590b5ab","entry":"get_head_color_ioi","repo":"Exploration-Lab/Beyond-Components","repo_kind":"found_in_text","path":"src/utils/visualization.py","file_url":"https://github.com/Exploration-Lab/Beyond-Components/blob/HEAD/src/utils/visualization.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"1ddf9ac3c590b5ab"}},{"code_sha256_prefix":"e391e82a0f600d95","entry":"get_indirect_objects_and_subjects","repo":"Exploration-Lab/Beyond-Components","repo_kind":"found_in_text","path":"src/utils/utils.py","file_url":"https://github.com/Exploration-Lab/Beyond-Components/blob/HEAD/src/utils/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"e391e82a0f600d95"}},{"code_sha256_prefix":"b71ec6c1e4d3d437","entry":"get_label_column_names","repo":"Exploration-Lab/Beyond-Components","repo_kind":"found_in_text","path":"src/utils/utils.py","file_url":"https://github.com/Exploration-Lab/Beyond-Components/blob/HEAD/src/utils/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"b71ec6c1e4d3d437"}},{"code_sha256_prefix":"a9e2edbf734d8c1a","entry":"load_results","repo":"Exploration-Lab/Beyond-Components","repo_kind":"found_in_text","path":"experiments/evaluation/generate_sigma_table.py","file_url":"https://github.com/Exploration-Lab/Beyond-Components/blob/HEAD/experiments/evaluation/generate_sigma_table.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"a9e2edbf734d8c1a"}},{"code_sha256_prefix":"3e65049197359cf7","entry":"mask_fn","repo":"Exploration-Lab/Beyond-Components","repo_kind":"found_in_text","path":"src/models/masked_transformer_circuit.py","file_url":"https://github.com/Exploration-Lab/Beyond-Components/blob/HEAD/src/models/masked_transformer_circuit.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"3e65049197359cf7"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_api"},"syntology_extracted_results":null}