接上文,本篇介绍论文提到的LocalGPT system,是以NextDoor社区为数据源和应用场景的。
该系统包括两部分:RAG和fine-tune
大致思想就是 给定一个问题/任务,先检索到数据源中最相关的文档,再用这些文档来生成回答。
优点:
1.为LLM提供动态实时的信息。
2.因为将答案相关的文档聚集起来,所以可以减轻幻觉。
缺点:
1.在一些情况下,可能检索到完全不相关的数据,特别是在有噪声的数据时。
2.针对时间敏感型的问题,LLM可能优先采用自己的过时的数据,这与检索到的最新的数据相冲突。
为了解决RAG的局限性,作者使用与数据源相关的case fine-tune了LLM,具体是采用了instruction tuning。
细分为了三个目标:
SFT和IT的区别:
Supervised Fine-Tuning (SFT):这是一种更通用的微调方法,其中模型在特定任务的标注数据上进行额外训练。SFT 的目标是使模型在这个特定任务上表现更好,无论这个任务是否涉及遵循指令。
Instruction Tuning:这种方法特别关注于提高模型遵循和执行人类指令的能力。它可以被视为 SFT 的一个特例,其中训练数据专注于指令式任务。
目标实现方案:
作者设计了一个新颖的训练框架——知识注入训练。
该训练方式旨在通过多目标优化来微调大型语言模型(LLM),以便于下游的长篇问答(Q&A)任务
在微调阶段,使用了长篇问答任务进行知识注入;还定制了传统的多选题任务来增加回复的知识性,因为希望LLM偏向依赖于本地的知识,而不是预训练阶段的;最后,实施了IRAG(用RAG进行指令微调),引导模型根据提取出的真实相关信息回答问题,而且能够忽略掉虚假的相关数据。
作者发现IRAG不仅有益于分散性的问题(感觉是答案分散在各个文档里),还在跨领域的问题上减少了模型的幻觉。
作者已经在Nextdoor进行了实践,系统可以更新现实世界的实时信息,提供更可靠的细分领域和时间敏感的回答。