AI 文摘

英伟达ChatQA2开源,跟ChatQA1有什么区别?





作者: NLP前沿 来源: NLP前沿

chatqa 是5月份出来的,chatqa 2是上周发的,今年学术界已经卷出了龙卷风,节奏有亿点点快~

2篇标题分别为:

  • ChatQA: Surpassing GPT-4 on Conversational QA and RAG

  • ChatQA 2: Bridging the Gap to Proprietary LLMs in Long Context and RAG Capabilities

从标题可以看出来明显的侧重点,v1更注重多轮&效果层面,如何达到gpt4的效果;v2更注重长上下文方面,但是都是为了更好的完成会话式qa下的rag任务。接下来简单聊聊这2个工作。

chatqa v1

一句话总结 :提出了一种两阶段指令调整方法,可以显著提高 RAG 的性能。为了在对话式QA中有效检索,引入了针对会话 QA 进行优化的retriever,其产生的结果可与query改写之后检索的结果相媲美

  1. 提出了一种两阶段SFT方法:第一阶段试用高质量的sft数据集(大部分都是公开的);第二阶段为了进一步增强模型在给定上下文中的会话 QA 能力,人工标注了一些单轮数据,以及使用3.5turbo构造的多轮数据。

  1. 检索器优化,因为现有的retriever基本都是处理的单轮Q的召回,在对话式 QA 任务中,多轮会话查询的泛化能力有限。利用 HumanAnnotatedConvQA 或 SyntheticConvQA 的数据构造训练数据微调了多轮的检索模型。常规操作~

  1. 人工标注答案的时候,还要标注答案位置,通过删除位置,就可以得到无法回答的样本,sft之后,可以增强模型处理这种情况的能力,避免了生成幻觉答案。

最终结果呼应了他们的标题,ChatQA-1.0-70B模型在CHATRAG BENCH上的得分为54.14,略微超过了GPT-4-0613(53.90)和GPT-4-Turbo2024-04-09(54.03)。Llama3-ChatQA-1.5-70B模型在所有类别中都超越了GPT-4-Turbo-2024-04-09,实现了4.4%的准确率提升。

chatqa v2

一句话总结 :提出了详细的持续训练方案,将 Llama3-70B-base 的上下文窗口从 8K 扩展到 128K ,以及三阶段指令调整过程,以增强模型的指令跟随、RAG 性能和长上下文理解能力。

  1. 扩窗口,从 Slimpajama 中上采样得到长度为 128k 的 100 亿个token,RoPE 的base调整到150M。(发现使用特殊字符(例如“”)分隔不同的文档比保留的开始和结束标记更有效)

  2. 3个阶段,前2个阶段与v1一致

  • 模型最初在 128k 高质量数据集上进行训练,然后在对话 QA 数据与所提供上下文的混合上进行训练。

  • 为了增强模型处理长达 128k 个标记的超长上下文序列的能力,收集了一个长 SFT 数据集。对于短于32k的数据,从LongAlpaca12k等开源数据集收集;对于32k到128k的数据集,利用合成数据,利用NarrativeQA中包含相关事实的段落,组装到真实的段落中。

最后结果,一方面大海捞针没太大问题,达到了100%的准确率。rag方面,ChatQA 2在短文本上下文任务中的平均得分是54.81。这个得分低于Llama3-ChatQA-1.5-70B,但仍然超过了GPT-4-Turbo-2024-04-09和Qwen2-72B-Instruct。

PS:给公众号添加【星标⭐️】不迷路!您的点赞、在看、关注 是我坚持的最大动力!

欢迎多多关注公众号「NLP前沿」,加入交流群,交个朋友吧,一起学习,一起进步!

最新文章推荐阅读

更多AI工具,参考Github-AiBard123国内AiBard123

可关注我们的公众号:每天AI新工具