1. 导入
大模型在上下文长度上的竞争日益激烈,圈内人士都有目共睹。但一个现实问题是:长文本处理能力究竟如何?有没有一种可靠的方法来评估它?
gkamradt开展了一项极限测试,结果令人意外——他发现大多数用户并未准确利用AI的长文本处理能力。AI真的能在长达几十万字的文本中精准定位某个关键事实吗?图中红色越深表示错误越多,结果一目了然。
gkamradt设计的这项测试在业内被称为NeedleInAHaystack,即“草垛找针”,中文常译为“大海捞针”。顾名思义,它是一种评估大模型长文本处理能力的标准化方法:将一条关键信息(针)嵌入到长篇文本提示(草垛或大海)中,然后检验模型能否准确提取该信息。
尽管该方法原理看似简单,却直击大模型能力的核心。如今,它已逐步发展成为业界公认的评估基准。
2. 大海捞针任务简述
Kamradt的具体做法是:他将隐藏的“针”分别插入到文本语料(大海)中从前至后的15个不同位置。同时,针对从1K到128K(甚至扩展到200K)等间隔分布的15种不同长度的语料,共执行了225次测试(15×15)。
整个实验的基本配置如下:
大海
YC创始人Paul Graham的218篇博客文章
针
The best thing to do in San Francisco is eat a sandwich and sit in Dolores Park on a sunny day.
在旧金山最好的事情,就是在阳光明媚的日子坐在多洛雷斯公园吃一个三明治.
提问
What is the most fun thing to do in San Francisco based on my context? Don't give information outside the document
期望的回答
The best thing to do in San Francisco is eat a sandwich and sit in Dolores Park on a sunny day.
3. 其它大海捞针方法(OpenCompass)
当然,随着研究的深入,仅靠单一的“找一根针”任务已不足以全面评估模型能力。OpenCompass在此基础上设计了一系列更细化的任务:
• 单一信息检索任务 (S-RT):衡量模型从长文本中精准提取单一关键信息的能力,重点测试其对长篇叙述中特定细节的精确回忆。这本质上就是经典的“大海捞针”设定。
• 多信息检索任务 (M-RT):考察模型能否同时从长文本中检索出多个相关信息,模拟真实场景中如查阅综合文档等复杂查询需求。
• 多信息推理任务 (M-RS):要求模型从长文本中提取并整合多个关键信息进行推理,这需要模型对各个信息片段有综合理解,而非简单罗列。
• 祖先追溯挑战 (ATC):这一任务颇具挑战性,它引入了“亲属关系针”,专门用于测试模型在真实长文本中处理多层逻辑推理的能力。在ATC中,甚至去除了无关文本(Haystack)的设定,所有文本均为关键信息。模型必须综合运用全文内容进行多层推理才能正确作答。

