介绍
考虑到最近的研究,我发现一个耐人寻味的事实,即某些微调和梯度技术的主要目的并不是为语言模型注入特定领域的数据。
相反,它们的主要目标是通过微调数据的设计和结构来改变模型的行为,并指导它完成特定任务。
这些任务包括推理、自我修正和更好地处理大型上下文等功能。IN2 就是这种方法的另一个例子。
问题所在
目前,许多大型语言模型(LLM)都可以接收冗长的文本作为输入。我们称之为上下文窗口或大上下文窗口。
然而,LLM 仍然难以充分利用长语境中的信息,这就是所谓的 "中间丢失"(lost-in-the-middle)难题。这种现象是指 LLM 将重点放在所提交数据语料的开头和结尾部分。而忽略了中间部分,即对数据体提出问题时的中间部分。
中间部分丢失的根本原因是隐藏在一般训练数据中的无意偏差。
解决方案
造成这种现象的原因在于长语境训练过程中的明确督导不足。
明确的监督应明确强调,长语境中的任何位置都可能包含关键信息。
进入IN2培训
IN2 是一种纯粹由数据驱动的解决方案,用于克服 "中间丢失 "问题。
IN2 训练利用合成的长语境问答数据集,其中答案需要两个要素:
在自动回归预训练中,预测下一个标记往往更受附近标记的影响,而不是远处标记的影响。
同样,在监督微调中,对生成反应影响较大的系统信息通常会放在上下文的开头。这可能会造成一种偏差,即重要信息总是出现在上下文的开头或结尾。
信息密集型模型(IN2)的重点是训练 LLM,明确教会模型关键信息可以密集地出现在整个上下文中,而不仅仅是在开头和结尾。
IN2 是一种纯数据驱动的解决方案。
IN2 的方法
长语境(跨度从 4K 到 32K 个词组)是由每个词组约 128 个词组的众多短片段编译而成的。
问答(QA)对会询问一个或多个片段中的信息,这些片段在长上下文中随机定位。
问题分为两类:
这些 QA 对是通过指导 GPT-4-Turbo(OpenAI,2023b)使用特定指南和原始片段生成的。
上图为创建训练数据的流程:
上:增强细粒度信息意识
下:信息整合与推理
细粒度信息感知
上下文的最小信息单位被视为 128 个标记段。
下面是研究中的三个例子,说明如何设计细粒度信息感知数据。
注意这个片段,问题与上下文中的适当答案。
下面是一个更长的示例,从语段和答案的角度来看,都与上下文有关。
信息整合与推理
除了利用单个片段外,研究还考虑了如何为两个或多个片段中的信息生成问答对。
下面是一个简短的答案示例。
另一个变例...
数据生成和培训提示
下面使用的模板...
结论
本文引入了 IN2 训练来应对中间丢失的挑战,并证明了在探测任务和真实世界长语境任务中的大幅提升,而不会牺牲短语境场景中的性能。