许可证:CC BY 4.0
arXiv:2404.08865v1 [cs.CL] 2024 年 4 月 13 日

大语言模型语境回忆是提示相关的

Daniel Machlab VMware NLP Lab daniel.machlab@broadcom.com and Rick Battle VMware NLP Lab rick.battle@broadcom.com
摘要。

大型语言模型(大语言模型)的激增凸显了进行彻底评估以辨别其比较优势、局限性和最佳用例的至关重要性。 尤其重要的是评估他们准确检索给定提示中包含的信息的能力。 模型执行此操作的能力会显着影响其利用上下文细节的效率,从而影响其在实际应用中的实际功效和可靠性。

我们的研究使用大海捞针的方法分析了各种大语言模型的上下文回忆性能。 在这种方法中,事实陈述(“针”)被嵌入到填充文本块(“干草堆”)中,要求模型检索该填充文本。 我们评估每个模型在不同的干草堆长度和不同的针位置上的召回性能,以识别性能模式。 这项研究表明,大语言模型的回忆能力不仅取决于提示的内容,还可能受到训练数据偏差的影响。 相反,调整模型架构、训练策略或微调可以提高性能。 我们的分析提供了对大语言模型行为的洞察,为开发更有效的大语言模型应用提供了方向。

conference: Arxiv; April 2024; Preprintbooktitle: Arxiv, April 2024, Preprintprice: 25.00isbn: Arxiv ’24copyright: none

1. 介绍

大型语言模型(大语言模型)的出现彻底改变了自然语言处理(NLP)领域,为文本生成和机器翻译等各种应用带来了显着的进步。 这些模型的一项重要功能是从输入的文本中检索和处理信息,以提供上下文有价值的响应。 此过程受到模型上下文窗口大小的显着影响,其中较大的上下文窗口使模型能够在推理时处理更多信息。 这对于需要深入理解冗长文本、保持扩展对话的一致性以及跨来源集成信息的任务至关重要。

作为这些优势的反映,大语言模型的最新进展呈现出增加上下文窗口大小的趋势。 例如,Llama 2 及其同时代产品使用 4,096 个 Token 的上下文窗口运行,而 GPT-4 Turbo 处理 128,000 个 Token 的上下文窗口,而 Gemini 1.5 将其扩展到令人印象深刻的 1000 万个 Token (Reid 等人,2024) 然而,为了实现长上下文窗口的好处,大语言模型必须能够可靠地从中调用信息。

Model Name Context Window Size
Llama 2 13B Chat 4,096 Tokens
Llama 2 70B Chat 4,096 Tokens
WizardLM 70B 4,096 Tokens
GPT-3.5-Turbo-1106 16,385 Tokens
GPT-3.5-Turbo-0125 16,385 Tokens
Mistral 7B Instruct v0.1 32,768 Tokens
Mistral 7B Instruct v0.2 32,768 Tokens
Mixtral 8x7B Instruct v0.1 32,768 Tokens
GPT-4 Turbo 0125 128,000 Tokens
表 1 作为我们研究的一部分,大语言模型通过大海捞针测试进行了评估。

这项研究使用大海捞针方法探索了九个模型的召回性能(Kamradt,2023) 本工作涵盖的大语言模型(在表 1 中列出)之所以被选中,是因为它们在当前研究中的突出地位、上下文窗口大小的变化以及可用性。 我们研究了干草堆长度和针放置位置(无论是在文本的开头、中间还是结尾)的影响,以识别记忆能力的模式。

对我们研究中提出的测试的分析表明,大语言模型的回忆性能是提示相关的。 因此,通过大海捞针测试测量的召回率并不总是代表模型检索信息的整体能力。 此外,当提示包含与训练数据不同的信息时,回忆性能可能会下降,而模型架构、训练策略或微调的差异可以提高模型回忆信息的能力。

我们的研究结果强调需要评估大语言模型的细微差别并比较它们的相对优势和劣势,以便为特定用例选择模型提供信息。 这项工作中提出的观察结果可用于优化大语言模型在实际解决方案中的应用。

Test Name Factoid Question

PistachioAI

PistachioAI received a patent before its Series A

What did PistachioAI receive before its Series A?

San Francisco

The best thing to do in San Francisco is eat a sandwich and sit in Dolores Park on a sunny day.

What is the best thing to do in San Francisco?

Thornfield Hollow

The best thing to do in Thornfield Hollow is eat a sandwich and sit in Harmony Glen Nature Preserve on a sunny day.

What is the best thing to do in Thornfield Hollow?

表 2 大海捞针测试中使用事实和问题对来评估大语言模型的回忆性能。

2. 相关工作

随着大语言模型种类的增加111在撰写本文时,Hugging Face 上有超过 76,000 个文本生成模型:https://huggingface.co/models?pipeline_tag=text-一代,评估它们的能力对于为给定用例选择哪个至关重要。 为了满足这一需求,引入了许多新的工具和方法,包括基准排行榜(Beeching等人,2023)、评估软件(Gao等人,2021)和新的评估方法(LangChain,2024)

传统上,自然语言处理中的“召回”概念用作信息检索(IR)系统的度量,评估其从给定搜索查询的语料库中检索相关信息的能力。 然而,在大语言模型评估领域,“召回率”是用于评估模型从不同位置的提示中检索事实的能力的指标(Reid等人,2024),并且可以通过大海捞针法测量(Kamradt,2023) 此前,召回率是使用单针进行评估的。 在我们的研究中,我们扩展了这种评估方法来评估大语言模型的选择并比较各种“针”的性能。我们强调模型之间的性能差异,并分析提示内容、模型架构、训练策略和微调的变化如何影响召回。

在应用大海捞针法时,必须对大语言模型的开放式回答进行评分。 虽然这可以由人类完成,但这将是耗时且昂贵的(Zhu 等人,2023) 在我们的研究中,我们对 9 个模型(表 1)进行了 3 个大海捞针测试(表 2),需要按照以下标准对 31,275 个响应进行评分表4 与之前的工作(Peng等人,2023)相一致,我们使用GPT-4 Turbo作为法官(参见第5节)来减少对回复进行评分的时间和金钱成本。

3. 方法

Refer to caption

Refer to caption

Refer to caption
图 1 当针与旧金山测试(上)中的训练数据发生冲突时,GPT-4 Turbo 在大海捞针测试中的表现较差,而在 Thornfield Hollow(中)和 PistachioAI 测试(下)中则表现更差。

通过大海捞针测试来评估模型的召回性能需要将一根针插入填充文本的大海捞针中(Paul Graham Essays222https://paulgraham.com/articles.html),指示模型收回针头,并评估模型的响应。 对于每次测试,大海捞针长度和针插入位置都会有所不同,以分析模型召回能力的稳健性并揭示模型上下文窗口中的性能模式。 随后,计算召回指标,并生成热图以方便对结果进行可视化分析。

3.1. 干草堆建造

干草堆构造中的两个主要变量是(1)其长度和(2)针的位置。 干草堆的长度是通过通过相应模型的标记生成器时创建的标记数量来衡量的。 针的位置通过其在干草堆中的深度来测量,以百分比表示,其中 0% 和 100% 代表干草堆的开始和结束。

改变干草堆长度使我们能够分析在召回性能下降之前可以填充大语言模型的上下文窗口的多少。 在这个测试中,我们按照线性分布改变干草堆长度,以在整个上下文窗口的长度上均匀地评估大语言模型的召回能力。

通过改变干草堆中事实的插入位置,我们可以分析大语言模型在提示内不同位置检索内容的能力。 我们按照 S 型分布改变插入位置,以研究提示 开头和结尾附近更细致的召回性能(Liu 等人,2023)

在每次测试中,除了 GPT-4 Turbo 之外,模型都在 35 个干草堆长度和 35 个事实放置位置进行测试。 GPT-4 在 25 个长度和位置进行了测试(以控制成本)。

为了保持文本的自然流畅,我们调整了干草堆的长度和事实陈述的位置,以与断句相一致。 如果不加修改地应用由线性和 S 形分布给出的干草堆长度和针深度的精确词符计数,会导致事实陈述被笨拙地插入句子中,并且填充文本突然结束,这不代表典型的大语言模型用法。

3.2. 提示结构

大海捞针提示由三个部分组成:

  1. (1)

    系统消息

  2. (2)

    嵌入针的干草堆(事实)

  3. (3)

    要求模型回忆针的问题

系统消息“您是一位有用的人工智能助手,仅使用提供的信息回答问题。”在所有测试中都是一致的。 干草堆是按照3.1节中的程序构建的。 该问题的措辞允许从文本中近乎简单地提取事实(参见表2)。

为了测试不同提示下的回忆一致性,使用了三种不同的大海捞针测试:PistachioAI、San Francisco 和 Thornfiled Hollow(参见表 2)。 3 中提供了 PistachioAI 测试的示例提示和成功响应。 有关使用的提示模板,请参阅附录A

You are a helpful AI assistant that answers a question using only the provided information.

[…] not just because he was excited about his story, but because he’d discovered this way of working. PistachioAI received a patent before its Series A. Working on a project of your own is as different from ordinary work as skating is from walking […]

What did PistachioAI receive before its Series A?

PistachioAI received a patent before its Series A.

表 3 PistachioAI 大海捞针测试的提示示例(顶部)和成功回忆响应(底部)。

3.3. 评估

对于测试中的每个干草堆长度和针位置组合,根据表 4 中的标准对回忆性能进行 1-5 级评分。 继之前的工作(Kamradt,2023)之后,我们使用 GPT-4 Turbo 进行这些(32k)评估。 大语言模型的答案与插入的事实越一致和集中,得分就越高。 将分数绘制在热图上,并通过将评估分数的总和除以测试的可能总分数来计算每个测试的召回率(参见表5)。

Score Description
5

The answer is completely accurate and aligns perfectly with the reference.

4

The answer aligns with the reference but has minor omissions.

3

The answer has moderate relevance but contains inaccuracies.

2

The answer has minor relevance but does not align with the reference.

1

The answer is completely unrelated to the reference.

表 4 大语言模型回忆表现的评分量表和标准。

热图概述了大语言模型在所有大海捞针大小和针放置位置下的性能。 在这些热图中,x 轴表示发送到大语言模型的干草堆的大小,y 轴表示针在干草堆中放置的深度。 热图上每个单元格的颜色对应于召回分数。

4. 讨论

我们分析了即时变化、训练数据、模型架构、训练策略和微调如何影响大语言模型的召回性能。 所有九个模型(参见表1)在所有三项测试(参见表2)上的召回性能比较(参见表5)表明:改变提示中的单个句子填充整个上下文窗口可以改变大语言模型准确回忆嵌入针的能力(第4.1节)。 旧金山和 Thornfield Hollow 测试结果的比较表明,当模型的训练数据与提示中的信息冲突时,召回率会受到影响(第 4.2 节)。 比较 Llama 2 13B 和 Llama 2 70B 的分数表明,增加参数数量可以增强模型的召回能力(第 4.3 节)。 对 Mistral 的分析表明,改变模型的架构和训练策略,同时保持参数数量不变,可以提高召回率性能(4.4 节)。 WizardLM 和 GPT-3.5 Turbo 结果表明,微调是增强模型召回能力的补充策略(第 4.5 节)。

4.1. 回忆性能取决于提示

Model Name Number of Tests Thornfield Hollow San Francisco PistachioAI
Llama 2 13B Chat 1225 94.09% 97.42% 99.87%
Llama 2 70B Chat 1225 99.43% 99.80% 99.97%
WizardLM-70B-V1.0 1225 99.79% 99.80% 100.00%
GPT-3.5 Turbo 1106 1225 99.79% 98.89% 99.93%
GPT-3.5 Turbo 0125 1225 100.00% 99.36% 100.00%
Mistral 7B Instruct v0.1 1225 40.93% 44.10% 43.59%
Mistral 7B Instruct v0.2 1225 94.78% 90.50% 98.32%
Mixtral 8x7B Instruct v0.1 1225 96.72% 98.82% 99.79%
GPT-4 Turbo 0125 625 93.70% 68.22% 100.00%
表 5 回忆一下每个大语言模型在三项大海捞针测试中的得分。 召回率是通过将模型在每个干草堆长度和针放置组合处的分数除以总可能分数来计算的。 该模型在每次测试中最多可获得 5 分。 因此,在 1,225 次测试中,Llama 2 13B 的得分高达 6,125 分。

在我们研究的所有九个模型中,我们看到旧金山、Thornfield Hollow 和 PistachioAI 大海捞针测试结果之间的性能差异。 这种可变性凸显了对大语言模型行为的关键洞察:从上下文窗口中回忆信息的能力本质上取决于模型输入文本的性质。 因此,大语言模型的回忆能力不能通过一次测试来评估。

例如,GPT-4 Turbo 在 PistachioAI 上表现完美,回想起“PistachioAI 在其 A 系列之前获得专利”的针,在所有大海捞针尺寸和事实放置深度上(见图 1)。 而在 Thornfield Hollow 测试中,它的召回率高达 93.7%,在旧金山测试中的表现更差,为 68.2%(图 1)。 对于这种差异的进一步分析在4.2节中进行。

因此,我们注意到,即使模型能够完美召回,它也不一定在所有场景下都能实现这一点。 例如,GPT-3.5 Turbo 1106、GPT-3.5 Turbo 0125 和 WizardLM 在 PistacioAI 上也表现出色,但在其他两个大海捞针测试中结果较差。 我们观察到,性能上的这些明显差异是由于提示中的微小变化造成的。 干草堆的大部分是不变的;只是针和问题不同。

4.2. 当提示与训练数据冲突时

当提示包含与其训练数据中可能包含的信息冲突或不同的信息时,大语言模型的回忆性能就会下降。 通过比较旧金山和桑菲尔德霍洛测试可以说明这一点。 这两个测试的结构相同,但旧金山测试使用带有我们分析中模型识别的实体的针——“旧金山”和“多洛雷斯公园”——而桑菲尔德空心测试使用虚构的等效物——“桑菲尔德空心”和“Harmony Glen 自然保护区”(见表2)。

仅在旧金山测试中出现的错误是由于大语言模型除了“在阳光明媚的日子在多洛雷斯公园吃三明治”之外还给出了在旧金山可以做的事情的建议。该模型没有遵循“仅使用提供的信息”的指令,而是求助于它可能训练过的信息,例如 GPT-4 Turbo 的以下响应:

在旧金山最好的事情就是探索其多元化的社区、标志性地标和美丽的自然风光。 强烈推荐参观金门大桥、漫步渔人码头、探索充满活力的教会区以及欣赏双子峰的美景。 此外,乘坐渡轮前往恶魔岛、漫步唐人街的历史街道、在金门公园消磨时光,都是体验旧金山独特文化和美景的好方法。

相反,模型在 Thornfield Hollow 测试中不会犯此错误,因为它们的训练数据可能与提示中虚构的实体不冲突。

GPT-4 Turbo 召回分数最明显地体现了这种效果。 在旧金山测试中,随着干草堆长度增加到超过 32k 个标记,GPT-4 Turbo 召回失败在除文档的最顶部和底部之外的所有事实放置级别上都增加,得分为 68.2%。 相比之下,Thornfiled Hollow 测试在相同的干草堆长度和深度下仅出现分散的召回错误,得分为 93.7%(见图1)。

此外,GPT-3.5 Turbo 1106、GPT-3.5 Turbo 0125、Mistral v0.1 和 Mistral v0.2 在 Thornfield Hollow 测试中都表现更好,这与它们的训练数据没有差异。 Llama 2 70B、WizardLM 和 Mixtral 在两项测试中的表现大致相当。 此模式的例外是 Llama 2 13B,它在旧金山测试中表现更好。

由于模型偏向训练数据而导致召回率下降,这引发了人们对大语言模型对其训练数据集的依赖以及区分先前学习的信息和新的、可能存在冲突的输入的能力的质疑。 它提出了通过训练模型来提高大语言模型鲁棒性的潜在领域,以更好地处理冲突或新颖的信息。

4.3. 更多参数,更好回忆

Refer to caption

Refer to caption
图 2 Llama 2 70B(下)的参数增加了 5.3 倍,在上下文事实回忆中的表现优于 Llama 2 13B(上)。

由于 Llama 2 13B 和 Llama 2 70B 具有相同的上下文窗口长度,因此直接比较两者可以让我们研究召回率与模型大小的函数关系。

Llama 2 13B 在 haystack 长度小于 500 个 token 的情况下具有完美的召回率。 随着 haystack 长度从 500 个 Token 增加到 4k 个 Token ,召回率会下降。 Llama 2 13B 与较短文档上的轻微召回错误导致 4/5 不同,Llama 2 13B 在较长文档上更频繁地得分 1/5。 这些较低的分数是由于回复要么与针完全无关,要么声称在提供的文本中“没有提到桑菲尔德霍洛”或“没有提到旧金山”。

Llama 2 70B 的参数数量是 Llama 2 13B 的 5 倍以上,具有增强的召回能力,在 Thornfield Hollow 上得分为 99.4%,而 Llama 2 13B 为 94.1%。 在它所犯的少数召回错误中,Llama 2 70B 的召回弱点通常发生在针插入大海捞针深度在 10% 到 90% 之间的位置(见图2)。

较大模型在需要深度回忆能力的任务上的强劲表现表明模型大小和回忆功效之间存在直接相关性。 然而,这也凸显了超过一定模型大小后,召回率性能改进的回报递减,这表明未来的研究可以探索更有效的方法来增强召回率,而无需呈指数级增加参数数量。

4.4. 架构和训练策略

对 Mistral v0.1 和 v0.2 的分析表明,调整模型架构和训练策略可以提高召回性能,同时保持相同的参数数量。

Refer to caption

Refer to caption

Refer to caption
图 3 Mistral v0.1(上)在召回性能方面落后于 Mistral v0.2(中)和 Mixtral(下)。

Mistral v0.1 是一个 7B 参数指令调整模型,具有 32k 词符上下文窗口——我们研究中参数数量与上下文窗口大小的最小比率。 与 Llama 2 13B 相比,它的参数减少了 46%,但必须处理八倍大的上下文窗口。 Mistral 7B 论文指出,“Mistral 7B 在所有测试基准中均优于 [Llama 2 13B]”(Jiang 等人,2023);然而,在我们分析的所有三个测试中,Mistral v0.1 是表现最差的大语言模型。 特别是,其在 Thornfield Hollow 测试中的 40.9% 召回率(如图 3 所示)与 Llama 2 13B 的 94.1% 召回率(如图 2 所示)形成鲜明对比。 检查其热图表明,它无法可靠地处理超过 1k 个 Token 的干草堆中的文本(参见图 3)。

Mistral 的第二个版本 Mistral v0.2 具有与原始模型相同的参数数量,但其基础模型受益于不同的架构和训练策略。 Mistral v0.2 的基础模型使用 32k 个 token 而不是 8k 个 token 的上下文窗口进行训练,rope-theta 超参数更改为 1e6,并且不使用滑动窗口注意机制(Mistral AI Team,2023) 这三项调整增强了其召回能力,在 Thornfield Hollow 测试中召回率达到 94.8%(见图3),使其在不增加模型尺寸的情况下与 Llama 2 13B 相当。 这些调整提高了 Mistral 处理和保留提示信息的能力,特别是那些超过 1k Token 的信息。 尚未对 Mistral v0.2 基础模型所做的每项更改进行消融研究,因此我们只能推测其新架构和训练策略中的每项差异如何提高召回率。

Mixtral 对该模型系列进行了进一步改进,这是一种 8x7B 稀疏专家混合模型,在推理过程中使用 13B 个参数(Jiang 等人,2024) 根据热图的比较,Mistral v0.2 中看到的相同改进似乎也被用在 Mixtral 中(参见图 3)。 Mixtral 还受益于更高的参数数量,正如 4.3 节中所讨论的,这有望提高召回率。 这两个因素都反映在 Mixtral 96.7% 的召回率中。

4.5. 微调和召回

增加模型的大小(第4.3节)、调整其架构以及改变其训练策略(第4.4节)都可以提高召回率性能。 WizardLM 与 Llama 2 70B 的比较以及 GPT-3.5 Turbo 0125 与 GPT-3.5 Turbo 1106 的比较表明,微调模型是实现此优势的另一种方法。

4.5.1. WizardLM

在所有三项大海捞针测试中,WizardLM 的表现均优于 Llama 2 70B。 鉴于 WizardLM 是 Llama 2 70B 的指令微调版本,我们可以将其性能提升归功于此过程。 有关 WizardLM 在 Thornfield Hollow 测试中的性能,请参阅附录 D.1;有关 Llama 2 70B 的性能,请参阅图 2 这些热图显示了 WizardLM 相对于其基本模型改进的召回能力,展示了微调的影响。

4.5.2. GPT-3.5 Turbo

我们从 OpenAI 博客中推断,GPT-3.5 Turbo 1106 和 GPT-3.5 Turbo 0125 之间的区别在于更新的微调策略(OpenAI,2024) 我们可以将较新的 GPT-3.5 Turbo 0125 在所有三项测试中所表现出的轻微性能改进归功于此过程(请参阅附录部分 D.1D.2D.3)。

5. 评分异常

在根据表 4 中的标准手动检查 GPT-4 Turbo 指定的召回分数时,我们注意到在极少数情况下存在评分异常。 由于保罗·格雷厄姆论文中大海捞针的特殊位置,用于测试回忆的提示的含义发生了变化。 结果,被测试的大语言模型生成的响应是有意义的,但评分方法给了响应低分。

例如,对于以下响应,Llama 2 13B 在干草堆大小 1922、深度 11.3% 时得到的分数为 3/5:

根据文中提供的信息,在旧金山最好的事情就是在阳光明媚的日子吃一个三明治并坐在多洛雷斯公园,因为这是文中提出的建议。 之所以推荐这个,是因为OS X是Apple设计的操作系统,设计精美,并且可以在Powerbook上运行。

乍一看,这似乎是不准确的推理,没有现实依据。 然而,检查模型给出的提示的摘录会发现事实并非如此。

您是一位有用的人工智能助手,仅使用所提供的信息来回答问题 [...] 20 世纪 90 年代。 他们是你能找到的最硬核的操作系统黑客。 在旧金山最好的事情就是在阳光明媚的日子坐在多洛雷斯公园吃一个三明治。 原因当然是 OS X。 Powerbook 设计精美并运行 FreeBSD [...]

提示似乎告诉模型有关针的上下文信息。 当模型重复返回时,它被评分为不正确的响应。 这是一个示例,说明干草堆如何包含与正在测试的内容无关的工件。 此外,这凸显了评估大语言模型响应的复杂性是如何难以管理的。

6. 结论

大语言模型从提示中回忆信息的能力会影响其生成精确且相关的答案或在现实应用中提供有意义的交互的有效性。 通过多次大海捞针测试,我们观察了各种大语言模型在不同的大海捞针长度和放置深度下回忆事实的能力。 我们的研究结果表明,提示中的微小变化可能会显着影响模型的召回性能。 此外,我们还表明,训练提示内容和模型数据之间的相互作用可能会导致响应质量下降。 此外,我们观察了增加参数数量、改变模型的注意力机制、使用不同的训练策略以及应用微调如何增强模型的召回能力,提高其实用性。

我们的结果还强调了了解单个大语言模型行为差异的重要性,以了解其优势、劣势和最佳应用。 上下文回忆只是评估和理解大语言模型优缺点的指标之一。 持续的评估将进一步为各个用例选择大语言模型提供信息,随着技术的不断发展,最大限度地提高其在实际应用中的影响和效率。

7. 致谢

我们要感谢整个 VMware NLP 实验室和 AI 平台团队对这项工作的支持,感谢 Ramesh Radhakrishnan 审阅本文,并感谢 Darien Schettler 的建议和指导。

参考

  • (1)
  • Beeching et al. (2023) Edward Beeching, Clémentine Fourrier, Nathan Habib, Sheon Han, Nathan Lambert, Nazneen Rajani, Omar Sanseviero, Lewis Tunstall, and Thomas Wolf. 2023. Open LLM Leaderboard. https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard.
  • Gao et al. (2021) Leo Gao, Jonathan Tow, Stella Biderman, Sid Black, Anthony DiPofi, Charles Foster, Laurence Golding, Jeffrey Hsu, Kyle McDonell, Niklas Muennighoff, Jason Phang, Laria Reynolds, Eric Tang, Anish Thite, Ben Wang, Kevin Wang, and Andy Zou. 2021. A framework for few-shot language model evaluation. https://doi.org/10.5281/zenodo.5371628
  • Jiang et al. (2023) Albert Q. Jiang, Alexandre Sablayrolles, Arthur Mensch, Chris Bamford, Devendra Singh Chaplot, Diego de las Casas, Florian Bressand, Gianna Lengyel, Guillaume Lample, Lucile Saulnier, Lélio Renard Lavaud, Marie-Anne Lachaux, Pierre Stock, Teven Le Scao, Thibaut Lavril, Thomas Wang, Timothée Lacroix, and William El Sayed. 2023. Mistral 7B. arXiv:2310.06825 [cs.CL]
  • Jiang et al. (2024) Albert Q. Jiang, Alexandre Sablayrolles, Antoine Roux, Arthur Mensch, Blanche Savary, Chris Bamford, Devendra Singh Chaplot, Diego de las Casas, Emma Bou Hanna, Florian Bressand, Gianna Lengyel, Guillaume Bour, Guillaume Lample, Lélio Renard Lavaud, Lucile Saulnier, Marie-Anne Lachaux, Pierre Stock, Sandeep Subramanian, Sophia Yang, Szymon Antoniak, Teven Le Scao, Théophile Gervet, Thibaut Lavril, Thomas Wang, Timothée Lacroix, and William El Sayed. 2024. Mixtral of Experts. arXiv:2401.04088 [cs.LG]
  • Kamradt (2023) Greg Kamradt. 2023. Pressure Testing GPT-4-128K With Long Context Recall. Tweet. https://twitter.com/GregKamradt/status/1722386725635580292?s=20 Summary of findings from a ”needle in a haystack” analysis testing GPT-4’s recall performance with varying context lengths and document depths. The tweet includes an overview of the methodology, key findings, and notes on the implications and future steps..
  • LangChain ([n. d.]) LangChain. [n. d.]. String Evaluation Guide. https://python.langchain.com/docs/guides/evaluation/string/. Accessed: [2024-04-03].
  • LangChain (2024) LangChain. 2024. Multi Needle in a Haystack. https://blog.langchain.dev/multi-needle-in-a-haystack/. Accessed: 2024-03-15.
  • Liu et al. (2023) Nelson F. Liu, Kevin Lin, John Hewitt, Ashwin Paranjape, Michele Bevilacqua, Fabio Petroni, and Percy Liang. 2023. Lost in the Middle: How Language Models Use Long Contexts. arXiv:2307.03172 [cs.CL]
  • Mistral AI Team (2023) Mistral AI Team. 2023. Mistral-7B-Instruct-v0.2. https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.2. Accessed: 2024-03-21.
  • OpenAI (2024) OpenAI. 2024. New Embedding Models and API Updates. https://openai.com/blog/new-embedding-models-and-api-updates. Accessed: 2024-03-01.
  • Peng et al. (2023) Baolin Peng, Chunyuan Li, Pengcheng He, Michel Galley, and Jianfeng Gao. 2023. Instruction Tuning with GPT-4. arXiv:2304.03277 [cs.CL]
  • Reid et al. (2024) Machel Reid, Nikolay Savinov, Denis Teplyashin, Dmitry Lepikhin, and Timothy Lillicrap et al. 2024. Gemini 1.5: Unlocking multimodal understanding across millions of tokens of context. arXiv:2403.05530 [cs.CL]
  • Zhu et al. (2023) Lianghui Zhu, Xinggang Wang, and Xinlong Wang. 2023. JudgeLM: Fine-tuned Large Language Models are Scalable Judges. arXiv:2310.17631 [cs.CL]

附录A提示模板

某些模型(例如 Llama 和 Mistral)期望使用特定标签来格式化提示(请参阅表 A)。 Llama 2 13B、Llama 2 70B 和 WizardLM 使用 Llama 模板。 Mistral v0.1、Mistral v0.2 和 Mixtral 使用 Mistral 模板。 GPT-4 Turbo 0125、GPT-3.5 Turbo 0125 和 GPT-3.5 Turbo 1106 使用 OpenAI 模板,该模板不使用任何特定标签来格式化输入。

Model Name Prompt Format
Llama Template <s><<SYS>>
{system_message}
<</SYS>>
{document}
[INST]{question}[/INST]
Mistral Template [INST]
{system_message}
{document}
{question}
[/INST]
OpenAI Template {system_message}
{document}
{question}
表 6 提示模板。

附录B提示示例

7显示了PistachioAI大海捞针测试中使用的提示示例,该测试应用了附录A中所示的提示模板。

Model Name

Prompt Format

Llama Prompt

<s><<SYS>>You are a helpful AI assistant that answers a question using only the provided information.<<SYS>>

A Project of One’s Own June 2021 A few days ago, on the way home from school, my nine-year-old son told me he couldn’t wait to get home to write more of the story he was working on. The best thing to do in San Francisco is eat a sandwich and sit in Dolores Park on a sunny day. This made me as happy as anything I’ve heard him say — not just because he was excited about his story, but because he’d discovered this way of working.

[INST]What is the best thing to do in San Francisco?[\INST]

Mistral Prompt

[INST]You are a helpful AI assistant that answers a question using only the provided information.

A Project of One’s Own June 2021 A few days ago, on the way home from school, my nine-year-old son told me he couldn’t wait to get home to write more of the story he was working on. The best thing to do in San Francisco is eat a sandwich and sit in Dolores Park on a sunny day. This made me as happy as anything I’ve heard him say — not just because he was excited about his story, but because he’d discovered this way of working.

What is the best thing to do in San Francisco?[\INST]

OpenAI Prompt

You are a helpful AI assistant that answers a question using only the provided information.

A Project of One’s Own June 2021 A few days ago, on the way home from school, my nine-year-old son told me he couldn’t wait to get home to write more of the story he was working on. The best thing to do in San Francisco is eat a sandwich and sit in Dolores Park on a sunny day. This made me as happy as anything I’ve heard him say — not just because he was excited about his story, but because he’d discovered this way of working.

What is the best thing to do in San Francisco?

表 7 使用每个提示模板进行 PistachioAI 大海捞针测试的示例提示。

附录C判断提示

我们通过使用 GPT-4 和 LangChain 评估 (LangChain,[n. d.]) 评估其响应来对大语言模型的召回率进行评分,如 3.3 节中所述。 以下是用于对示例响应进行评分的提示示例。

系统消息:

You are a helpful assistant.

用户留言:

[Instruction]
Please act as an impartial judge and evaluate the quality of the response provided by an AI
assistant to the user question displayed below. For this evaluation, you should primarily
consider the following criteria:

accuracy:
        Score 1: The answer is completely unrelated to the reference.
        Score 2: The answer has minor relevance but does not align with the reference.
        Score 3: The answer has moderate relevance but contains inaccuracies.
        Score 4: The answer aligns with the reference but has minor omissions.
        Score 5: The answer is completely accurate and aligns perfectly with the reference.
        Only respond with a numerical score
[Ground truth]
The best thing to do in San Francisco is eat a sandwich and sit in Dolores Park on a sunny day.
Begin your evaluation by providing a short explanation. Be as objective as possible. After
providing your explanation, you must rate the response on a scale of 1 to 5 by strictly
following this format: "[[rating]]", for example: "Rating: [[5]]".

[Question]
What is the best thing to do in San Francisco?

[The Start of Assistant’s Answer]
Based on the provided information, the best thing to do in San Francisco is to eat a sandwich
and sit in Dolores Park on a sunny day.
[The End of Assistant’s Answer]

附录 D 热图

D.1。 桑菲尔德空心热图

大语言模型在Thornfield Hollow大海捞针测试中的表现。

[Uncaptioned image]
[Uncaptioned image]
[Uncaptioned image]
[Uncaptioned image]
[Uncaptioned image]
[Uncaptioned image]
[Uncaptioned image]
[Uncaptioned image]
[Uncaptioned image]

D.2。 旧金山热图

大语言模型在旧金山大海捞针测试中的表现。

[Uncaptioned image]
[Uncaptioned image]
[Uncaptioned image]
[Uncaptioned image]
[Uncaptioned image]
[Uncaptioned image]
[Uncaptioned image]
[Uncaptioned image]
[Uncaptioned image]

D.3。 PistachioAI 热图

大语言模型在 PistachioAI 大海捞针测试中的表现。

[Uncaptioned image]
[Uncaptioned image]
[Uncaptioned image]
[Uncaptioned image]
[Uncaptioned image]
[Uncaptioned image]
[Uncaptioned image]
[Uncaptioned image]
[Uncaptioned image]