尽管对嵌入 (embedding)模型进行微调 (fine-tuning)和优化分块策略可以大幅提升检索器的初始性能,但在不断变化的实际运行环境中维持其优势需要持续投入。数据分布会变化,新话题不断出现,用户期望值也在改变。主动学习提供了一种系统且高效的方式,通过明智地选择最有价值的数据点进行人工标注,从而持续优化您的检索器,最大限度地发挥标注预算的效用。
持续改进检索器的重要性
RAG系统的检索器组件在实际运行中并非孤立不变。知识库可能会经常更新,用户查询模式会改变,而“相关性”的定义本身也可能根据新的业务重点或新出现的信息而发生轻微的变化。仅仅依赖初始的大规模已标注数据集来训练或微调 (fine-tuning)您的检索器,随着时间的推移,性能可能会下降。因此,主动学习成为一种重要的工具。主动学习并非随机选择数据进行标注或尝试标注所有数据(这通常不切实际),而是将您的标注工作集中于模型最不确定的实例,或新标签最有可能带来最大提升的实例。
RAG中的主动学习流程
RAG检索器的主动学习过程是一个循环迭代。它通常包含以下阶段:
- 初始模型:您从一个检索器模型开始,这可能是一个预训练 (pre-training)的嵌入 (embedding)模型,一个在初始数据集上微调 (fine-tuning)过的模型,甚至是当前的生产模型。
- 数据池:存在一个未标注数据池。对于RAG,这通常包含用户查询和当前模型检索到的文档,或者更广泛的潜在查询-文档对。
- 选择策略:主动学习算法使用当前检索器模型分析未标注数据,并选择一小部分被认为对标注最有帮助的实例(例如,查询-文档对)。
- 人工标注:这些选定的实例被呈现给人工标注者(即“专家”),由他们提供真实标签(例如,“相关”,“不相关”)。
- 模型更新:新标注的实例被添加到训练集,检索器模型使用这个扩充后的数据集进行重新训练或微调。
- 迭代:该过程从第3步重复,更新后的模型现在用于选择下一批有价值的实例。
这个循环持续进行,直到达到预期的性能水平,标注预算耗尽,或者模型的改进不再显著。
主动学习循环的示意图,用于改进检索器。系统循环选择不确定或具有多样性的数据点进行人工标注,然后使用这些新标签来优化检索器模型。
策略性选择:识别有价值的数据进行标注
主动学习的有效性取决于“选择策略”阶段。目标是挑选那些一旦被标注,就能为模型改进提供最多信息的数据点。有几种常用策略:
基于不确定性的采样
这可能是最直接的方法。模型向人工标注者请求它最不确定的实例的标签。对于RAG检索器,不确定性可以通过以下几种方式体现:
- 最低置信度:选择检索器相似度分数较高,但置信度不足(例如,刚好略高于相关性阈值)的查询-文档对。
- 边际采样:对于给定查询,如果排名第一的文档 d1 的得分为 s(q,d1),排名第二的文档 d2 的得分为 s(q,d2),则边距 ∣s(q,d1)−s(q,d2)∣ 较小的实例是候选。这表示模型难以区分靠前的候选项。类似地,如果存在已知的负面示例,也可以考虑检索到的文档与已知不相关文档之间的分数差异。
- 分数与决策边界的接近度:如果您有一个相关性阈值 τ(例如,分数 >τ 的文档被视为相关),则选择分数 s(q,d) 非常接近 τ 的对 (q,d)。标注这些临界案例有助于模型优化其决策边界。例如,不确定性度量可以是:
U(q,d)=−∣s(q,d)−τ∣
我们选择 U(q,d) 值最高的实例 (即 s(q,d) 最接近 au 的实例)。
基于多样性的采样
虽然不确定性采样侧重于模棱两可的案例,但如果模型对数据空间中的某个特定区域不确定,它可能会导致选择非常相似的实例。多样性采样旨在选择彼此不同且与已标注数据不同的未标注实例。这确保模型能够从更多样化的示例中学习。
技术包括:
- 聚类:对未标注的查询嵌入 (embedding)(或文档嵌入)进行聚类,并从不同聚类中抽样实例。
- 嵌入空间探索:选择其嵌入远离已标注数据嵌入的实例,确保覆盖特征空间中尚未充分探索的区域。
委员会查询 (QBC)
QBC涉及使用多个模型(一个“委员会”)的检索器模型。这些模型可能在不同的数据子集上训练,或使用不同的模型架构。如果委员会成员对其预测的相关性或排名存在分歧,则该实例被认为是有价值的。直观地讲,不同模型之间的分歧会暴露出数据中模棱两可或复杂之处。
预期模型变化或错误减少
这些是更高级的策略,旨在选择那些一旦标注后,能使模型参数 (parameter)发生最大变化或模型预期未来误差得到最大程度减少的实例。尽管有效,但它们实现起来通常计算量更大。
在实践中,结合不确定性和多样性的混合方法通常非常有效。例如,您可能首先选择一个更大的不确定性候选集,然后应用多样性标准从该集中选择最终的标注集。
实现检索器的主动学习系统
建立主动学习流程需要仔细考量几个组成部分:
标注基础设施
一个重要组成部分是人工标注的基础设施。这包括:
- 标注工具:一个用户友好的界面,标注者可以在其中查看查询、检索到的文档片段(或完整文档),并进行相关性判断(例如,二元相关/不相关,或分级相关性)。
- 标注者指南:为标注者提供清晰的指导和示例,以确保标注的一致性和高质量。
- 质量控制:审查标注结果和处理标注者之间分歧的机制。
迭代与收敛
- 批次大小:确定每次主动学习迭代中要标注的实例数量。较小的批次允许更频繁的模型更新,但在标注流程方面效率可能较低。较大的批次每次更新提供更多数据,但会延迟反馈。
- 停止标准:决定何时停止主动学习过程。这可能是当:
- 独立验证集上的模型性能趋于稳定。
- 标注预算耗尽。
- 识别高度不确定或多样化示例的速度显著下降。
与生产工作流集成
对于RAG系统,可以通过从实际用户查询中抽样来集成主动学习。
- 记录用户查询和检索器的输出。
- 定期对这些日志运行选择策略,以识别需要标注的候选对象。
- 将新标签反馈到检索器的微调 (fine-tuning)流程中。
专业提示:从实际用户查询中抽样时,请注意潜在的偏向性。如果某些查询类型数量过多,您的主动学习循环可能会对其进行过度优化。考虑分层采样或引入明确的探索策略,以确保更广泛的覆盖。
权衡优势与实际挑战
主动学习并非万灵药,但其益处往往超过在实际运行的RAG系统中实现时的复杂性。
优势
- 标注效率:与随机采样相比,大幅减少了达到特定性能水平所需的标签数量。这意味着更低的标注成本和更快的模型改进周期。
- 模型专注:将模型训练导向最困难或模棱两可的示例,从而得到一个更强大的检索器。
- 适应性:帮助检索器适应不断变化的数据分布和随着时间变化的用户需求。
- 性能提升:通常带来比相同大小的随机采样数据训练的模型更好的整体检索准确性和相关性。
挑战
- 实现开销:建立主动学习循环、选择策略和标注流程需要投入工程资源。
- 采样偏差:选型不当的选择策略可能会引入偏向性,导致模型在选定实例上表现良好,但在其他实例上表现不佳。
- 标注成本与质量:依赖于人工标注者,这可能耗费高昂且耗时。标注质量至关重要。
- 冷启动:主动学习通常需要一个初始模型来指导选择。如果从头开始,已标注数据很少,初始阶段可能需要进行随机采样或基于启发式规则的选择。
- 计算成本:某些选择策略,特别是那些涉及集成模型或复杂计算(如预期错误减少)的策略,计算量较大。
总结思考:主动学习作为持续优势
在实际运行的RAG系统这个严苛的环境中,相关性至关重要,数据不断变化,主动学习为您的检索组件提供了一种有效机制,以实现持续优化。通过策略性地将标注工作集中在最有价值的数据点上,您可以构建和维护一个能够持续为生成器提供高度相关上下文 (context)的检索器。反过来,这会带来更准确、可靠且有用的RAG输出,从而提升系统整体价值。尽管它需要对基础设施和流程进行前期投入,但从性能、成本效率和适应性方面的长期益处来看,主动学习是高级RAG实践者的工具箱中一项重要技术。