{"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-2602-04613","title":"Translation Heads: Disentangling meaning from language in LLM-based machine translation","arxiv_id":"2602.04613","date":"2026-02-04","proceeding":"ICML","authors":["Théo Lasnier","Armel Zebaze","Djamé Seddah","Rachel Bawden","Benoît Sagot"],"abstract":"Mechanistic Interpretability (MI) seeks to explain how neural networks implement their capabilities, but the scale of Large Language Models (LLMs) has limited prior MI work in Machine Translation (MT) to word-level analyses. We study sentence-level MT from a mechanistic perspective by analyzing attention heads to understand how LLMs internally encode and distribute translation functions. We decompose MT into two subtasks: producing text in the target language (i.e. target language identification) and preserving the input sentence's meaning (i.e. sentence equivalence). Across three families of open-source models and 20 translation directions, we find that distinct, sparse sets of attention heads specialize in each subtask. Based on this insight, we construct subtask-specific steering vectors and show that modifying just 1% of the relevant heads enables instruction-free MT performance comparable to instruction-based prompting, while ablating these heads selectively disrupts their corresponding translation functions.","url_abs":"https://arxiv.org/abs/2602.04613","url_pdf":"https://arxiv.org/pdf/2602.04613","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":{"syntology_url":"https://syntology.ai/paper/2602.04613","atlas_url":"https://app.syntology.ai/?focus=2602.04613","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2602.04613"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/Blyzi/mitra","reach":null}],"summary":{"unverified":7},"by_repo_kind":{"found_in_text":{"samples":7,"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":7,"samples":[{"code_sha256_prefix":"72dcbacdb2f6f7e6","entry":"build_few_shot_prompt","repo":"Blyzi/mitra","repo_kind":"found_in_text","path":"src/translation_nshot_task/generate_few_shot.py","file_url":"https://github.com/Blyzi/mitra/blob/HEAD/src/translation_nshot_task/generate_few_shot.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"72dcbacdb2f6f7e6"}},{"code_sha256_prefix":"dbbad9bb7a77fffd","entry":"get_logprobs_diff","repo":"Blyzi/mitra","repo_kind":"found_in_text","path":"src/amplification_factor/generate.py","file_url":"https://github.com/Blyzi/mitra/blob/HEAD/src/amplification_factor/generate.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"dbbad9bb7a77fffd"}},{"code_sha256_prefix":"4875e95a99d639b7","entry":"get_logprobs_diff","repo":"Blyzi/mitra","repo_kind":"found_in_text","path":"src/token_position/generate.py","file_url":"https://github.com/Blyzi/mitra/blob/HEAD/src/token_position/generate.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4875e95a99d639b7"}},{"code_sha256_prefix":"6e51757e5d9b2d36","entry":"get_logprobs_diff","repo":"Blyzi/mitra","repo_kind":"found_in_text","path":"src/translation_nshot_task/generate.py","file_url":"https://github.com/Blyzi/mitra/blob/HEAD/src/translation_nshot_task/generate.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6e51757e5d9b2d36"}},{"code_sha256_prefix":"dab9ac57e285e67d","entry":"get_noshot_prompt","repo":"Blyzi/mitra","repo_kind":"found_in_text","path":"src/amplification_factor/generate.py","file_url":"https://github.com/Blyzi/mitra/blob/HEAD/src/amplification_factor/generate.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"dab9ac57e285e67d"}},{"code_sha256_prefix":"51026f389f435079","entry":"get_ranked_heads","repo":"Blyzi/mitra","repo_kind":"found_in_text","path":"src/representation/decode.py","file_url":"https://github.com/Blyzi/mitra/blob/HEAD/src/representation/decode.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"51026f389f435079"}},{"code_sha256_prefix":"6b05021daa98fcfa","entry":"split_text_randomly","repo":"Blyzi/mitra","repo_kind":"found_in_text","path":"src/representation/random_text.py","file_url":"https://github.com/Blyzi/mitra/blob/HEAD/src/representation/random_text.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6b05021daa98fcfa"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.CL","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}