近日,英伟达发布了ChatQA 2模型,其想法是弥合开源模型和领先模型如GPT-4-Turbo之间的差距。文中提出了一种训练方法,以有效地扩展 Llama3-70B 的上下文窗口 (8K->128K)。它还包括指令调整,以增强指令跟随、RAG 性能和长上下文理解。“结果表明,Llama3-ChatQA-2-70B 模型在许多长上下文理解任务上实现了与 GPT-4-Turbo2024-0409 相当的准确度,并在 RAG 基准上超越了它。”
建立更长的注意力:长期训练
扩展 LLM 的上下文窗口并非易事:这不仅仅是向其提供更多数据的问题;它需要仔细调整模型的架构和训练过程。ChatQA 2 通过双管齐下的方法实现了这一目标:
1. 拓展视野:持续预训练
ChatQA 2 并非从零开始,而是建立在 Llama3–70B 模型的基础之上。这个预先训练的模型提供了一个坚实的起点,而 ChatQA 2 的训练侧重于进一步扩展其功能。具体方法如下:
SlimPajama 数据:为了扩大词汇量和对长篇文本的理解,ChatQA 2 采用了来自 SlimPajama 语料库的海量数据集。这个精心整理的文本集合包含各种文档,确保模型能够对语言形成广泛而全面的理解。
针对长距离关系的上采样:并非所有文本都是平等的。为了强调长序列的重要性,训练数据集被“上采样”。这意味着较长的文本在训练期间被赋予更大的权重,迫使模型更加关注文本中的长距离依赖关系和关系。
调整 RoPE:旋转位置嵌入 (RoPE) 是许多现代 LLM 的重要组成部分。这是模型跟踪序列中单词顺序的方式。ChatQA 2 精心调整 RoPE 的参数,特别是所谓的“基频”,以确保它能够处理 128K 上下文窗口的增加需求。
分离焦虑(或缺乏分离焦虑):即使是微小的细节也很重要。ChatQA 2在训练期间采用独特的文档分离策略,选择特殊字符而不是标准的句首和句末标记。这种微妙的变化可以防止模型过早丢弃前几段的信息,从而帮助它保持对长文本的更有凝聚力的理解。
2. 指令调整
仅扩大上下文窗口就像是给某人一本更大的笔记本:他们有更多的空间来书写,但这并不一定能使他们成为更好的作家。ChatQA 2 经历了一个三阶段的指令调整过程来完善其能力:
第 1 阶段:遵循指示:第一步是为遵循指示打下坚实的基础。ChatQA 2 经过大量高质量指令及其相应输出的数据集的训练。此阶段完善了模型准确理解和执行各种指令的能力。
第 2 阶段:对话专业知识:接下来,ChatQA 2 进入对话世界。它接受对话 QA 数据集的训练,学习在对话环境中回答问题。此阶段对于聊天机器人等应用程序至关重要,因为模型需要记住对话中的前几轮并自然地做出回应。
第三阶段:长期游戏:最后阶段专注于长期上下文理解。ChatQA 2 面临一个特别策划的数据集的挑战,该数据集包含多达 128K 个标记的文本,将其推向扩展上下文窗口的极限。
检索增强生成:访问外部大脑
即使上下文窗口大大扩展,也没有一个 LLM 可以容纳世界上所有的信息。这就是检索增强生成 (RAG) 发挥作用的地方。
当面临问题或任务时,支持 RAG 的 LLM 可以:
搜索:首先分析查询并确定所需的关键概念和信息。
检索:使用这些关键词,它可以有效地搜索庞大的外部数据库(如专门的文档索引或知识图谱)并检索最相关的文本段落。
生成:最后,它使用检索到的信息作为上下文来生成更全面、更准确的响应。
ChatQA 2 通过整合长上下文检索器使RAG 更进了一步,与以前的只能处理短文本块的检索器不同,该检索器一次最多可以处理 1200 个标记。
这一进步带来两个主要优势:
减少碎片化:传统检索器通常会将长文档分解为小块、不连贯的片段,导致对整体上下文的理解变得零散。ChatQA 2 的长上下文检索器会在每个片段中捕获更多信息,从而形成更具凝聚力和更完整的画面。
提高召回率和相关性:更大的检索范围通常会提高找到所有必要信息(召回率)的机会。但是,检索过多的信息可能会引入不相关的噪音,使 LLM 感到困惑。ChatQA 2 的长上下文检索器允许使用较少的检索块实现高召回率,从而在全面性和重点之间取得更好的平衡。
ChatQA 2 实际应用:性能基准测试
为了了解 ChatQA 2 的真正功能,让我们看看它在各种基准测试中与竞争对手的表现如何:
1. 大海捞针:此测试评估模型在大量不相关数据中准确找到特定信息的能力。ChatQA 2 在该测试中表现出色,展示了其强大的长上下文检索功能。
2. 真实世界中的长上下文掌握:InfiniteBench 是一项基准测试,其中包括需要上下文长度超过 100K 个 token 的真实世界任务,它真正考验了 ChatQA 2。它在这个领域表现出色,超越了几个不错的模型,包括 GPT-4-Turbo-2024–04–09。
3. 中长上下文熟练度:对于需要 32K 个 token 以内的上下文的任务,直接进行长上下文评估比 RAG 更有效。ChatQA 2 在此类别中获得了 47.37 分的竞争分数,而 GPT-4-Turbo 则达到了 51.93 分。
4. 短上下文多功能性:ChatQA 2 在短上下文任务(4K 个标记内)上也表现良好,证明了其多功能性,在 ChatRAG 基准测试中获得了 54.81 分,而 GPT-4-Turbo 达到了 54.72 分。
5. RAG 与长上下文:有趣的是,评估表明,对于 32K 个 token 以内的任务,仅使用长上下文 LLM 比 RAG 更有效,而对于超过 100K 个 token 的任务,RAG 的表现优于长上下文 LLM。这凸显了拥有适应性模型的重要性,这些模型可以根据任务需求利用最合适的方法。
关于互联网持续学习圈