{"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/leveraging-passage-embeddings-for-efficient","title":"Leveraging Passage Embeddings for Efficient Listwise Reranking with Large Language Models","arxiv_id":"2406.14848","date":"2024-06-21","proceeding":null,"authors":["Qi Liu","Bo wang","Nan Wang","Jiaxin Mao"],"abstract":"Recent studies have demonstrated the effectiveness of using large language language models (LLMs) in passage ranking. The listwise approaches, such as RankGPT, have become new state-of-the-art in this task. However, the efficiency of RankGPT models is limited by the maximum context length and relatively high latency of LLM inference. To address these issues, in this paper, we propose PE-Rank, leveraging the single passage embedding as a good context compression for efficient listwise passage reranking. By treating each passage as a special token, we can directly input passage embeddings into LLMs, thereby reducing input length. Additionally, we introduce an inference method that dynamically constrains the decoding space to these special tokens, accelerating the decoding process. For adapting the model to reranking, we employ listwise learning to rank loss for training. Evaluation results on multiple benchmarks demonstrate that PE-Rank significantly improves efficiency in both prefilling and decoding, while maintaining competitive ranking effectiveness. The Code is available at https://github.com/liuqi6777/pe_rank.","url_abs":"https://arxiv.org/abs/2406.14848v2","url_pdf":"https://arxiv.org/pdf/2406.14848v2.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":"leveraging-passage-embeddings-for-efficient","repo_url":"https://github.com/liuqi6777/pe_rank","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"learning-to-rank","task_name":"Learning-To-Rank"},{"task_slug":"passage-ranking","task_name":"Passage Ranking"},{"task_slug":null,"task_name":"Passage Reranking"},{"task_slug":"reranking","task_name":"Reranking"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2406.14848","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2406.14848"}},"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/liuqi6777/pe_rank","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":1,"unverified":3},"by_repo_kind":{"official":{"samples":4,"ran":1,"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":"8545273157bab0b6","entry":"build_projector","repo":"liuqi6777/pe_rank","repo_kind":"official","path":"src/modeling/encoder.py","file_url":"https://github.com/liuqi6777/pe_rank/blob/HEAD/src/modeling/encoder.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"8545273157bab0b6"}},{"code_sha256_prefix":"0911020ab6185744","entry":"get_peft_model","repo":"liuqi6777/pe_rank","repo_kind":"official","path":"src/modeling/encoder.py","file_url":"https://github.com/liuqi6777/pe_rank/blob/HEAD/src/modeling/encoder.py","link_basis":"first_harvest_node","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":"0911020ab6185744"}},{"code_sha256_prefix":"12973e8a1447debb","entry":"load_from_hf","repo":"liuqi6777/pe_rank","repo_kind":"official","path":"src/modeling/builder.py","file_url":"https://github.com/liuqi6777/pe_rank/blob/HEAD/src/modeling/builder.py","link_basis":"first_harvest_node","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":"12973e8a1447debb"}},{"code_sha256_prefix":"92d29b09a5255c65","entry":"preprocess_messages","repo":"liuqi6777/pe_rank","repo_kind":"official","path":"src/data.py","file_url":"https://github.com/liuqi6777/pe_rank/blob/HEAD/src/data.py","link_basis":"first_harvest_node","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":"92d29b09a5255c65"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}