効率的なRAGシステムの構築:Part 2 | Jiayuan (Forrest)

コンテンツ

devv.ai 是如何构建高效的 RAG 系统的 Part 2 这个系列的 thread 会分享 devv.ai 背后构建整个 Retrieval Augmented Generation System 的经验,包括在生产环境上的一些实践。 这是系列的第二篇,主题是「如何评估一个 RAG 系统」。 🧵

上篇我们提到了什么是 RAG 系统,以及构成的基本要素,这里再来复习一下。 一个最基本的 RAG 系统由以下 3 个部分组成: 1. 语言模型 2. 外部知识合集 3. 当前场景下所需要的外部知识

想要优化整个系统,就可以把问题分解为优化这个系统的每个部分。 但是优化一个基于 LLM 的系统的难点在于,这个系统本质上是一个黑盒,没有一套有效的评估手段。 如果连最基础的 benchmark 也没有,怎么提升对应的指标也就是空谈了。

所以我们要做的第一件事就是先建立对整个 RAG 系统的评估体系。 来自 Stanford 的这篇论文主要做的就是这个工作,评估生成式搜索引擎的可验证性。 arxiv.org/abs/2304.09848

この論文はGenerative Search Engine(生成式検索エンジン)の評価に使用されていますが、その方法はRAGにも適用できます。本質的にGenerative Search EngineはRAGのサブセットであり、特定の領域データに対応したRAGシステムもあります。

論文中提到了一个值得信赖的 Generative Search Engine 的先决条件就是:可验证性(verifiability)。 我们都知道 LLM 经常会一本正经的胡说八道(幻觉,hallucination),生成一些看似对,实则错的内容。 而 RAG 的一个优势就是给模型提供了参考资料,让模型降低幻觉的概率。

そしてこの幻覚の程度は、検証可能性という指標で評価することができます。理想的なRAGシステムは次のとおりです:- 高い引用リコール率(high citation recall)、つまりすべての生成コンテンツが十分な外部知識の引用を持っていること- 高い引用精度(high citation precision)、つまりそれぞれの引用が生成されたコンテンツを本当に支持しているかどうか

実際には、これら2つの指標を100%にすることは不可能です。論文の実験結果によると、既存の生成型検索エンジンによって生成されるコンテンツには根拠のない記述や不正確な引用が頻繁に含まれており、それぞれの割合は51.5%と74.5%です。要するに、生成されたコンテンツと外部の知識が一致しないということです。

论文对 4 个主流的 Generative Search Engine 进行了评估: - Bing Chat - NeevaAI(已经被 Snowflake 收购) - Perplexity - YouChat 评测的问题来自不同的主题和领域。

采用了 4 个指标来进行评估: 1. fluency,流畅性,生成的文本是否流畅连贯 2. perceived utility,实用性,生成的内容是否有用 3. citation recall,引文召回率,所生成的内容完全得到引文支持的比例 4. citation precision,引文精度,引文中支持生成内容的比例

要約する
RAGシステムの評価は、Stanfordの論文に基づいて行われる。流暢さ、有用性、引用の再現率、引用の精度の4つの指標で評価される。引用の再現率と引用の精度を使用してCitation Fを計算し、システム全体の改善を判断する。また、自動評価フレームワークの構築や適切な評価セットの選定が重要である。