{"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/beyond-english-centric-multilingual-machine","title":"Beyond English-Centric Multilingual Machine Translation","arxiv_id":"2010.11125","date":"2020-10-21","proceeding":null,"authors":["Angela Fan","Shruti Bhosale","Holger Schwenk","Zhiyi Ma","Ahmed El-Kishky","Siddharth Goyal","Mandeep Baines","Onur Celebi","Guillaume Wenzek","Vishrav Chaudhary","Naman Goyal","Tom Birch","Vitaliy Liptchinsky","Sergey Edunov","Edouard Grave","Michael Auli","Armand Joulin"],"abstract":"Existing work in translation demonstrated the potential of massively multilingual machine translation by training a single model able to translate between any pair of languages. However, much of this work is English-Centric by training only on data which was translated from or to English. While this is supported by large sources of training data, it does not reflect translation needs worldwide. In this work, we create a true Many-to-Many multilingual translation model that can translate directly between any pair of 100 languages. We build and open source a training dataset that covers thousands of language directions with supervised data, created through large-scale mining. Then, we explore how to effectively increase model capacity through a combination of dense scaling and language-specific sparse parameters to create high quality models. Our focus on non-English-Centric models brings gains of more than 10 BLEU when directly translating between non-English directions while performing competitively to the best single systems of WMT. We open-source our scripts so that others may reproduce the data, evaluation, and final M2M-100 model.","url_abs":"https://arxiv.org/abs/2010.11125v1","url_pdf":"https://arxiv.org/pdf/2010.11125v1.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":"beyond-english-centric-multilingual-machine","repo_url":"https://github.com/pytorch/fairseq","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null},{"paper_slug":"beyond-english-centric-multilingual-machine","repo_url":"https://github.com/Hanlard/M2M-by-fastmoe","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"beyond-english-centric-multilingual-machine","repo_url":"https://github.com/UKPLab/EasyNMT","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"beyond-english-centric-multilingual-machine","repo_url":"https://github.com/huggingface/transformers","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"beyond-english-centric-multilingual-machine","repo_url":"https://github.com/ikergarcia1996/Easy-Translate","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"beyond-english-centric-multilingual-machine","repo_url":"https://github.com/xhluca/dl-translate","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"beyond-english-centric-multilingual-machine","repo_url":"https://github.com/xhlulu/dl-translate","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"beyond-english-centric-multilingual-machine","repo_url":"https://github.com/zurichnlp/contradecode","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"machine-translation","task_name":"Machine Translation"},{"task_slug":"translation","task_name":"Translation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2010.11125","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2010.11125"}},"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/pytorch/fairseq","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/huggingface/transformers","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/UKPLab/EasyNMT","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Hanlard/M2M-by-fastmoe","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/zurichnlp/contradecode","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/xhluca/dl-translate","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ikergarcia1996/Easy-Translate","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/xhlulu/dl-translate","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":2,"ran":1,"unverified":5},"by_repo_kind":{"listed":{"samples":6,"ran":1,"repositories":2}},"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":2,"samples":[{"code_sha256_prefix":"96cbb5e9ca5b6be0","entry":"Embedding","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"96cbb5e9ca5b6be0"}},{"code_sha256_prefix":"8cd8cb0d1e9e63e4","entry":"Linear","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"8cd8cb0d1e9e63e4"}},{"code_sha256_prefix":"9a4a652e139275a2","entry":"encode_string","repo":"ikergarcia1996/Easy-Translate","repo_kind":"listed","path":"translate.py","file_url":"https://github.com/ikergarcia1996/Easy-Translate/blob/HEAD/translate.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"9a4a652e139275a2"}},{"code_sha256_prefix":"c1e178394d83a447","entry":"count_lines","repo":"ikergarcia1996/Easy-Translate","repo_kind":"listed","path":"dataset.py","file_url":"https://github.com/ikergarcia1996/Easy-Translate/blob/HEAD/dataset.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c1e178394d83a447"}},{"code_sha256_prefix":"44ca739a3cdeaafd","entry":"fullname","repo":"UKPLab/EasyNMT","repo_kind":"listed","path":"easynmt/util.py","file_url":"https://github.com/UKPLab/EasyNMT/blob/HEAD/easynmt/util.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"44ca739a3cdeaafd"}},{"code_sha256_prefix":"d648052667531bdb","entry":"import_from_string","repo":"UKPLab/EasyNMT","repo_kind":"listed","path":"easynmt/util.py","file_url":"https://github.com/UKPLab/EasyNMT/blob/HEAD/easynmt/util.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d648052667531bdb"}},{"code_sha256_prefix":"aba2bc51d649c01d","entry":"load_json","repo":"ikergarcia1996/Easy-Translate","repo_kind":"listed","path":"utils/tokenization_small100.py","file_url":"https://github.com/ikergarcia1996/Easy-Translate/blob/HEAD/utils/tokenization_small100.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"aba2bc51d649c01d"}},{"code_sha256_prefix":"9532d6056325c8e3","entry":"load_model_for_inference","repo":"ikergarcia1996/Easy-Translate","repo_kind":"listed","path":"model.py","file_url":"https://github.com/ikergarcia1996/Easy-Translate/blob/HEAD/model.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"9532d6056325c8e3"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}