微信扫码
与创始人交个朋友
我要投稿
面对”幻觉“,很多研究者尝试让LLMs能够从可信的外部信息中搜索并利用它们来“落地”答案。然而,LLMs在检索信息时面临的一个重要挑战在于,如何生成恰当的搜索查询,特别是在面对复杂、多步或不明确的问题时。因此,如何有效指导模型生成有针对性的搜索查询成为了一大难题。
本文提出了一种叫做“通过尝试学习检索”(Learning to Retrieve by Trying,简称LeReT)的新型框架,结合了强化学习策略,通过不断尝试和优化,帮助大语言模型提出更优质的搜索查询,并提升它们对信息的检索能力。LeReT显著改善了检索和生成。
这几年,检索增强生成(Retrieval-Augmented Generation, RAG)是一种被广泛应用的方式,旨在让大语言模型可以基于已知文档进行更为准确的回答。这种方式尤其适用于直接提问,例如“什么是量子计算?”这样的问题。然而,对于需要复杂推理、多个步骤或信息综合的问题,例如“在从旧金山到塔霍湖的周五夜间旅途中,有哪些餐厅可以避开交通堵塞?”这样的请求,单次检索往往无法提供足够的信息。应对此类情况的解决方案是多跳检索(multi-hop retrieval),即模型通过分步骤逐步检索相关信息,最终综合出完整的回答。
然而,这种多跳检索在实际应用中并不容易实现,主要因为现有的语言模型在生成搜索查询上并不总是能达到理想效果,特别是在缺少明确的指导或监督的情况下。现有的方法通常依赖于少量示例的提示优化(few-shot prompting)或者监督微调,但这些方法需要大量的数据,且效果并不稳定。
LeReT 的核心思想在于把检索查询的生成问题视为一个强化学习的问题。通过不断尝试不同的搜索查询并从中学习,模型逐步优化其生成的搜索查询,从而提高检索到正确文档的概率。LeReT 的整体过程包括以下几个重要步骤:
多样化提示驱动的查询生成:模型首先通过多样化的提示集来生成一组可能的查询。这些提示经过优化以确保它们可以生成足够多样但同时具有一定质量的搜索查询。
基于奖励的优化:对于每个生成的查询,系统会检索一组文档,并对这些文档的相关性进行评估。这个评估结果被看作一种“奖励”,模型通过这些奖励来学习哪些查询可以更好地找到所需信息。
偏好优化(Preference Optimization):LeReT 采用了一种叫做“身份政策优化(Identity Policy Optimization,IPO)”的方法来优化模型,这种方法特别适合处理基于偏好的学习场景。
通过这一系列步骤,LeReT 能够有效提高多跳检索的准确率,显著改善生成结果的质量。
LeReT 的一个关键特点是它的查询生成方式。传统的查询生成通常采用随机采样的方法,以获得尽可能多的不同搜索查询。然而,简单的随机采样往往难以保证查询的质量。LeReT 则采用了一种结合提示优化和多样化采样的新方式。利用DSPy的优化能力,LeReT 使用了一组经过优化的提示(prompt),这些提示来自于系统自身生成的多样化的少量示例,通过这些示例生成不同的查询来确保检索的结果既有多样性也具备质量。
这种提示驱动的多样化查询生成不仅能够保证模型在探索阶段可以接触到足够多不同的可能性,同时还能确保其中一部分查询能够获得较高的检索奖励,这样在后续的学习阶段可以利用这些成功的示例进行强化学习。
在获得了一组搜索查询及其相应的检索结果之后,LeReT 使用偏好学习来进一步优化生成模型。这意味着,对于每一个问题,LeReT 会将不同查询的检索结果进行对比,优先选择那些能够获得更好结果的查询。在这个过程中,模型会逐步调整其生成策略,以增加未来生成优质查询的可能性。
为了实现这一点,LeReT 采用了一种称为“身份政策优化(Identity Policy Optimization, IPO)”的方法。该方法通过直接对偏好的查询进行学习,无需额外的参数化奖励模型,使得训练过程更加简洁和高效。通过这一优化过程,LeReT 可以持续提高模型生成有效查询的能力,从而最终提升检索的整体效果。
LeReT 的一个优势在于,它不仅通过偏好学习来优化生成查询的策略,还通过上下文蒸馏(context distillation)来减少对特定 few-shot prompts 的依赖。探索阶段所用的提示可能无法在实际应用中一直保持,因此,LeReT 使用上下文蒸馏的方法对语言模型进行无提示微调,确保模型在不使用原始提示的情况下也能生成高质量的查询。此外,LeReT 还采用了多轮迭代优化的方式,使得模型可以不断从早期的次优决策中学习并改进,从而提高最终检索的质量和准确性。
在实验中,LeReT 在多个数据集上展示了显著的性能提升。在两个多跳问答数据集(HotpotQA 和 HoVer)上的测试表明,LeReT 在检索质量和最终生成质量方面都显著优于传统的方法。例如,在 HotpotQA 数据集上,LeReT 将检索的召回率提高了9%到22%,而在 HoVer 数据集上,召回率提高了27%到29%。这些改进表明,通过强化学习的方式,LeReT 在解决复杂多跳检索问题上具有明显的优势。
LeReT 的一个重要特性是其可以迭代应用,模型可以在初始训练完成后,通过进一步的迭代学习继续提升性能。实验显示,经过多次迭代后的 LeReT 模型,其检索和生成的效果均得到了进一步的提升。
在提高检索质量的同时,LeReT 还可以适配不同的大语言生成器来生成答案。实验结果表明,生成器的能力越强,它从LeReT优化后的检索中获得的提升越大。尤其是在 GPT-4 这样的高级生成器上,LeReT 带来的检索改进使得生成质量有显著的增加。与较弱的生成器相比,高级生成器能更好地利用检索到的高质量文档,生成出更准确且合理的答案。
在生成多样化的检索查询时,LeReT 特别采用了提示优化而不是单纯的高温度采样来提升查询的质量。高温度采样虽然能够生成更多样的查询,但它往往带来较多低质量的搜索,而通过提示优化生成的查询能够保持多样性和质量之间的平衡。实验结果显示,LeReT 使用的提示驱动采样方法,能够生成更多具有高奖励的查询,这对于后续的学习和优化过程至关重要。
为了验证 LeReT 的通用性,研究者们还将其应用于不同的检索系统中,包括基于 ColBERT 的 Wikipedia 专用检索系统和 Azure AI Search。这些实验结果表明,即使在不同的检索系统中,LeReT 依然能够显著提高检索的准确性和生成结果的质量。尤其是在Azure AI Search这样通用的检索系统中,LeReT通过强化学习有效适应了系统的弱点,使得整体检索效果明显改善。这一结果表明,LeReT 具备与多种不同类型检索系统协同工作的潜力。
LeReT 的提出,为如何让大语言模型生成更好的检索查询提供了一条全新的思路。通过强化学习和提示优化相结合的方法,LeReT 有效地克服了传统方法在处理多跳检索中的局限,显著提高了检索和生成的质量。然而,当前的 LeReT 仍然依赖于直接监督的奖励信号,这意味着需要事先知道检索文档的正确答案。未来的研究可以探索如何利用间接监督信号来进行检索优化,例如通过生成答案的正确性来间接评估检索质量。此外,如果能够进一步优化检索工具本身,例如通过对检索模型的优化训练,相信也能够带来更大的性能提升。
LeReT 是一种通过强化学习提高大语言模型检索能力的创新方法。它通过不断探索不同的搜索查询,并使用基于偏好的优化方法来提高模型生成查询的能力,从而有效改善了复杂问题的多跳检索能力。LeReT 不仅通过上下文蒸馏减少了对原始提示的依赖,还通过多轮迭代优化不断提升模型的性能。实验结果表明,LeReT 不仅能够提高检索的准确性,还能大幅度提高下游生成任务的质量。对于正在开发 AI 产品的 Prompt 工程师们,LeReT 提供了一种新的工具,可以让大语言模型更加智能、高效地获取外部信息,进而生成更准确的回答。这种结合了强化学习与检索优化的新方式,预示着未来智能系统在理解和回答复杂问题上的巨大潜力。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-11-05
15种典型RAG框架:卡内基梅隆大学最新RAG综述
2024-11-05
Claude发布新的RAG方法 --- 通过上下文嵌入与BM25结合显著降低数据块检索失败率
2024-11-05
【大模型】深度解析:智能体如何突破 RAG 的三大技术瓶颈
2024-11-05
RAG 系统的分块难题:小型语言模型如何找到最佳断点?
2024-11-05
Adaptive-RAG:通过问题复杂性学习自适应检索增强LLM
2024-11-05
打造自己的RAG解析大模型:Labelme版面标注并顺利完成训练
2024-11-04
实操|如何优雅的实现RAG与GraphRAG应用中的知识文档增量更新?
2024-11-04
RAG(检索增强生成)在多轮对话场景中的应用
2024-07-18
2024-07-09
2024-07-09
2024-05-19
2024-05-05
2024-07-07
2024-07-07
2024-06-20
2024-07-08
2024-07-09
2024-11-05
2024-11-04
2024-10-27
2024-10-25
2024-10-21
2024-10-21
2024-10-15
2024-10-15