社区供稿 | 多项长文本任务第一,揭秘 Ziya-Reader 训练技术:注意力增强

2023/11/17 21:30
阅读数 14
随着大语言模型(LLM)的横空出世,各种各样的AI原生新应用如雨后春笋应运而生。LLM在智能问答、企业客服等领域有着广泛的应用。然而,幻觉问题仍然困扰着LLM的研究者与开发者。虽然可以通过检索增强(Retrieval Augmented Generation,RAG)的方式 [1] ,将可能相关的上下文与问题拼接后让LLM进行回答,但是LLM仍然会有不少的机会给出错误的回答。特别是当相关的上下文长度非常长、正确上下文并不位于头部的时候,模型的回答准确率就会急剧下降,这阻碍了LLM在实际应用中的落地。

为了解决这一问题,封神榜团队提出了Ziya-Reader,它使用了注意力增强的训练方法,通过专门的训练缓解了多文档问答中的幻觉问题,在多项中文长文本任务的基准评测中都取得了第一名。并且我们经过精心的调教,让Ziya-Reader的通用指令遵循能力,不输于同尺寸的优秀模型。今天,封神榜团队发布了Ziya-Reader的技术报告,公开了Ziya-Reader的训练细节,希望这个拥有130亿参数(13B)的模型,能够真正帮助相关的研究者和开发者,共同促进产业进步。
 
论文题目:Never Lost in the Middle: Improving Large Language Models via Attention Strengthening Question Answering
 
论文链接:https://arxiv.org/abs/2311.09198
 


模型下载链接

Hugging Face:

https://hf.co/IDEA-CCNL/Ziya-Reader-13B-v1.0

ModelScope:

https://modelscope.cn/models/Fengshenbang/Ziya-Reader-13B-v1.0/

 
近来,越来越多拥有超长上下文窗口的LLM被提出,LLM甚至可以处理达到200k token的长序列内容。虽然窗口长度得到极大的扩展,但是在需要识别输入上下文中相关信息的任务中,当相关信息出现在输入上下文的中间部分时性能会有明显的下降,如下图所示,改变相关信息的位置(正确段落的位置),LLM会产生一个U型的性能曲线。这也就是有名的“Lost in the Middle“问题 [2] ,即使是GPT-3.5-turbo-16k、Claude-1.3-100k、Longchat-13 b-16k等优秀的长窗口LLM也存在这一问题。 这使得我们使用LLM在进行检索增强的知识问答任务时,存在明显的性能缺陷。

为了克服这一问题,我们提出了注意力增强的多文档问答(Attention Strengthenning Multi-doc QA,ASM QA)的训练方法, 它通过显式地在训练中引入类似CoT机制的多步推理回答过程,让模型能够更加注意到与位置无关的正确上下文信息。 它在仅仅使用了8k窗口的情况下,就能在多项长文本任务中超过拥有16k或者32k窗口的其他优秀模型。

注意力增强的问答任务设计

我们将ASM QA任务,分解成一个多步推理的过程,并显式地在训练中让模型学会这种推理范式。

第一步,我们在指令的输出中,让模型先进行问题(question)的复述,这使得模型在阅读了一段非常长的上下文信息后,也不会因为距离衰减的原因忘记原始的 提问, 因而在生成答案时,更加能够关注到问题。

第二步,我们构造了上下文段落的下标预测的任务,即让模型尝试预测相关上下文信息中正确上下文段落的索引下标。通过这种方式, 我们让模型能够更加关注于正确的上下文段落。

最后,在以上两步的输出基础上,我们让模型输出最后的答案总结。我们使用一些提示前缀(prefix)来关联这三部分的输出,使其更符合自然语言表达的习惯。整体的流程如下图所示。



任务数据构造

我们构造了两个阶段的训练数据来训练Ziya-Reader。在第一阶段我们进行通用能力的有监督微调(Supervised Finetuning,SFT)训练,并将窗口扩充到8k token。在第二阶段,我们构造ASM QA数据,并继续使用8k窗口进行SFT训练。

在第一阶段中,我们精选了300k条通用的指令数据,包括常识问答、阅读理解、角色扮演、写作、代码生成、翻译、头脑风暴等任务,并混合了部分预训练数据,进行Language Modeling任务的训练(即计算整个文本序列的交叉熵损失)。我们将所有的任务数据拼接起来,使得拼接后的样本都尽量具有8k的窗口长度。

在第二阶段中,我们从DuReader2.0[3]和WebCPM[4]中过滤了约50k的数据,并按照任务设计中的形式构造了样本。特别地,我们使用了一个奖励模型(Reward Model)来进行数据的过滤,使得我们挑选出来的50k数据都具有非常高的数据质量。

为了使得模型对上下文的注意力得到进一步的增强,让模型更加注意到位于不同位置的正确的上下文段落,我们构造了位置无关的高难度样本。 们将所有的文档向量化后灌入向量搜索引擎中,并在70%的数据中,根据问题和文档的相似度构造了不相关但相似的上下文负例。在另外30%的数据中,我们进行随机采样来构造不相关的上下文负例。我们还构造了少部分样本,这一部分样本中没有任何相关的正确上下文段落,这部分样本的输出是“根据以上内容,我不知道正确的答案“。最后,我们在构造样本时,保证样本的长度是均匀分布的,并正确的上下文段落会被随机分配到任何位置,这就保证了模型可以关注到任何位置的正确上下文段落。

实验与分析

我们在中文权威的长文本评测基准LongBench[5]上进行了实验并重点评测了Multi-doc QA、Synthesis Task和Summarization三个和RAG紧密相关的任务。评测结果如下:


相比于其他的拥有更长窗口的模型,例如32k窗口的ChatGLM2-6B-32k,以及16k窗口的GPT-3.5-turbo-16k,Ziya-Reader在Multi-doc QA和Synthesis Tasks两项任务中都达到了SOTA效果,在Summarization任务中也仅比最好的模型效果低0.5%。说明即使仅有8k的窗口长度,也能具备非常扎实的长文理解效果。

与此同时,我们将Multi-doc QA评测中的正确上下文段落进行了随机的顺序打乱,使得其能够出现在上下文中的任何位置,重新构造了评测集Multi-doc QA shuffled。在这个评测集上,Ziya-Reader基本保持了优秀的多文档问答能力,而其他的长窗口模型均出现了非常明显的性能下降。这说明Ziya-Reader极大地缓解了前文提到的“Lost in the middle”的问题。具体的评测指标如下图所示。


我们也进行了详尽的消融实验,结果表示我们的ASM QA任务构造方式,能够 明显地提升模型的相关信息检索和多文档问答能力,优于普通的多文档问答训练方式,让模型对问题和上下文的注意力得到增强。 详细的分析结论请参阅我们的技术报告


最后,我们也评测了Ziya-Reader的通用能力,如下图所示。我们使用匿名Side-by-Side的评测方式,在写作、QA、推理、代码、自然语言理解等多个方面的评估中,基本与Baichuan2-13B-Chat持平,并大幅胜出与Ziya-Llama-13B-v1.1。说明Ziya-Reader不仅可以作为QA模块中的一部分,也可以作为一个Agent,在整个RAG链路中发挥更大的价值。

我们所提出的ASM QA训练方法,能够极大地增强LLM的长文本问答能力,缓解“Lost in the middle”的问题。我们也将这一工作进行了开源,希望Ziya-Reader能够对大模型的应用落地带来真正的帮助。


未来,我们计划继续Ziya-Reader系列的研发,探索在更大的模型尺寸、更长的上下文窗口上,进一步提升与知识整合和知识创造相关的任务的效果,持续探索大模型的应用边界。我们也将持续为社区提供先进的大模型基座,分享先进的技术及经验,共同推进大模型生态的发展。


参考文献

[1] Shi W, Han X, Lewis M, et al. Trusting Your Evidence: Hallucinate Less with Context-aware Decoding[J].  arXiv preprint arXiv:2305.14739, 2023.
[2] Liu N F, Lin K, Hewitt J, et al. Lost in the middle: How language models use long contexts[J].  arXiv preprint arXiv:2307.03172, 2023.
[3] He W, Liu K, Liu J, et al. Dureader: a chinese machine reading comprehension dataset from real-world applications[J].  arXiv preprint arXiv:1711.05073, 2017.
[4] Qin Y, Cai Z, Jin D, et al. WebCPM: Interactive Web Search for Chinese Long-form Question Answering[J].  arXiv preprint arXiv:2305.06849, 2023.
[5] Bai Y, Lv X, Zhang J, et al. LongBench: A Bilingual, Multitask Benchmark for Long Context Understanding[J].  arXiv preprint arXiv:2308.14508, 2023.


联系我们

更多有用、有趣的知识问答体验
期待你的开启
了解 更多信息 欢迎关注封神榜开源主页
封神榜 ModelScope 主页:
https://modelscope.cn/organization/Fengshenbang
封神榜 Hugging Face 主页:
https://hf.co/IDEA-CCNL
封神榜 Github 主页:
https://github.com/IDEA-CCNL/Fengshenbang-LM


本文由 Hugging Face 中文社区内容共建项目提供,稿件由社区成员投稿,经授权发布于 Hugging Face 公众号。文章内容不代表官方立场,文中介绍的产品和服务等均不构成投资建议。了解更多请关注公众号:

如果你有与开源 AI、Hugging Face 相关的技术和实践分享内容,以及最新的开源 AI 项目发布,希望通过我们分享给更多 AI 从业者和开发者们,请通过下面的链接投稿与我们取得联系:

https://hf.link/tougao

本文分享自微信公众号 - Hugging Face(gh_504339124f0f)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部