{"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/bridging-the-gap-between-different","title":"Bridging the Gap between Different Vocabularies for LLM Ensemble","arxiv_id":"2404.09492","date":"2024-04-15","proceeding":null,"authors":["Yangyifan Xu","Jinliang Lu","Jiajun Zhang"],"abstract":"Ensembling different large language models (LLMs) to unleash their complementary potential and harness their individual strengths is highly valuable. Nevertheless, vocabulary discrepancies among various LLMs have constrained previous studies to either selecting or blending completely generated outputs. This limitation hinders the dynamic correction and enhancement of outputs during the generation process, resulting in a limited capacity for effective ensemble. To address this issue, we propose a novel method to Ensemble LLMs via Vocabulary Alignment (EVA). EVA bridges the lexical gap among various LLMs, enabling meticulous ensemble at each generation step. Specifically, we first learn mappings between the vocabularies of different LLMs with the assistance of overlapping tokens. Subsequently, these mappings are employed to project output distributions of LLMs into a unified space, facilitating a fine-grained ensemble. Finally, we design a filtering strategy to exclude models that generate unfaithful tokens. Experimental results on commonsense reasoning, arithmetic reasoning, machine translation, and data-to-text generation tasks demonstrate the superiority of our approach compared with individual LLMs and previous ensemble methods conducted on complete outputs. Further analyses confirm that our approach can leverage knowledge from different language models and yield consistent improvement.","url_abs":"https://arxiv.org/abs/2404.09492v1","url_pdf":"https://arxiv.org/pdf/2404.09492v1.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":"bridging-the-gap-between-different","repo_url":"https://github.com/xydaytoy/eva","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"arithmetic-reasoning","task_name":"Arithmetic Reasoning"},{"task_slug":"data-to-text-generation","task_name":"Data-to-Text Generation"},{"task_slug":"machine-translation","task_name":"Machine Translation"},{"task_slug":"text-generation","task_name":"Text Generation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2404.09492","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2404.09492"}},"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/xydaytoy/eva","reach":null}],"summary":{"ran_draft_wrong":4,"unverified":2},"by_repo_kind":{"official":{"samples":6,"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":6,"samples":[{"code_sha256_prefix":"f6a00c8dae40c148","entry":"build_inst_prompt","repo":"xydaytoy/eva","repo_kind":"official","path":"ensemble/eva_multi.py","file_url":"https://github.com/xydaytoy/eva/blob/HEAD/ensemble/eva_multi.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f6a00c8dae40c148"}},{"code_sha256_prefix":"78b2220661590194","entry":"drop","repo":"xydaytoy/eva","repo_kind":"official","path":"ensemble/eva_multi.py","file_url":"https://github.com/xydaytoy/eva/blob/HEAD/ensemble/eva_multi.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"78b2220661590194"}},{"code_sha256_prefix":"ef417469242d0e7f","entry":"format_example","repo":"xydaytoy/eva","repo_kind":"official","path":"ensemble/eva_multi.py","file_url":"https://github.com/xydaytoy/eva/blob/HEAD/ensemble/eva_multi.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ef417469242d0e7f"}},{"code_sha256_prefix":"5b3d9ad8287c5ece","entry":"gen_prompt","repo":"xydaytoy/eva","repo_kind":"official","path":"ensemble/eva_multi.py","file_url":"https://github.com/xydaytoy/eva/blob/HEAD/ensemble/eva_multi.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5b3d9ad8287c5ece"}},{"code_sha256_prefix":"e5b63a4f5855248f","entry":"eval_local","repo":"xydaytoy/eva","repo_kind":"official","path":"ensemble/eva_multi.py","file_url":"https://github.com/xydaytoy/eva/blob/HEAD/ensemble/eva_multi.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":"e5b63a4f5855248f"}},{"code_sha256_prefix":"3f2387d2a6c18f0a","entry":"topk_filter","repo":"xydaytoy/eva","repo_kind":"official","path":"ensemble/eva_multi.py","file_url":"https://github.com/xydaytoy/eva/blob/HEAD/ensemble/eva_multi.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":"3f2387d2a6c18f0a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}