牛皮吹破?大模型长输入能力不能拿来做上下文学习
夕小瑶科技说 原创
作者 | 谢年年
LLMs已经进入了长序列时代。众多的LLMs已经发布支持从32K到2M tokens的长序列窗口。
不过,面对如此庞大的输入,我们不禁要问:这些模型真的能够吃透超长文本,捕捉到其中的精华信息吗?
为了解答这一疑问,滑铁卢大学的学者们精心打造了一套名为LongICLBench的基准测试,专门用来评估LLMs在长上下文理解方面的能力。这套基准专注于极端标签分类中的长上下文学习,涵盖了六个难度不一的数据集,标签数量从28到174类不等,输入长度则从2K到50K tokens都有。它要求LLMs必须全面理解输入内容,准确识别庞大的标签空间,并作出精准预测。
先说结论。
由上图可以看到,作者评估了常见的13个长序列LLMs,LLMs在处理较不具挑战性的任务,且长度较短时,能有效利用长上下文窗口,表现相对较好。
随着难度提升,LLM在理解任务定义时遇到困难,性能大幅下降。
在最具有挑战性的Discovery数据集(174个标签)上,没有任何LLM能够理解长示例,导致准确率为零。这表明当前LLMs在处理和理解长、内容丰富的序列方面存在显著差距。
论文标题:
Long-context LLMs Struggle with Long In-context Learning
论文链接:
https://arxiv.org/pdf/2404.02060.pdf
长上下文基准
作者收集了包含从短到长的上下文长度的六个数据集,用于评估模型的长上下文学习能力。
为了保持每个数据集内的序列token长度平衡以及对长序列学习的评估目标,从所有类别中选择一部分,分别构建对应于1轮、2轮、3轮、4轮和5轮的评估集,每轮代表包含所有独特选择标签的完整示例集。从每个类别中均匀采样实例数,以减少由标签分布导致的偏差。各数据集的详细统计信息见下表:
BANKING77 :是一个包含13,083个标注样本的银行业务领域意图检测数据集,涵盖了77个意图。作者保留了所有意图类型,每个实例大约包含28个tokens。 TacRED:是一个大规模的基于新闻和网页文本的实体关系抽取数据集,共有106,264个例子,源自年度TAC知识库人口普查的语料库。每个句子仅标注一个关系,共涵盖41种关系类型,每个例子的平均长度为80个tokens。 DialogRE: 是一个基于人类标注的对话式关系抽取数据集,由《老友记》中的1788个对话组成,共有36种可能的关系类型存在于对话中的论点对之间。每个例子平均包含约226个tokens。 Discovery :是一个自动发现具有相关语用标记的句子对并精心编纂的大规模数据集,包含174个语用标记,每个标记至少有10,000个例子。每个例子平均包含约61个tokens。共有174种语用标记类型,这是最具有挑战性的任务,具有细致的标签。
模型和实验设置
在探索极端标签分类的无监督学习中,作者对一系列近期开源的约70亿参数的长序列语言模型进行了全面评估,包括Gemini和GPT-4-turbo等最先进的模型,如下表所示:
作者为每个数据集构建提示:
为了公平地评估开源模型和基于API的模型,作者为所有模型随机抽取了相同数量的示例,确保了上下文演示的无偏分布。例如,一轮输入将包含涵盖所有类型的示例集,而五轮则包含每个标签的实例五次。
在测试阶段,从每个数据集的测试集中抽取500个例子,同时保证标签类型的分布均匀。所有的开源模型从HuggingFace1加载预训练权重,而基于API的模型则通过官方文档中的脚本进行调用。
实验结果
作者在以上提到的数据集上做了实验,实验结果如下表所示:
BANKING77是相对简单的任务,其1轮到5轮的上下文长度从2K到14K,大多数模型可以从更多的示例中获益。从2K到4K,大多数开源模型要么出现了几乎翻倍的准确率大幅增长,要么完全失败。在3轮之后,增加更多示例的性能提升有限。
而对于更复杂的任务,TacRED和DialogueRE,则更需要长期上下文理解能力,所有少量样本模型的整体性能相比BANKING77有所下降。只有GPT4-turbo能持续从更多示例中获益,其他模型在上下文长度约为20K时达到峰值。
Discovery数据集极具挑战性,其标签空间异常庞大,涵盖了多达174个类别。仅仅是遍历一轮所有可能性的上下文长度,就已经达到了惊人的10K。在这种极端条件下,即便是顶尖的GPT-4-turbo模型也难以准确区分细微的类型差异,因而得分归零。
从以上不同难度的任务可以看出,模型在理解和处理不同类型任务时的能力差异。初步推测,即便是强大的LLMs,如GPT-4-turbo,在处理DialogRE和Discovery等复杂任务时,也似乎存在某种能力上限。
ICL中的性能可能与任务复杂性之间存在潜在的数学关联。
另外作者还显示了不同数据集上代表性模型的性能结果。
随着任务难度的增加,性能大幅下降。Qwen和Mistral的性能甚至与演示长度呈线性衰减。这表明ICL中的性能可能与任务复杂性之间存在潜在的数学关联。
实例的位置分布是否会影响长序列的上下文学习性能
分散分布
作者在中等复杂度的数据集TacRED上进行了试点实验,每个标签类型重复三次,总共得到123个不同的实例(计算为41 × 3)。在这些实验中,作者随机分布了具有相同标签的实例,形成了分散的分布。对每个实例,详细记录了它在提示中的相对位置及其对应的标签,随后计算了每个标签类别的准确性。
如上图的第一行所示,以可视化的方式展示了每个标签的准确性,与提示中的位置一一对应,不同的颜色用以区分不同的标签类型。
在类别分布分散的情况下,像InternLM2-7B-base这样的模型在某些特定标签上表现出了可接受的性能(如上图中红色圆圈标记的部分),其准确率大约为60%,且这一性能并不受实例位置的影响。
相对而言,ChatGLM3-6B-32K模型在广泛的标签上比较稳点。
而GPT4-turbo模型在大多数标签类型上持续保持着超过80%的准确率,仅有个别例外。
分组分布
为了便于在分散分布和分组分布之间进行清晰的比较,作者将同一类别的实例放在在演示提示中相邻位置。这种重新组织对模型的性能产生的影响,如下表所示:
在将实例按类别分组后,大多数模型的性能普遍下降。Mistral-7B-v0.2-base和InternLM2-7B-base等模型表现出显著的性能下降,对实例分组的很敏感。
为了更深入地探究这一现象,作者可视化了分组标签在提示中位置与准确性的关系,如下图第二行所示:
可以明确地看出,一些模型,如InternLM2-7B-base,对实例的分布非常敏感,只能处理标签位于提示末尾的实例。
相反,其他开源模型如ChatGLM3-6B-32K很稳健,准确性仅下降了3.3%。
令人惊讶的是,GPT4-turbo也无法免除分组分布带来的挑战,性能下降明显,达到了20.3%。
这种观察到的性能下降在各个模型中都是一致的,不受标签在提示中具体位置的影响。
结论
总的来说,本文探讨了LLMs在长序列的无监督学习任务中的能力。作者构建了一个数据集——LongICLBench,包含不同长度上下文难度的长序列学习任务。研究发现,尽管语言模型在处理不超过20,000个tokens的输入时表现出色,但其处理和理解更长序列的能力显著下降。
因此对于现有的LLMs来说,长序列理解和推理仍然是一个艰巨的任务。
微信扫码关注该文公众号作者