Syntriever: How to Train Your Retriever with Synthetic Data from LLMs
作者: Minsang Kim, Seungjun Baek
分类: cs.CL, cs.AI
发布日期: 2025-02-06 (更新: 2025-02-14)
备注: the Nations of the Americas Chapter of the Association for Computational Linguistics (NAACL), Findings, Accepted
🔗 代码/项目: GITHUB
💡 一句话要点
Syntriever:利用LLM合成数据训练检索器,提升检索性能
🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture) 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 信息检索 大型语言模型 知识蒸馏 合成数据 黑盒模型
📋 核心要点
- 现有知识蒸馏方法依赖LLM的输出概率,但黑盒LLM无法提供,限制了其应用。
- Syntriever利用黑盒LLM生成合成数据,包括相关和看似不相关的段落,用于训练检索器。
- 通过蒸馏和对齐两个阶段,Syntriever在多个基准数据集上取得了state-of-the-art的nDCG@K性能。
📝 摘要(中文)
大型语言模型(LLMs)推动了许多人工智能应用的进步。最近,有人尝试将LLMs的广阔知识提炼到信息检索系统中。这些提炼方法主要使用LLMs的输出概率,但在最新的黑盒LLMs中,这些概率是不可用的。我们提出了Syntriever,一个使用来自黑盒LLMs的合成数据训练检索器的框架。Syntriever包括两个阶段。首先,在蒸馏阶段,我们使用思维链为给定的查询合成相关的和看似不相关的段落以及增强的查询。要求LLM自验证合成数据是否存在幻觉,之后,使用旨在聚类相关段落嵌入的损失来训练检索器。其次,在对齐阶段,我们将检索器与LLMs的偏好对齐。我们提出了一种称为部分Plackett-Luce排序的偏好建模方法,以学习LLM的偏好,并进行正则化,以防止模型过度偏离在蒸馏阶段训练的模型。实验表明,Syntriever在来自各个领域的基准数据集上实现了最先进的nDCG@$K$性能。代码可在https://github.com/kmswin1/Syntriever 获得。
🔬 方法详解
问题定义:论文旨在解决如何利用黑盒大型语言模型(LLMs)的知识来提升信息检索系统的性能。现有知识蒸馏方法通常依赖于LLMs的输出概率,例如softmax概率,但这些信息在黑盒LLMs中是不可访问的。因此,如何有效地利用黑盒LLMs的知识成为一个挑战。
核心思路:Syntriever的核心思路是利用黑盒LLMs生成高质量的合成数据,包括相关的和看似不相关的段落,以及增强的查询。然后,利用这些合成数据来训练检索器,使其能够更好地捕捉LLMs的知识和偏好。通过这种方式,可以将LLMs的知识迁移到检索器中,而无需访问LLMs的内部信息。
技术框架:Syntriever包含两个主要阶段:蒸馏阶段和对齐阶段。在蒸馏阶段,首先使用思维链(Chain-of-Thoughts)提示LLM生成相关和看似不相关的段落以及增强的查询。然后,LLM对生成的合成数据进行自验证,以减少幻觉。最后,使用对比损失训练检索器,使相关段落的嵌入更接近。在对齐阶段,使用部分Plackett-Luce排序来建模LLM的偏好,并使用正则化项防止模型过度偏离蒸馏阶段训练的模型。
关键创新:Syntriever的关键创新在于使用黑盒LLMs生成合成数据来训练检索器,并提出了一种新的偏好建模方法,即部分Plackett-Luce排序。与现有方法相比,Syntriever不需要访问LLMs的内部信息,因此可以应用于更广泛的场景。此外,Syntriever的自验证机制可以有效地减少合成数据中的幻觉。
关键设计:在蒸馏阶段,使用思维链提示LLM生成多样化的合成数据。自验证过程通过让LLM判断生成的段落是否与查询相关来减少幻觉。对比损失函数旨在最大化相关段落嵌入之间的相似性,并最小化相关段落与不相关段落嵌入之间的相似性。在对齐阶段,部分Plackett-Luce排序通过建模LLM对不同段落的偏好来优化检索器。正则化项用于防止模型过度偏离蒸馏阶段训练的模型,保持模型的稳定性和泛化能力。
🖼️ 关键图片
📊 实验亮点
Syntriever在多个基准数据集上取得了state-of-the-art的nDCG@K性能,证明了其有效性。实验结果表明,Syntriever能够有效地利用黑盒LLMs的知识来提升检索系统的性能。与现有方法相比,Syntriever在无需访问LLMs内部信息的情况下,实现了显著的性能提升。
🎯 应用场景
Syntriever可应用于各种信息检索场景,例如问答系统、文档检索、产品搜索等。通过利用LLMs的知识,可以显著提升检索系统的准确性和相关性。该方法尤其适用于无法访问LLMs内部信息的场景,例如使用第三方LLM服务的场景。未来,Syntriever可以扩展到多模态检索,例如图像检索和视频检索。
📄 摘要(原文)
LLMs have boosted progress in many AI applications. Recently, there were attempts to distill the vast knowledge of LLMs into information retrieval systems. Those distillation methods mostly use output probabilities of LLMs which are unavailable in the latest black-box LLMs. We propose Syntriever, a training framework for retrievers using synthetic data from black-box LLMs. Syntriever consists of two stages. Firstly in the distillation stage, we synthesize relevant and plausibly irrelevant passages and augmented queries using chain-of-thoughts for the given queries. LLM is asked to self-verify the synthetic data for possible hallucinations, after which retrievers are trained with a loss designed to cluster the embeddings of relevant passages. Secondly in the alignment stage, we align the retriever with the preferences of LLMs. We propose a preference modeling called partial Plackett-Luce ranking to learn LLM preferences with regularization which prevents the model from deviating excessively from that trained in the distillation stage. Experiments show that Syntriever achieves state-of-the-art performances on benchmark datasets from various domains in nDCG@$K$. The code is available at \href{https://github.com/kmswin1/Syntriever}{https://github.com/kmswin1/Syntriever}.