详细内容或原文请订阅后点击阅览
在臃肿的 RAG 管道上运行评估
比较数据集和模型之间的指标在臃肿的 RAG 管道上运行评估一文首先出现在 Towards Data Science 上。
来源:走向数据科学构建过度设计的检索系统。那是关于构建整个系统的。这是关于对其进行评估的。
在上一篇文章中,我了解了 RAG 管道的不同部分:正确对数据进行分块、查询优化、检索(语义、BM25 或混合搜索)、重新排名、将块扩展到邻居、构建上下文,然后使用 LLM 进行生成。
我得到的问题之一是:将块扩展到邻居实际上是否可以改善答案,或者它是否只是增加噪音并使模型更难保持稳定?
这就是我们将在这里测试的内容。我们将进行一些基本评估,查看忠实度、答案相关性、上下文相关性和幻觉率等指标,并比较不同模型和数据集的结果。
我已经在这里和这里收集了大部分结果,但我们也会仔细检查它们。
作为注释,我计划稍后将这种“高级”管道与更简单的基线进行比较。但本文主要是对管道进行评估。
在深入研究之前,我总是先浏览一些介绍部分,但如果您是新手,我会首先阅读如何构建基本的 RAG 系统、嵌入如何工作以及 evals/metrics 的实际介绍。然后您还可以阅读如何构建我上面介绍的过度设计的管道,或者至少浏览一下。
如果这些都不是新的,则跳到结果部分。
为什么我们进行评估
评估的目的是确保在比您最喜欢的 10 个问题更大(更有针对性)的语料库上对系统进行压力测试,并确保您推动的任何更改都不会改变系统的质量。
数据、提示或模型的更改可能会在您看不见的情况下极大地影响性能。
在允许对真实用户进行测试之前,您可能还需要向您的团队展示您构建的系统的总体性能。
但在执行此操作之前,您需要决定要测试什么。
为了做好这一点,您应该尝试构建一个黄金集(通常来自用户日志)来进行测试。
❤
