LLMQA

# 原典

[Harnessing Multi-Role Capabilities of Large Language Models for Open-Domain Question Answering](https://arxiv.org/abs/2403.05217)

# LLMQA: 大規模言語モデルのマルチロール活用によるオープン・ドメイン質問応答

LLMQAは、オープン・ドメイン質問応答（ODQA）のための新しいフレームワークであり、大規模言語モデル（LLM）の多様な能力を統合的に活用することで、従来のODQA手法の限界を克服することを目指しています。

# 背景と課題

従来のODQAは、主に以下の2つのパラダイムに分類されます。

1.  **Retrieve-then-read**: 外部コーパスから関連文書を検索し、それに基づいて回答を生成します
2.  **Generate-then-read**: LLMを用いて関連文書を生成し、それに基づいて回答を生成します

しかし、これらのパラダイムはそれぞれ限界があり、多様な証拠要件に十分に対応できません。Retrieve-then-readは、事実に基づいた正確な情報を提供できるものの、多様性に欠ける場合があります。Generate-then-readは、多様な証拠を提供できるものの、事実に基づいた正確性に欠ける場合があります。

# LLMQAの提案

LLMQAは、これらの課題を解決するために、以下の3つの基本的なステップでODQAプロセスを構成します。

1. **クエリ拡張**: LLMを用いて質問を拡張し、背景知識や説明を生成します。これにより、質問のコンテキストを豊かにし、より適切な文書検索と回答生成を可能にします
2. **文書選択**: 検索ベースの証拠と生成ベースの証拠を統合し、関連文書を再ランキングします。これにより、事実に基づいた信頼性と多様性を兼ね備えた証拠を収集します
3. **回答生成**: 質問と収集した証拠に基づいて、最終的な回答を生成します

# LLMのマルチロール活用

LLMQAでは、LLMを以下の3つの役割で活用します。

1.  **ジェネレーター**: クエリ拡張を行い、回答生成のための包括的かつ適切な情報を提供します
2.  **リランカー**: 検索された文書を優先順位付けし、より有効で関連性の高い証拠を抽出します
3.  **エバリュエーター**: ジェネレーターとリランカーと相互作用し、評価フィードバックを提供して、出力を改善します

# プロンプト最適化

LLMの性能は、プロンプトの質に大きく依存します。LLMQAでは、プロンプト最適化アルゴリズムを導入し、役割に応じたプロンプトを洗練し、より高品質な証拠と回答を生成するようにLLMを誘導します。

LLMQA論文におけるプロンプト最適化について、詳細を以下にまとめます。

## **プロンプト最適化の目的**

*   LLM（大規模言語モデル）の性能は、使用するプロンプトの質に大きく依存します。
*   LLMQAフレームワークでは、LLMがジェネレーター、リランカー、エバリュエーターという複数の役割を担います。
*   各役割において、LLMが最高のパフォーマンスを発揮できるように、適切なプロンプトを設計することが重要です。
*   プロンプト最適化の目的は、LLMがより質の高いエビデンスと回答を生成できるように、プロンプトを改善することです。

## **プロンプト最適化の手法**

1.  **Variational Inferenceの活用:**
    *   ODQAの生成プロセスをベイズグラフモデルとして定式化し、エビデンス（クエリ拡張、選択されたドキュメント）を潜在変数として扱います。
    *   Variational Inferenceを用いて、この潜在変数の分布を学習し、プロンプトを最適化します。
2.  **ELBO（Evidence Lower Bound）の最大化:**
    *   対数尤度を最大化する代わりに、ELBOを最大化することで、プロンプトを最適化します。
    *   ELBOは、事前分布と事後分布のKLダイバージェンスを考慮しており、モデルの複雑さを制御する役割を果たします。
3.  **backward processによるプロンプトの更新:**
    *   まず、事前分布に従ってクエリ拡張、リランクされたドキュメント、回答を生成します。
    *   次に、正解を条件として、事後分布を近似します。
    *   事後分布を近似するために、複数の候補をサンプリングし、エバリュエーターを用いてスコアリングします。
    *   最後に、ELBOを最大化するように、プロンプトを更新します。
4.  **プロンプトの具体例:**
    *   論文では、クエリ拡張とドキュメントリランキングのプロンプトの例が示されています。
    *   最適化されたプロンプトは、初期プロンプトよりも詳細な指示や洞察を含んでいます。
    *   例えば、クエリ拡張のプロンプトでは、より詳細な役割の説明や、タスクを解決するための代替指示が追加されています。
    *   リランキングのプロンプトでは、曖昧な内容が修正されています。

## **プロンプト最適化の効果**

*   実験結果から、プロンプト最適化によって、LLMQAの性能が向上することが示されています。
*   特に、WebQデータセットにおいて、EMスコアが大幅に向上しています。
*   これは、プロンプトの質が、LLMの役割遂行能力に直接影響することを示唆しています。

## **その他**

*   論文では、プロンプト最適化にテキスト埋め込みモデル（text-embedding-ada-002 from OpenAI）を使用しています。
*   プロンプト最適化は、離散空間での最適化問題として扱われています。


# 実験結果

LLMQAは、NQ、WebQ、TriviaQAなどの広く使用されているODQAベンチマークで実験的に評価されました。実験結果は、LLMQAが回答精度と証拠品質の両方において最先端の性能を達成し、ODQA研究と応用の進歩に貢献する可能性を示しています。

# LLMQAの主な貢献

* 検索ベースと生成ベースの証拠を組み合わせる新しいパラダイムである、ODQAプロセスを定式化するための汎用フレームワークモデルであるLLMQAを提案します
* LLMをジェネレーター、リランカー、エバリュエーターの3つの役割で効果的に指示し、提案された統一フレームワークの下でそれらの協調的な相互作用を統合します
* LLMがより高品質な証拠と回答を生成するように誘導するための、新しいプロンプト最適化アルゴリズムを導入します。広範な実験結果は、LLMQAが回答精度と証拠品質の両方の点で最高のパフォーマンスを達成することを示しています

# 結論

LLMQAは、LLMのマルチロール能力を活用することで、ODQAの性能を大幅に向上させる可能性を示しました。プロンプト最適化アルゴリズムは、LLMの性能をさらに向上させるための重要な要素です。LLMQAは、ODQA研究と応用の進歩に貢献する有望なフレームワークです。

# 補足

* LLMQAは、LLMの知識を活用して、質問のコンテキストを豊かにし、より適切な文書検索と回答生成を可能にします
* LLMQAは、検索ベースの証拠と生成ベースの証拠を統合することで、事実に基づいた信頼性と多様性を兼ね備えた証拠を収集します
* LLMQAは、LLMを複数の役割で活用することで、ODQAの性能を最適化します
* LLMQAは、プロンプト最適化アルゴリズムを導入することで、LLMの性能をさらに向上させます

この説明は、論文に基づいてLLMQAの主要な側面をまとめたものです。より詳細な情報については、元の論文を参照してください。