检索增强微调(RAFT)简介
先说说几个核心判断。把大语言模型真正用起来的时候,往往需要往模型里塞新东西——比如某个垂直领域的专业知识、公司内部的私有数据。这事儿一般靠两条路:要么用检索增强生成(RAG)搭桥,要么直接做微调。但问题来了,哪种方式能把知识喂得最到位?
这里要介绍一个有意思的思路——
检索增强微调(RAFT)
RAFT的基础是早前的Retriever Aware Training(RAT),但它把这件事推广到了API之外更广泛的RAG应用中。
打个比方:怎么给LLM准备“考试”?
RAFT本质上是一种通用的微调方法,目的是把预训练模型调教得适应某个特定领域的RAG场景。这种场景现在很常见——你希望模型基于一堆文档来回答问题,比如企业内部的各种文件。这跟一般意义上的RAG有个关键区别:在通用RAG里,模型不知道考官会考哪个领域的题;但在RAFT的场景里,领域是已知的。为了让理解更直观,我们用考试来打个比方。
封闭书本考试:
开放书本考试:
RAFT:
特定领域开放书本考试
(图示:RAFT类比于开放书本 如何为LLM准备考试?封闭书本 vs. 开放书本 vs. RAFT)
RAFT:把语言模型调教成领域RAG专家
检索感知微调(RAFT)提出了一套全新的微调数据准备方案,让模型在特定领域开卷考试(其实就是领域RAG)中发挥更好。在RAFT里,训练数据的组织方式是这样的:每个数据点包含一个问题(Q)、一组文档(Dk),以及从其中一个文档(D*)生成的思维链式答案(A*)。关键来了,这里要把文档分成两类:一类是“金文档”(Oracle Document,D*),即能推导出答案的那个;另一类是“干扰文档”(Di),跟答案毫无关系。注意,金文档不一定是单个文档,像HotpotQA这种数据集里,答案可能分散在多个文档里。
然后,对于数据集里P%的问题(qi),保留金文档(di*)再加上k-1个干扰文档;对于剩下(1-P)%的问题,则故意不保留金文档,只塞干扰文档。最后用标准的监督微调(SFT)技术,训练模型根据这些文档和问题来生成答案。下面这个示意图展示了RAFT的整体设计思路:
RAFT的训练数据格式可以概括为:
- P%的数据: Q + D* + D1 + D2 + ... + Dk → A*
- (1-P)%的数据: Q + D1 + D2 + ... + Dk → A*
(图示:RAFT的数据训练和测试配置)
再来看一个具体的训练数据示例,里面包含了问题、上下文、指令以及最终的思维链式答案。值得注意的是,答案中用了##begin_quote##和##end_quote##这种标记,直接把从上下文里引用的部分圈出来。实践证明,这种方式能有效防止模型胡编乱造,全部信息都紧扣提供的上下文。
RAFT的评估效果
实验选用了多个跨领域的数据集来评估模型和所有基线方法,覆盖范围从通用知识到专业领域都有:
- 基于维基百科的开放领域问题,主要考察常识(比如电影、体育等)。
自然问答(NQ)、Trivia QA、Hotpot QA:
- 来自Gorilla论文提出的APIBench,重点看模型能否根据文档生成正确的功能性API调用。
HuggingFace、Torch Hub、TensorFlow Hub:
- 专攻生物医学研究领域的问答,测试模型在医学和生物学问题上基于给定文档集的作答能力。
PubMed QA:
实验对比了以下基线方法:
- 标准指令微调模型,没有参考文档。
LlaMA2-7B-chat模型 + 0-shot提示:
- 加了参考上下文,这是当前处理领域特定问答任务最常见的一招。
LlaMA2-7B-chat模型 + RAG(Llama2 + RAG):
- 先在上下文中做标准指令微调,但不给文档。
领域特定微调(DSF) + 0-shot提示:
- 用RAG给领域微调模型外设知识,解决模型本身不知道的信息。
领域特定微调(DSF + RAG):

(图示:RAFT在医学(PubMed)、通用知识(HotPotQA)和API(Gorilla)基准上的结果)
自己动手训练RAFT模型
下面是一份简短的实战指南,帮你从零开始训练一个适用于RAG场景的RAFT模型。
1. 数据集准备:

2. 模型微调:

3. 模型部署:

结论
RAFT是一种目标明确的训练策略,专门用来增强模型在特定领域内以“开卷”方式回答问题的能力。它提供了一套完整的微调配方,适合基于选定文档集合的问答任务。几个关键的设计决策值得关注:让模型跟干扰文档一起训练;在部分训练数据中刻意拿掉金文档;要求模型以思维链方式从相关文本中直接引用原文来组织答案。PubMed、Hotpot QA和Gorilla API Bench上的评估结果,充分展示了RAFT的巨大潜力。可以预见,领域内检索增强生成(RAG)将同时成为工业和学术界持续关注的热点。与通用RAG不同,这项工作解决的是LLM在真实业务场景中利用领域知识回答问题的痛点。研究结果也印证了一个趋势:相比于一味追求更大的通用模型,经过精细化微调的更小模型,在特定领域的问答任务上丝毫不逊色。
-
- 关于宇宙的好的网名有哪些
- 角色扮演 | 1
- 网名