【論文紹介】RAGAS：RAG性能を自動的に評価する

## 0. 読む前に
本内容は自作のLLMシステムによって自動生成されました。人間による微調整があります。

- 論文はこちらに参考してください

https://arxiv.org/pdf/2309.15217

## 1. 言語モデルの限界とRAGシステムの導入

### 知識ベースとしての言語モデルの限界

言語モデル（LMs）は世界の知識を捉えるのに優れ、外部リソースにアクセスせずに質問に答えることができます。このように言語モデルを知識ベースとして捉える考え方は、BERTの登場後すぐに広まり、より大規模な言語モデルの登場に伴い一層確立されました。しかし、最新の巨大言語モデル（LLMs）が様々なQAベンチマークで優れた性能を示しているものの、知識ベースとしての言語モデルには依然として二つの根本的な限界があります。まず、言語モデルは訓練後に発生した事象に答えることができません。次に、最大規模のモデルであっても、訓練コーパスでほとんど言及されていない知識を記憶するのは困難です。

これらの限界は、実際の応用において言語モデルに課題を突きつけます。例えば、最新の情報が必要なシナリオ、リアルタイムのニュース要約や緊急事態対応では、言語モデルの回答が不正確または不完全である可能性があります。同様に、非常に専門的またはニッチな知識が必要な分野、たとえば医学や法学では、信頼できる情報を提供するのが難しい場合があります。

### 検索強化生成（RAG）システムの導入

上記の限界を克服するために、検索強化生成（RAG）システムが導入されました。RAGシステムは、コーパスから関連するテキストを検索し、それらを質問と組み合わせて言語モデルに入力することで、言語モデルの回答能力を強化します。初期のRAG手法は専用の言語モデルによる検索強化に依存していましたが、最近の研究では、検索された文書を単純に標準の言語モデルの入力に追加するだけでも良好な結果が得られることが示されています。

RAGシステムの導入により、最新の事象やニッチな知識に関する質問への言語モデルの信頼性が向上しました。例えば、医療診断において、RAGシステムは最新の医学研究文献を検索し、それを患者の症状と組み合わせて、より正確な診断を提供することができます。また、RAGシステムは法律相談にも利用され、関連する法律条文や判例を検索して、より包括的な法的意見を提供します。

### RAGシステム性能への影響要因

RAGシステムの性能は、さまざまな要因によって影響を受け、細かい調整が必要です。具体的には、検索モデルの選定、コーパスの構築、言語モデルの設定、およびプロンプトの設計などがシステム全体の性能に大きな影響を与えます。例えば、効率的な検索モデルを選択することで、関連する文書の検索品質を大幅に向上させることができますし、包括的で最新のコーパスを構築することで、システムの回答の正確性と時効性を確保できます。

さらに、RAGシステムの性能評価も複雑なプロセスです。従来の評価方法は主に言語モデルのタスク自体に依存しており、例えば参照コーパスのパープレキシティ（困惑度）を測定して評価します。しかし、この方法では必ずしも下流のタスク性能を予測できるわけではなく、特に参照回答が存在しない場合には効果が薄れます。そのため、RAGシステムの自動評価が重要な研究課題となっています。

### RAGASフレームワークの導入

上記の評価問題を解決するために、本文ではRAGASフレームワークが提案され、参照回答がない場合でもRAGシステムを自動的に評価することが可能です。RAGASフレームワークは、回答の正確性だけでなく、検索された文書の有用性も評価できます。Llama IndexやLangchainとの統合により、RAGASフレームワークを既存のRAGソリューションに簡単に統合できるようになっています。

RAGASフレームワークの導入は、RAGシステムの開発と評価に標準化されたツールを提供し、この分野の発展を促進します。例えば、教育分野では、RAGASを使用して自動化学習システムの性能を評価し、学生が正確で有用な学習リソースを得られるようにすることができます。同様に、ビジネスインテリジェンス分野では、RAGASが企業の情報検索システムの有効性を評価し、意思決定支援システムを最適化するのに役立ちます。

## 2. RAGシステムの自動評価戦略

### 忠実性（Faithfulness）

RAGシステムにおける忠実性とは、生成された回答が検索されたコンテキストに基づいていることを意味します。この指標は、回答の真実性と信頼性を保証し、生成された回答がコンテキストと無関係または不正確である「幻覚」現象を回避するために極めて重要です。忠実性を評価するために、研究者はGPT-3.5-turbo-16kモデルを使用し、回答を複数の短文に分解し、それらの短文がコンテキストから推論できるかを順次検証します。具体的な手順は以下の通りです。

1. **文の分解**：回答をいくつかの短文に分解し、それぞれの短文が具体的な主張となるようにします。
2. **検証プロセス**：GPT-3.5-turbo-16kモデルを使用して、各短文がコンテキストから推論できるかを確認します。
3. **スコア計算**：忠実性スコアは、サポートされた短文数と全短文数の比率として計算されます。

この方法により、評価の自動化が進むとともに、回答とコンテキストの緊密な関係が保証され、RAGシステムの実用性が向上します。

### 回答の関連性（Answer Relevance）

回答の関連性とは、生成された回答が事実性を考慮せずに、提示された質問に直接応答することを意味します。回答の関連性を評価する方法として、複数の潜在的な質問を生成し、それらの質問と元の質問の類似度を計算します。具体的な手順は以下の通りです。

1. **質問生成**：GPT-3.5-turbo-16kモデルを使用して、回答に基づいて複数の潜在的な質問を生成します。
2. **類似度計算**：text-embedding-ada-002モデルを使用して、各潜在質問と元の質問のコサイン類似度を計算します。
3. **スコア計算**：回答の関連性スコアは、すべての類似度の平均値として計算されます。

この方法により、回答と質問の一致度が定量化され、生成された回答の関連性が向上し、ユーザー体験とシステムの実用性が向上します。

### コンテキストの関連性（Context Relevance）

コンテキストの関連性とは、検索されたコンテキストができるだけ質問に対する回答に必要な情報を含むことを意味し、無関係な内容を排除することです。コンテキストの関連性を評価する方法として、コンテキストから重要な文を抽出し、それらの文が全体の文に占める割合を計算します。具体的な手順は以下の通りです。

1. **文の抽出**：GPT-3.5-turbo-16kモデルを使用して、コンテキストから質問に答えるために必要な重要な文を抽出します。
2. **スコア計算**：コンテキストの関連性スコアは、抽出された重要な文の数とコンテキスト全体の文の数の比率として計算されます。

この方法により、冗長な情報が減少し、システムの効率と正確性が向上します。特に長いコンテキストを扱う際に重要です。

### 研究の関連性と応用シナリオ

この参照不要の自動評価戦略は、AI分野で広範な応用の可能性を秘めています。例えば、法律や医療など高い正確性と信頼性が求められる分野で、RAGシステムはこの評価手法を通じて生成内容の真実性と関連性を確保することができます。また、この手法は他の自然言語処理タスク、たとえば機械翻訳やテキスト要約にも新しい視点を提供します。

## 3. WikiEvalデータセットの構築と機能

### データセット構築プロセス

WikiEvalデータセットは、新しいフレームワークの評価を目的として構築され、特に人間の判断による注釈が付けられた質問応答の文脈三重項を含むように設計されました。研究者たちはまず、2022年以降の50のWikipediaページを選択し、これらのページは最近発生した出来事に関するもので、最近編集履歴があるページが優先されました。質問を生成するためにChatGPTが使用され、特定のプロンプトが設定され、生成された質問が完全に与えられた文脈に基づいて答えられるようにし、さらにその質問が適度な難易度で情報豊富であることが求められました。

質問生成のステップは以下の通りです：
1. 質問が完全に与えられた文脈から答えられることを確認する。
2. 質問には非凡な情報が含まれていること。
3. 答えにはリンクが含まれないこと。
4. 質問の難易度は適度であること。
5. 質問は人間に理解され、答えられるものでなければならないこと。
6. 「提供された文脈」などのフレーズを質問に使用しないこと。

その後、ChatGPTは与えられた文脈に基づいて対応する答えを生成しました。これらの質問と答えは、忠実性、回答の関連性、文脈の関連性という3つの次元に基づいて、流暢な英語を話す2名の注釈者によって評価されました。

### 人間の注釈と評価の一致性

データセットの品質を確保するために、各質問と答えは注釈者によって詳細に注釈されました。忠実性の評価では、注釈者は追加の文脈なしで生成された答えが標準の答えと比較してどちらが忠実であるかを判断しました。回答の関連性については、不完全な答えと標準の答えを比較し、どちらの答えがより関連しているかを判断しました。文脈の関連性においては、追加の文脈情報を加えて、注釈者がその情報が質問に答える際にどの程度関連しているかを評価しました。

忠実性と文脈の関連性に関する注釈者の意見一致率は約95%に達し、回答の関連性に関しては約90%の一致率を示しました。これらの高い一致率は、注釈プロセスの信頼性とデータセットの高い品質を示しています。

### 自動評価指標と人間の判断の一致性検証

自動評価指標と人間の判断の一致性を検証するために、研究者たちはRAGシステムとGPTモデルのスコアリング結果を人間の注釈者の判断結果と比較しました。RAGシステムの忠実性、回答関連性、文脈関連性におけるスコアはそれぞれ0.95、0.78、0.70であり、GPTモデルのスコアはそれより低かったです。これらの比較により、研究者たちは自動評価指標の有効性を評価し、今後の改良に向けたデータを提供しました。

### WikiEvalデータセットの応用と展望

WikiEvalデータセットは、検索強化生成（RAG）システムの評価における重要なリファレンスデータを提供します。詳細な注釈と高い一致率を持つこのデータセットを通じて、研究者たちはRAGシステムの性能をより正確に評価し、改善することができます。また、このデータセットは他の自然言語処理タスク、例えば質問応答システム、テキスト生成、情報検索などにも活用可能です。

## 4. 実験結果と評価モデル

### モデルと人間の評価の一致性

本研究では、WikiEvalデータセット上で実験を行い、モデルと人間の評価の一致性を分析しました。具体的には、各WikiEvalインスタンスにおいて、モデルが2つの答えまたは2つの文脈を比較し、モデルがどちらの答え/文脈を好むかが人間の注釈者と一致する頻度を計算しました。結果は、モデルと注釈者の一致したインスタンスの割合（正確率）で表されました。

背景情報をより包括的に提供するために、本研究では提案された指標（表1にRAGAsとして示されています）を2つのベースライン手法と比較しました。1つ目のベースライン手法はGPT Scoreで、これはChatGPTが特定の品質次元に基づいて0から10までのスコアを付ける方法です。2つ目のベースライン手法はGPT Rankingで、ChatGPTがより優れた答え/文脈を選ぶという方法です。結果として、RAGAs指標は忠実性評価において優れた性能を示し、人間の判断と高度に一致しました。

### RAGAs指標とベースライン手法の比較

RAGAs指標は、複数の品質次元で優れた性能を示し、特に忠実性評価において顕著でした。これに対し、GPT ScoreとGPT Rankingはこれらの次元で相対的に劣っていました。忠実性は、答えと与えられた文脈の情報の一致性を指しますが、RAGAsはこの次元での正確率がベースライン手法を大幅に上回りました。これは、RAGAsが答えと文脈の論理的な関係をよりよく捉え、人間の判断により近いことを示しています。

しかし、回答の関連性や文脈の関連性の評価において、RAGAsと人間の判断との一致性はやや低めでした。回答関連性の評価が難しい理由は、候補の答え間の違いが非常に微妙であることが多いためです。また、文脈関連性の評価はより複雑で、特に長い文脈を処理する際に難しさが増します。GPT Rankingはこれらの次元で特に低い性能を示し、細かい差異や長い文脈における重要な文の選択を捉える能力に大きな不足があることを示しました。

### 評価の難しさと改善方向

回答の関連性と文脈の関連性は、評価における難題となっています。回答の関連性は、モデルがどの答えがより直接的に質問に応答しているかを認識し、冗長な情報や不完全な答えを除外できるかにかかっています。一方、文脈の関連性は、モデルが長い文脈から重要な文を選び出す必要があり、これには現在の言語モデルに対してより高い要求が課されています。

実験結果によると、ChatGPTは長い文脈から重要な文を選択する際に低い性能を示しており、特に長文においてこの問題が顕著です。これは、現在のモデルが長文の理解や重要な情報の抽出において限界があることを明らかにしています。今後の研究では、より高度なモデルアーキテクチャやトレーニング方法を探求し、これらの複雑なタスクでのモデル性能向上を目指す必要があります。

### 他の研究との関連と新たな課題

本研究の発見は、AI分野の他の関連研究と密接な関係があります。近年、自然言語の理解と生成に関する研究が急速に進展しており、特に複雑な文脈におけるモデルの性能向上が重要な課題とされています。本研究はRAGAs指標を提案することで、この分野に新たな評価手法と洞察を提供しました。

また、本研究は新たな課題と応用シナリオも提起しています。例えば、モデルの長文における重要な文の選択能力をさらに向上させる方法は？外部の知識ベースやより複雑な文脈モデリング技術を導入することで、この問題を解決できるか？これらの問題の探求は、AI分野のさらなる発展に貢献するでしょう。

## 5. 関連研究の概観

### 幻覚の検出と生成テキストの自動評価方法

大規模言語モデル（LLMs）による生成テキストの幻覚を検出することは、広く研究されている課題です。Jiら（2023）はこの問題を詳細に論じ、標準的なプロンプト戦略を使用する既存のモデルでは幻覚を効果的に検出することが難しいことを指摘しています（Li et al., 2023; Azaria and Mitchell, 2023）。この問題を改善するために、Zhangら（2023）はfew-shot promptingを使用して生成テキストの事実性を予測する方法を提案しましたが、その効果は限定的です。

もう一つの方法は、生成テキストを外部の知識ベースにリンクさせるものです（Min et al., 2023）。この戦略は一部の状況で有効ですが、常に実行可能なわけではありません。この課題に対処するため、生成テキストの条件付き確率を確認する方法も提案されています。例えば、BARTScore（Yuan et al., 2021）は、与えられた入力に対する生成テキストの確率を通じて事実性を推定します。Kadavathら（2022）はこのアプローチを選択肢問題に応用し、生成テキストの正確性を検証しました。

また、AzariaとMitchell（2023）は、LLMの隠れ層の重みを利用して文の真偽を予測する、監視された分類器を訓練する方法を提案しました。しかし、この方法はモデルの隠れ状態へのアクセスを必要とするため、APIを介してLLMを利用するシステムには適用できません。

### 複数の回答をサンプリングする手法

token確率を提供できないモデル（例：ChatGPTやGPT-4）に対しては、Manakulら（2023）が提案したSelfCheckGPT手法があり、これは複数の回答をサンプリングして事実性を検出します。この手法の核心となる考え方は、事実に基づいた回答はより安定しているというものです。事実性の高い回答は、異なるサンプル間での意味的な類似性が高く、一方で幻覚を含む回答はこのような安定性が低いとされています。

### 生成テキストのその他の評価方法

事実性の評価に加えて、LLMsは生成テキストの他の側面、例えば流暢性や参照回答に基づいた評価にも使用されています。GPTScore（Fu et al., 2023）は、特定の評価側面に基づいたプロンプトを指定し、生成されたtokenの平均確率に基づいてテキストをスコアリングします。Wangら（2023a）は、ChatGPTに特定の回答に対して直接スコアを付けるよう指示しましたが、この方法はプロンプト設計に大きく依存します。

異なるLLMsの性能を比較する際に、一部の研究者はLLMに複数の候補回答から最良の回答を選択させています（Wang et al., 2023b）。ただし、この方法では回答の提示順序に注意する必要があります。順序が結果に影響を与える可能性があるためです。

参照回答を使用した評価では、BERTScore（Zhang et al., 2020）やMoverScore（Zhao et al., 2019）が、事前訓練されたBERTモデルのコンテキスト埋め込みを利用し、生成された回答と参照回答の類似性を比較します。BARTScore（Yuan et al., 2021）は、生成回答と参照回答の正確性と再現率を計算することでテキストを評価します。

### 新たな課題と応用シナリオ

上述の方法は、LLMが生成したテキストの評価問題をある程度解決しましたが、未解決の課題が多く残されています。例えば、参照回答がない場合に生成されたテキストの質をどのように効果的に評価するか、また、実際の応用においてモデルの複雑さと評価の正確性をどのようにバランスさせるか、といった問題です。これらの問題の解決は、AIによるテキスト生成と評価の分野をさらに前進させるでしょう。

## 6. 結論と今後の課題

### 論文の主な貢献と長所

本論文の主な貢献は、RAG（検索強化生成）システムの性能を、自動化され、かつ参照回答がない状況で評価するためのRAGASフレームワークを提案したことにあります。このフレームワークの核心は、回答の忠実性、回答の関連性、文脈の関連性を評価することで、システムの品質を測定することです。このフレームワークの開発を支援するため、論文ではWikiEvalデータセットを導入しており、これには前述の3つの側面に対する人間の評価結果が含まれています。RAGASフレームワークの実装には、GPT-3.5-turbo-16kおよびtext-embedding-ada-002モデルが使用され、忠実性と回答関連性の評価において、人間の評価結果と高度に一致することが証明されました。

### 論文の限界

RAGASフレームワークは多くの点で優れた結果を示しましたが、いくつかの改善点もあります。まず、回答関連性や文脈関連性の評価において、特に長い文脈に対するモデルのパフォーマンスが十分ではありません。具体的には、ChatGPTは重要な文を選択する際にしばしば困難を示し、文脈関連性の評価結果が正確でない場合があります。また、回答関連性の評価では、候補回答の差異が微妙すぎる場合、モデルの評価と人間の評価が一致しにくいという問題があります。

### 未来の研究方向と展望

上述の限界を克服するために、今後の研究では以下の点に焦点を当てた改良と拡張が求められます：

#### 評価方法の改善
今後の研究では、より複雑なモデルやアルゴリズムを探索し、回答関連性や文脈関連性の評価精度を向上させることが重要です。例えば、マルチモーダルデータやより高度な自然言語処理技術を導入することで、長文や複雑な文脈に対するモデルの理解能力を強化することが考えられます。

#### RAGASフレームワークの汎用性の検証
RAGASフレームワークが、異なるタイプのRAGシステムや多様な応用シナリオでどれだけ汎用的に適用可能かを検証することも重要です。これにより、フレームワークの一般性とロバスト性を確認し、様々な実際の応用において信頼できる評価結果を提供できるかどうかが検証されます。

#### データセットの拡充
さらに多様な問題や文脈を含む、より大規模なデータセット（例：WikiEval）の開発も求められます。これにより、より汎用的な評価モデルを訓練および検証することができ、評価結果の信頼性と精度が向上します。

#### 新しい評価次元の探索
忠実性、回答関連性、文脈関連性に加えて、将来の研究では、生成内容の独創性やユーザー満足度など、他の重要な評価次元も探索することで、より包括的な評価フレームワークを提供することができます。

以上のように、本論文で提案されたRAGASフレームワークは、RAGシステムを自動化で評価するための重要なツールであり、今後の研究や開発において強固な基盤を提供します。さらに改善および拡張することで、このフレームワークは、より広範なAI応用シナリオで一層重要な役割を果たし、生成AI技術の発展を促進するでしょう。