AI知识库 AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


RAFT : 将语言模型适应于特定领域RAG任务
浏览次数: 1544

1. 问题定义 ?

如何使预训练大模型适应于特定领域的RAG?

作者用考试来作类比,问题就变成如何最好地准备一个考试?

  • 对于“闭卷考试”可通过直接微调来文档或QA问答对来“学习”
  • 对于“开卷考试”就是常见的RAG模式,作者比喻用未经领域微调的大模型直接进行RAG,相当于没有经过“学习”就直接参加“开卷”考试,这样实际上是无法很好通过“考试”的。
  • RAFT通过在QA问答对上微调的模型,结合RAG传统流程进行“开卷”考试。

2. RAFT ?

经典的SFT方式:旨在提升回答问题的能力,知识来源可以是预训练阶段,也可以来源于SFT阶段。而 RAFT 本质是用 SFT + RAG,训练模型更好的使用外部文档进行知识密集型问答。但注意:RAFT 是不关注检索部分的。

2.1 数据工程

每个数据点包含一个问题(),一组文档(),以及一个对应的CoT思维链回答(,该回答是从其中一个文档()生成的。论文提及将文档分为两类:

  • oracle(有用文档):可以被用来推理使用的文档
  • distractor(干扰文档):指那些不包含问题答案相关信息的文档。这些文档在训练过程中被用来提高模型的鲁棒性,特别是在RAG任务时,模型需要从检索到的文档中识别出哪些是有用的信息,哪些是无关的干扰信息。

训练数据采样策略:

对于其中 的数据,包含 oracle 文档();而剩下的 的数据只包含 distractor 文档

论文提到,改善训练质量的关键,是生成CoT推理步骤,来解释所提供的答案。数据样例如下所示:如果按照Instruction、Input、Output的方式来看待这个模式,那么:

  • 指令:是要求模型去生成CoT推理步骤
  • 输入:包括 用户问题、相关文档信息、正确答案组成的上下文
  • 输出:引用原始上下文的CoT推理步骤

? 提问:CoT Answer(即) 是如何生成的?

作者先对文档分块(chunk)处理,针对每个chunk用GPT4生成k个用户可能问的Questions(k默认是5);接着针对每条Questions,构建 oracle文本块列表distractor文本块列表 作为上下文(注意:这里没有用到检索!);然后把用户问题和上下文丢给GPT4继续生成 CoT Answer,生成的提示词中用了 ##begin_quote####end_quote## 来标记引用的原始上下文内容。现在每个QA对,都包含了 {问题,上下文,CoT答案} 三元组。最后通过一个指令模板,把用户问题和上下文合并成一条SFT样本的Input,CoT答案作为Output,进行后续的微调。(流程描述来自raft.py的codeview)

通过这种数据构造方式,作者证明了,在创建一个完整的推理链,以及清楚地引用来源可以提高模型回答问题的准确性。

2.2 结果

从结果来看,小量级模型的RAFT效果比更大模型的直接RAG效果要好,但在某些数据集如HotpotQA却不尽人意。论文在“Evaluation”部分,提到了使用Gorilla API Bench数据集,该数据集已经包含人工验证后的正确CoT的基准。

推荐新闻
RAG系列04:使用ReRank进行重排序
本文介绍了重排序的原理和两种主流的重排序方法:基于重排模型和基于 LLM。文章指出,重排序是对检索到的上下文进行再次筛选的过程,类似于排序过程中的粗排和精排。在检索增强生成中,精排的术语就叫重排序。文章还介绍了使用 Cohere 提供的在线模型、bge-reranker-base 和 bge-reranker-large 等开源模型以及 LLM 实现重排序的方法。最后,文章得出结论:使用重排模型的方法轻量级、开销较小;而使用 LLM 的方法在多个基准测试上表现良好,但成本较高,且只有在使用 ChatGPT 和 GPT-4 时表现良好,如使用其他开源模型,如 FLAN-T5 和 Vicuna-13B 时,其性能就不那么理想。因此,在实际项目中,需要做出特定的权衡。
LangGPT论文:面向大语言模型的自然语言编程框架(中文版)
大语言模型 (Large Language Models, LLMs) 在不同领域都表现出了优异的性能。然而,对于非AI专家来说,制定高质量的提示来引导 LLMs 是目前AI应用领域的一项重要挑战。
第三篇:要真正入门AI,OpenAI的官方Prompt工程指南肯定还不够,您必须了解的强大方法论和框架!!!
自从ChatGPT(全名:Chat Generative Pre-trained Transformer)于2022年11月30日发布以来,一个新兴的行业突然兴起,那就是提示工程(Prompt engineering),可谓如日冲天。从简单的文章扩写,到RAG,ChatGPT展现了前所未有的惊人能力。
(三)12个RAG痛点及其解决方案
痛点9:结构化数据QA 痛点10:从复杂 PDF 中提取数据 痛点11:后备模型 痛点12:LLM安全
(二)12个RAG痛点及其解决方案
痛点5:格式错误 痛点6:不正确的特异性 痛点7:不完整 痛点8:数据摄取可扩展性

联系我们

售前咨询
186 6662 7370
产品演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询