{"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/emergent-linear-representations-in-world","title":"Emergent Linear Representations in World Models of Self-Supervised Sequence Models","arxiv_id":"2309.00941","date":"2023-09-02","proceeding":null,"authors":["Neel Nanda","Andrew Lee","Martin Wattenberg"],"abstract":"How do sequence models represent their decision-making process? Prior work suggests that Othello-playing neural network learned nonlinear models of the board state (Li et al., 2023). In this work, we provide evidence of a closely related linear representation of the board. In particular, we show that probing for \"my colour\" vs. \"opponent's colour\" may be a simple yet powerful way to interpret the model's internal state. This precise understanding of the internal representations allows us to control the model's behaviour with simple vector arithmetic. Linear representations enable significant interpretability progress, which we demonstrate with further exploration of how the world model is computed.","url_abs":"https://arxiv.org/abs/2309.00941v2","url_pdf":"https://arxiv.org/pdf/2309.00941v2.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":"emergent-linear-representations-in-world","repo_url":"https://github.com/ajyl/mech_int_othellogpt","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"jax","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"emergent-linear-representations-in-world","repo_url":"https://github.com/alxndrtl/othello_mamba","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"decision-making","task_name":"Decision Making"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2309.00941","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2309.00941"}},"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/ajyl/mech_int_othellogpt","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/alxndrtl/othello_mamba","reach":{"status":"ok"}}],"summary":{"ran":4,"ran_draft_wrong":1,"unverified":3},"by_repo_kind":{"official":{"samples":8,"ran":5,"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":"3091fdb6313cdccd","entry":"get_min_boardstate","repo":"ajyl/mech_int_othellogpt","repo_kind":"official","path":"mech_int/figures/movefirst.sync.py","file_url":"https://github.com/ajyl/mech_int_othellogpt/blob/HEAD/mech_int/figures/movefirst.sync.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":"3091fdb6313cdccd"}},{"code_sha256_prefix":"958673f09e3e1cd0","entry":"sample","repo":"ajyl/mech_int_othellogpt","repo_kind":"official","path":"mingpt/utils.py","file_url":"https://github.com/ajyl/mech_int_othellogpt/blob/HEAD/mingpt/utils.py","link_basis":"harvester_set","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":"958673f09e3e1cd0"}},{"code_sha256_prefix":"a86092ab76b2c3fe","entry":"to_int","repo":"ajyl/mech_int_othellogpt","repo_kind":"official","path":"mech_int/tl_othello_utils.py","file_url":"https://github.com/ajyl/mech_int_othellogpt/blob/HEAD/mech_int/tl_othello_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":"a86092ab76b2c3fe"}},{"code_sha256_prefix":"e574d1f8da6a87ad","entry":"to_string","repo":"ajyl/mech_int_othellogpt","repo_kind":"official","path":"mech_int/tl_othello_utils.py","file_url":"https://github.com/ajyl/mech_int_othellogpt/blob/HEAD/mech_int/tl_othello_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":"e574d1f8da6a87ad"}},{"code_sha256_prefix":"0f0021cdea13e4da","entry":"top_k_logits","repo":"ajyl/mech_int_othellogpt","repo_kind":"official","path":"mingpt/utils.py","file_url":"https://github.com/ajyl/mech_int_othellogpt/blob/HEAD/mingpt/utils.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0f0021cdea13e4da"}},{"code_sha256_prefix":"e36a53a69e491ff4","entry":"patch_heads","repo":"ajyl/mech_int_othellogpt","repo_kind":"official","path":"mech_int/intervene.py","file_url":"https://github.com/ajyl/mech_int_othellogpt/blob/HEAD/mech_int/intervene.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":"e36a53a69e491ff4"}},{"code_sha256_prefix":"dcd1382d3cffc38e","entry":"patch_heads","repo":"ajyl/mech_int_othellogpt","repo_kind":"official","path":"mech_int/intervene_blank.py","file_url":"https://github.com/ajyl/mech_int_othellogpt/blob/HEAD/mech_int/intervene_blank.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":"dcd1382d3cffc38e"}},{"code_sha256_prefix":"344163c42c92bc3b","entry":"state_stack_to_one_hot","repo":"ajyl/mech_int_othellogpt","repo_kind":"official","path":"mech_int/train_flipped.py","file_url":"https://github.com/ajyl/mech_int_othellogpt/blob/HEAD/mech_int/train_flipped.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":"344163c42c92bc3b"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}