知识任务的解决方案-RAG与Fine-Tune

发布时间:2024年01月10日

接上文,本篇介绍论文提到的LocalGPT system,是以NextDoor社区为数据源和应用场景的。
该系统包括两部分:RAG和fine-tune

一、RAG

大致思想就是 给定一个问题/任务,先检索到数据源中最相关的文档,再用这些文档来生成回答。

优点:
1.为LLM提供动态实时的信息。
2.因为将答案相关的文档聚集起来,所以可以减轻幻觉。

缺点:
1.在一些情况下,可能检索到完全不相关的数据,特别是在有噪声的数据时。
2.针对时间敏感型的问题,LLM可能优先采用自己的过时的数据,这与检索到的最新的数据相冲突。

二、Fine-Tuning

为了解决RAG的局限性,作者使用与数据源相关的case fine-tune了LLM,具体是采用了instruction tuning。
细分为了三个目标:

  1. 微调后的LLM能够在相关性、趣味性、连贯性、可靠性超过预训练的。
  2. 微调后的LLM应该在很偏的case也能提供有用的回复,例如没有检索到任何相关的文档或者遇到互相矛盾的文档。
  3. 使用SFT代替了RL。

SFT和IT的区别:
Supervised Fine-Tuning (SFT):这是一种更通用的微调方法,其中模型在特定任务的标注数据上进行额外训练。SFT 的目标是使模型在这个特定任务上表现更好,无论这个任务是否涉及遵循指令。
Instruction Tuning:这种方法特别关注于提高模型遵循和执行人类指令的能力。它可以被视为 SFT 的一个特例,其中训练数据专注于指令式任务。

目标实现方案:
作者设计了一个新颖的训练框架——知识注入训练
该训练方式旨在通过多目标优化来微调大型语言模型(LLM),以便于下游的长篇问答(Q&A)任务
在微调阶段,使用了长篇问答任务进行知识注入;还定制了传统的多选题任务来增加回复的知识性,因为希望LLM偏向依赖于本地的知识,而不是预训练阶段的;最后,实施了IRAG(用RAG进行指令微调),引导模型根据提取出的真实相关信息回答问题,而且能够忽略掉虚假的相关数据。
作者发现IRAG不仅有益于分散性的问题(感觉是答案分散在各个文档里),还在跨领域的问题上减少了模型的幻觉。

作者已经在Nextdoor进行了实践,系统可以更新现实世界的实时信息,提供更可靠的细分领域和时间敏感的回答。

文章来源:https://blog.csdn.net/qq_43814415/article/details/135487747
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。