{"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/transformers-get-stable-an-end-to-end-signal","title":"Transformers Get Stable: An End-to-End Signal Propagation Theory for Language Models","arxiv_id":"2403.09635","date":"2024-03-14","proceeding":null,"authors":["Akhil Kedia","Mohd Abbas Zaidi","Sushil Khyalia","Jungho Jung","Harshith Goka","Haejun Lee"],"abstract":"In spite of their huge success, transformer models remain difficult to scale in depth. In this work, we develop a unified signal propagation theory and provide formulae that govern the moments of the forward and backward signal through the transformer model. Our framework can be used to understand and mitigate vanishing/exploding gradients, rank collapse, and instability associated with high attention scores. We also propose DeepScaleLM, an initialization and scaling scheme that conserves unit output/gradient moments throughout the model, enabling the training of very deep models with 1000 layers. We find that transformer models could be much deeper - our deep models with fewer parameters outperform shallow models in Language Modeling, Speech Translation, and Image Classification, across encoder-only, decoder-only and encoder-decoder variants, for both Pre-LN and Post-LN transformers, for multiple datasets and model sizes. These improvements also translate into improved performance on downstream Question Answering tasks and improved robustness for Image Classification.","url_abs":"https://arxiv.org/abs/2403.09635v2","url_pdf":"https://arxiv.org/pdf/2403.09635v2.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":"transformers-get-stable-an-end-to-end-signal","repo_url":"https://github.com/akhilkedia/tranformersgetstable","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"decoder","task_name":"Decoder"},{"task_slug":"image-classification","task_name":"Image Classification"},{"task_slug":"language-modeling","task_name":"Language Modeling"},{"task_slug":"language-modelling","task_name":"Language Modelling"},{"task_slug":"question-answering","task_name":"Question Answering"},{"task_slug":"image-classification","task_name":"image-classification"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2403.09635","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2403.09635"}},"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/akhilkedia/tranformersgetstable","reach":{"status":"ok"}}],"summary":{"ran":4,"unverified":1},"by_repo_kind":{"official":{"samples":5,"ran":4,"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":"439e1fb57ee36d78","entry":"calc_err","repo":"akhilkedia/tranformersgetstable","repo_kind":"official","path":"simulations/layernorm.py","file_url":"https://github.com/akhilkedia/tranformersgetstable/blob/HEAD/simulations/layernorm.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"439e1fb57ee36d78"}},{"code_sha256_prefix":"1f4447581128a711","entry":"get_batch","repo":"akhilkedia/tranformersgetstable","repo_kind":"official","path":"DSLM_signal_propagation_figures/pretrain_vision_classify.py","file_url":"https://github.com/akhilkedia/tranformersgetstable/blob/HEAD/DSLM_signal_propagation_figures/pretrain_vision_classify.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1f4447581128a711"}},{"code_sha256_prefix":"92287bdc91b8ac90","entry":"get_batch","repo":"akhilkedia/tranformersgetstable","repo_kind":"official","path":"DSLM_signal_propagation_figures/pretrain_vision_dino.py","file_url":"https://github.com/akhilkedia/tranformersgetstable/blob/HEAD/DSLM_signal_propagation_figures/pretrain_vision_dino.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"92287bdc91b8ac90"}},{"code_sha256_prefix":"edf213e729a014e0","entry":"get_batch","repo":"akhilkedia/tranformersgetstable","repo_kind":"official","path":"DSLM_signal_propagation_figures/pretrain_vision_inpaint.py","file_url":"https://github.com/akhilkedia/tranformersgetstable/blob/HEAD/DSLM_signal_propagation_figures/pretrain_vision_inpaint.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"edf213e729a014e0"}},{"code_sha256_prefix":"44194e1b32ba91a3","entry":"simulate_one","repo":"akhilkedia/tranformersgetstable","repo_kind":"official","path":"simulations/layernorm.py","file_url":"https://github.com/akhilkedia/tranformersgetstable/blob/HEAD/simulations/layernorm.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":"44194e1b32ba91a3"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}