组件级评估#
为了更深入地评估您的工作流程,将其分解为对单个组件的评估会很有帮助。
例如,一个特定的失败案例可能是由于未能检索到正确的文档,以及 LLM 误解了上下文并虚构了不正确的结果。能够将这些问题分开隔离和处理,有助于降低复杂性,并以循序渐进的方式引导您获得更令人满意的整体结果。
利用公共基准测试#
在进行初始模型选择时,查看模型在标准化、多样化的领域或任务集上的表现很有帮助。
一个用于 Embedding 的有用基准是 MTEB 排行榜。
评估检索#
BEIR 数据集#
BEIR 对于评估特定检索模型在零样本设置中是否能很好地泛化到利基领域很有用。
由于大多数公开可用的 Embedding 和检索模型都已经针对 BEIR 进行了基准测试(例如通过 MTEB 基准测试),因此当您拥有一个想要评估的独特模型时,利用 BEIR 会更有帮助。
例如,在您的数据集上对 Embedding 模型进行微调后,查看其在不同领域集上的性能是否以及下降了多少可能会有所帮助。这可以表明数据漂移可能对您的检索精度影响有多大,例如如果您在微调训练分布之外向 RAG 系统添加文档。
这里有一个 Notebook,展示了如何将 BEIR 数据集用于您的检索流程。
我们很快将添加更多评估检索的方法。这包括在您自己的数据集上评估检索。
评估查询引擎组件(例如,不含检索)#
在这种情况下,我们可能想要评估查询引擎的特定组件(可能生成子问题或后续问题的组件)在标准基准测试上的表现。这有助于指示您的检索流程与替代流程或模型相比是落后还是领先。
HotpotQA 数据集#
HotpotQA 数据集对于评估需要多个检索步骤的查询很有用。
示例
局限性
- HotpotQA 在维基百科语料库上进行评估。LLMs,尤其是 GPT4,往往对维基百科的信息记忆得相对较好。因此,该基准对于评估包含像 GPT4 这样有知识模型的检索 + 重排序系统来说并不是特别理想。