{"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/unsupervised-information-refinement-training","title":"Unsupervised Information Refinement Training of Large Language Models for Retrieval-Augmented Generation","arxiv_id":"2402.18150","date":"2024-02-28","proceeding":null,"authors":["Shicheng Xu","Liang Pang","Mo Yu","Fandong Meng","HuaWei Shen","Xueqi Cheng","Jie zhou"],"abstract":"Retrieval-augmented generation (RAG) enhances large language models (LLMs) by incorporating additional information from retrieval. However, studies have shown that LLMs still face challenges in effectively using the retrieved information, even ignoring it or being misled by it. The key reason is that the training of LLMs does not clearly make LLMs learn how to utilize input retrieved texts with varied quality. In this paper, we propose a novel perspective that considers the role of LLMs in RAG as ``Information Refiner'', which means that regardless of correctness, completeness, or usefulness of retrieved texts, LLMs can consistently integrate knowledge within the retrieved texts and model parameters to generate the texts that are more concise, accurate, and complete than the retrieved texts. To this end, we propose an information refinement training method named InFO-RAG that optimizes LLMs for RAG in an unsupervised manner. InFO-RAG is low-cost and general across various tasks. Extensive experiments on zero-shot prediction of 11 datasets in diverse tasks including Question Answering, Slot-Filling, Language Modeling, Dialogue, and Code Generation show that InFO-RAG improves the performance of LLaMA2 by an average of 9.39\\% relative points. InFO-RAG also shows advantages in in-context learning and robustness of RAG.","url_abs":"https://arxiv.org/abs/2402.18150v2","url_pdf":"https://arxiv.org/pdf/2402.18150v2.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":"unsupervised-information-refinement-training","repo_url":"https://github.com/xsc1234/info-rag","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"code-generation","task_name":"Code Generation"},{"task_slug":"in-context-learning","task_name":"In-Context Learning"},{"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":"rag","task_name":"RAG"},{"task_slug":"retrieval","task_name":"Retrieval"},{"task_slug":"retrieval-augmented-generation","task_name":"Retrieval-augmented Generation"},{"task_slug":"slot-filling","task_name":"Slot Filling"},{"task_slug":"slot-filling-1","task_name":"slot-filling"}],"methods":[{"method_slug":"adam","method_name":"Adam"},{"method_slug":"attention","method_name":"Attention"},{"method_slug":"attention-dropout","method_name":"Attention Dropout"},{"method_slug":"bart","method_name":"BART"},{"method_slug":"bert","method_name":"BERT"},{"method_slug":"bpe","method_name":"BPE"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":"layer-normalization","method_name":"Layer Normalization"},{"method_slug":"linear-layer","method_name":"Linear Layer"},{"method_slug":"linear-warmup-with-linear-decay","method_name":"Linear Warmup With Linear Decay"},{"method_slug":"multi-head-attention","method_name":"Multi-Head Attention"},{"method_slug":"rag","method_name":"RAG"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"weight-decay","method_name":"Weight Decay"},{"method_slug":"wordpiece","method_name":"WordPiece"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2402.18150","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2402.18150"}},"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/xsc1234/info-rag","reach":{"status":"ok"}}],"summary":{"ran":5,"unverified":4},"by_repo_kind":{"official":{"samples":9,"ran":5,"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":9,"samples":[{"code_sha256_prefix":"34916672e3ddaf0c","entry":"exact_match_score","repo":"xsc1234/info-rag","repo_kind":"official","path":"training/train_info_rag.py","file_url":"https://github.com/xsc1234/info-rag/blob/HEAD/training/train_info_rag.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"34916672e3ddaf0c"}},{"code_sha256_prefix":"1182381b66bc654d","entry":"get_eval_ds_config","repo":"xsc1234/info-rag","repo_kind":"official","path":"utils/ds_utils.py","file_url":"https://github.com/xsc1234/info-rag/blob/HEAD/utils/ds_utils.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":"1182381b66bc654d"}},{"code_sha256_prefix":"0b7ef7574493a1eb","entry":"get_train_ds_config","repo":"xsc1234/info-rag","repo_kind":"official","path":"utils/ds_utils.py","file_url":"https://github.com/xsc1234/info-rag/blob/HEAD/utils/ds_utils.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":"0b7ef7574493a1eb"}},{"code_sha256_prefix":"8ee33b82a7406f69","entry":"load_hf_tokenizer","repo":"xsc1234/info-rag","repo_kind":"official","path":"utils/utils.py","file_url":"https://github.com/xsc1234/info-rag/blob/HEAD/utils/utils.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":"8ee33b82a7406f69"}},{"code_sha256_prefix":"e617041853afd002","entry":"only_optimize_lora_parameters","repo":"xsc1234/info-rag","repo_kind":"official","path":"utils/module/lora.py","file_url":"https://github.com/xsc1234/info-rag/blob/HEAD/utils/module/lora.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":"e617041853afd002"}},{"code_sha256_prefix":"dc296d025e4f7709","entry":"get_tokenizer","repo":"xsc1234/info-rag","repo_kind":"official","path":"utils/utils.py","file_url":"https://github.com/xsc1234/info-rag/blob/HEAD/utils/utils.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":"dc296d025e4f7709"}},{"code_sha256_prefix":"9891ffc5ad4f4684","entry":"normalize_answer","repo":"xsc1234/info-rag","repo_kind":"official","path":"training/train_info_rag.py","file_url":"https://github.com/xsc1234/info-rag/blob/HEAD/training/train_info_rag.py","link_basis":"harvester_set","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":"9891ffc5ad4f4684"}},{"code_sha256_prefix":"387b9e6c4f21dd62","entry":"to_device","repo":"xsc1234/info-rag","repo_kind":"official","path":"utils/utils.py","file_url":"https://github.com/xsc1234/info-rag/blob/HEAD/utils/utils.py","link_basis":"harvester_set","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":"387b9e6c4f21dd62"}},{"code_sha256_prefix":"f49089050af8bfda","entry":"tokenize","repo":"xsc1234/info-rag","repo_kind":"official","path":"training/train_info_rag.py","file_url":"https://github.com/xsc1234/info-rag/blob/HEAD/training/train_info_rag.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":"f49089050af8bfda"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}