介绍
在LLM的动态领域中,有两种方法引起了人们的关注,并似乎正在占据主导地位:扩大大型语言模型(LLM)的上下文窗口,并通过检索能力增强这些模型。GPU技术的持续发展,加上注意机制的突破,催生了长上下文LLM。同时,检索的概念——即LLM仅从独立的检索器中获取最相关的上下文——承诺在效率和速度上带来一场革命。
在这些不断演变的叙述中,出现了一些有趣的问题:
1. 检索增强与长上下文窗口,哪个对下游任务更好?
2. 这两种方法可以结合起来,兼收并蓄吗?
为了剖析这些问题,在这篇博客文章中,我们转向NVIDIA最近的研究[1],利用了两个强大的LLM:专有的GPT-43B和LLaMA2-70B,该研究旨在为AI从业者提供可操作的见解。
先前的研究和NVIDIA的分歧:
有趣的是,尽管NVIDIA的发现在许多方面都很有趣,但白等人(2023年)最近的一项研究[2]也涉足了类似的领域,尽管结果有所不同。
他们的工作探讨了检索对长篇背景语言模型(LLMs)的影响,评估了诸如GPT-3.5-Turbo-16k和Llama2–7B-chat-4k等模型。然而,他们的研究结果与NVIDIA的研究在关键方面存在分歧。白等人发现,检索仅对具有4K上下文窗口的Llama2–7B-chat-4k模型有益,而对于像GPT-3.5-Turbo-16k这样的扩展上下文模型则没有益处。对于这种差异,有一种假设是与使用黑盒API进行实验以及使用较小的白盒LLMs有关,这些模型可能在整合检索上下文方面的能力有限。
NVIDIA的工作通过利用更大的LLM,取得了与顶级模型如ChatGPT-3.5相匹配甚至表明进一步增强的结果。
模型、数据集和评估指标
大型语言模型(LLMs)的探索:
研究人员深入探讨了大型语言模型在生成式问答和摘要等任务中的潜力。具体而言,两个模型成为主要关注的对象:
- Nemo GPT-43B:一种专有的模型,参数量达到了430亿,训练时使用了1100T个标记,其中70%为英文。该模型摄取了丰富的网络档案、维基百科、Reddit、图书等内容。它包含48层,并使用RoPE嵌入进行训练。
- LLaMA2–70B:一个公开可用的70B参数模型,训练数据包含20万亿个标记,主要为英文。它由80层结构组成,并且还使用了RoPE嵌入。
上下文窗口扩展:
为了增强模型处理更长上下文的能力,它们的初始4K上下文窗口长度被增加了。GPT-43B被修改为处理16K,而LLaMA2-70B则扩展到16K和32K,采用了位置插值方法。
指令调优:
为了优化LLMs以适应当前的任务,我们进行了指导调整。我们创建了一个多样化的数据集混合,包括Soda、ELI5、FLAN等来源。我们采用了一致的格式模板进行多轮对话训练,并对模型进行了精细调整,以突出答案部分。
测试的检索模型:
进行了三个检索系统的测试:
1. Dragon:一种先进的双编码器模型,可用于监督式和零样本信息检索。
2. Contriever:利用基本的对比学习框架,无监督运行。
3. OpenAI嵌入:使用了最新版本,最大输入为8,191个标记。
检索方法包括将每个文档分割成300字的部分,对问题和这些片段进行编码,然后合并最相关的片段以生成回答。
用于评估的数据集:
该研究使用了来自Scroll基准和LongBench的七个多样化的数据集。
这些数据集的快照包括:
1. QMSum:一个基于查询的摘要数据集,QMSum包含了来自不同会议的记录和相应的摘要,基于上下文查询构建。
2. Qasper:一个以自然语言处理论文为中心的问答数据集,Qasper提供了来自Semantic Scholar开放研究语料库的抽象、提取、是/否和无法回答的问题的混合。
3. NarrativeQA:旨在通过整本书籍和电影剧本进行问答,NarrativeQA提供了从这些详细来源的摘要中创建的问题和答案对。
4. QuALITY:QuALITY是一个基于故事和文章的多项选择题答题集,强调全面阅读,其中一半的问题设计得具有挑战性,需要仔细思考。
5. MuSiQue:专为多跳推理的问答设计,从单跳问题中生成多跳问题,强调连贯推理,最小化捷径。
6. HotpotQA:根据维基百科,HotpotQA需要阅读多个支持文档进行推理。它包含多样化的问题,并为答案提供句子级别的支持。
7. MultiFieldQA-zh: MFQA旨在测试跨领域的长篇文本理解能力,使用法律文件和学术论文等来源,并由博士生进行注释。
评估指标:
研究团队针对每个数据集使用了各种适合的度量标准。QM的ROUGE分数的几何平均值,QLTY的精确匹配(EM)分数以及其他指标的F1分数是主要的度量标准。
结果
- 没有检索的基准模型,由于有4K的序列长度,表现不佳,因为有价值的文本被截断了。
- 通过检索,像LLaMA2–70B-4K和GPT-43B-4K这样的4K型号的性能显著提高。
- HotpotQA是一个多跳数据集,特别适合使用较长的序列模型。
- 即使给予相同的证据块,具有更长上下文(16K、32K)的模型也能胜过其4K对应物。
- 由于 lost in the middle 现象,LLM存在着独特的“U型”性能曲线,使其在利用输入开头或结尾的信息方面更加出色。
- 这项研究提出了与LongBench的发现相对立的观点,强调检索对模型有益,无论其上下文窗口大小如何。
与OpenAI模型相比
LLaMA2–70B-32k模型在检索方面超越了GPT-3.5-turbo变体的性能,并与Davinci-003相媲美,突显了其在处理长篇任务方面的稳健性。
不同品种的检索系统比较:
- 检索始终能够提升不同检索器的性能。
- 公共的检索器表现优于像OpenAI嵌入式检索器这样的专有检索器。
与检索到的块的数量相比:
- 通过检索前5或10个块可以获得最佳性能。检索更多块,最多20个,不会带来额外的好处,甚至可能降低性能。
- 当添加更多的块时,性能的恶化可能是由于 lost-in-the-middle 现象或模型被非相关信息分散注意力所致。
结论
当我们深入研究检索增强和长上下文扩展在应用于针对长上下文问答和摘要任务进行微调的领先语言模型时,有一些需要注意的事项:
1. 通过检索提升性能:实施检索技术显著提升了短4K上下文语言模型和长16K/32K上下文语言模型的性能。
2. 4K模型与检索的效率:结合检索增强,4K上下文语言模型能够达到与16K长上下文模型相似的性能水平。此外,在推理过程中它们还具有更快的优势。
3. 最佳模型性能:在增强了上下文窗口扩展和检索增强之后,出色的模型LLaMA2–70B-32k-ret(带有检索的LLaMA2–70B-32k)超越了知名模型如GPT-3.5-turbo-16k和davinci-003。
参考文献
1. 《RETRIEVAL MEETS LONG CONTEXT LARGE LANGUAGE MODELS》
2. 《LongBench: A Bilingual, Multitask Benchmark for Long Context Understanding》
我们相信这篇关于使用长上下文LLMs进行检索增强的论文回顾的博文为您提供了有意义的见解。我们很想知道您的实验是否与我们的发现相吻合或提出了新的观点 - 不同的结果总是会引发有趣的讨论和进一步的探索。
原文见「阅读原文」。
继续阅读
阅读原文