「検索拡張生成のための情報検索」
Information retrieval for search extension generation
パフォーマンスを劇的に向上させるための3つの実戦済みのヒント
Retrieval Augmented Generation (RAG) は、情報検索 (IR) コンポーネントをコンテキスト生成プロセスに使用する大規模言語モデル (LLM) ベースのアプリケーションを指します。LLMに関連情報を提供する高性能なIRコンポーネントを持つことは、堅牢なRAGアプリケーションの構築に不可欠です。この記事では、情報検索システムのパフォーマンスを劇的に向上させることができる3つ(半分)のシンプルなヒントについて詳しく説明します。さあ、早速見ていきましょう!
ヒント0.5 – IRのパフォーマンスを評価する
情報検索は、検索クエリに関連する膨大なデータから情報を見つけるプロセスを指します。RAGアプリケーションでは、取得したテキストはユーザーが提供した質問に添付され、LLMに送信されるプロンプトを作成します。
パフォーマンスを向上させるためのヒントについて話す前に、情報検索のパフォーマンスを信頼性のある方法で測定する必要があります。
評価セットの作成
- 「勝つための機械学習の履歴書の作り方」
- 「インプレッションGPT:放射線学報告書要約のためのChatGPTベースの反復最適化フレームワークに会いましょう」
- 「機械学習タスクの自動化:MLCopilotがLLMを活用して開発者を支援し、機械学習プロセスを効率化する方法」
評価セットには、代表的なクエリQのリスト、ドキュメントDのリスト、およびどのドキュメントがどのクエリに対して関連しているかを示すバイナリ行列が含まれている必要があります。代表的なクエリは、ユーザーがシステムで一般的に行うさまざまな種類の検索を示すものです。
ヒント:特定のドキュメントが特定のクエリに対して関連情報を含んでいるかどうかを尋ねることで、行列を構築するためにLLMを利用してください。
適切な評価指標の選択
IRシステムが関連するすべてのドキュメントを返すかどうか(再現率が高いか)と、実際に関連するドキュメントのみを返すかどうか(適合率が高いか)を確認したいです。使用ケースによっては、一方が他よりも重要な場合があります。
IRシステムを構築する際に、返されるドキュメントの数Kを決定する必要があります。これは多少の技術的な判断が必要です。ノイズ(および潜在的なコスト)を減らすためにKをできるだけ小さくしたい一方で、関連情報をできるだけ多く含む結果を得たいと考えています。そのため、さまざまなK値に対する期待される品質を測定することの重要性があります。
これらの2つの考慮事項に基づいて、ほとんどの使用ケースにおいて推奨する評価指標は、ランクkにおける適合率(P@k)および再現率(R@k)です。使用ケースに適した適切な評価指標の選択に時間をかけることが重要です。詳細については、Pineconeの以下のブログ記事を強くお勧めします。
ベースラインを確立し、私のヒントが有効かどうかを確認するためのツールがあるので、さあ、本題に入りましょう。
ヒント1- 類似距離のためにTF/IDFを統合する
埋め込み空間のコサイン類似度以上の類似距離について教えてくれていますか? それは、はい。
すべての洗練された埋め込みベースの距離計算よりも、IRシステムはTF/IDFに基づいていました。これは、特定のドキュメントで頻繁に発生する用語を基にドキュメントの類似性を直感的に計算するアプローチですが、全体のドキュメントコレクションでは希少です。実際、埋め込みベースの検索に加えて、TF/IDFのバリエーションを類似性計算に統合することで、大幅なパフォーマンス向上が得られることがわかります。
これは、各ドキュメントを密な埋め込みベクトルと疎な単語の集合ベクトルの組み合わせとして表現することで実現できます。このメソッドは、ベクトルストアプロバイダーであるPinecone、Weaviateなどの人気のあるベクトルストアプロバイダーにはデフォルトでサポートされています。
Tip 2 — テキストをそのまま埋め込まないでください
埋め込みの方法やモデルに関係なく、その目的は「似ている」テキストを「似ている」埋め込みベクトルにマッピングすることです。
問題は、保存された情報が取得クエリと全く異なる形式を持っている場合に発生します。たとえば、質問応答では、保存された情報は長い情報文書であり、取得クエリは短い質問である可能性があります。
この問題を緩和するためには、埋め込みプロセスの最初のステップとして、保存された情報と取得クエリを共通の構造にフォーマットする必要があります。これは、保存された情報の埋め込み手順、取得クエリ、またはその両方で行うことができます。フォーマット操作はユースケースとドメインに依存します。
ヒント:多くのユースケースでは、フォーマット操作はLLMによって実行できます。
例:
- 質問と回答 — 各保存ドキュメントに対して、LLMに「このドキュメントはどの質問の回答を提供していますか?」と尋ね、この応答の埋め込みをドキュメントの表現として使用します。
- JSONなどの非テキスト形式は、それらに格納されている情報を説明するテキストの段落に変換することができます。
Tip 3 — 文章ではなく段落を埋め込む
より小さいテキストオブジェクトに焦点を当てることは、次の理由から全体的な検索結果の品質を向上させる可能性があります:
- より正確な埋め込み:段落は通常、1つのトピックに焦点を当てるため、埋め込みベクトルはより良いコンテキスト保存を持ちますが、ドキュメントは複数のトピックにまたがる可能性があります。
- ノイズが少ない:返される結果はより焦点を絞り、オフトピックの情報が少なくなります。
- RAGに特に適しています — コンテキストウィンドウにより多くのドキュメントの情報を収めることができます。
一方で、いくつかの注目すべき欠点もあります:
- 埋め込みベクトルの数が大幅に増加し、それらに基づいた距離計算の数も増加します。
- 一部の段落には、ドキュメントのコンテキストなしでは理解できない情報が含まれる場合があります。
結論
Retrieval Augmented Generationの効率は、情報検索コンポーネントの効果に大きく依存します。したがって、情報検索コンポーネントを正確に評価し、それを改善するための取り組みが重要です。
情報の保存方法や類似性検索方法にわずかな変更を加えることで、情報検索の品質を劇的に向上させることができます。この記事で議論された3つのヒントは、戦闘テスト済みで、統合されたアプリケーションのパフォーマンスを向上させることが証明されています。
約束された効果をもたらすヒントの統合や、ご自身の効果があった追加のヒントについてのご意見をお待ちしています。
Nadav BarakはDeepchecksというスタートアップ企業の実践的な研究者であり、組織にMachine Learningベースのシステムを検証および監視するツールを提供しています。Nadavはデータサイエンスの豊富なバックグラウンドを持ち、生成的なNLPアプリケーションの構築と改善におけるドメインエキスパートです。
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- メトリックは欺くことができますが、目はできません:このAIメソッドは、ビデオフレーム補間のための知覚的な品質メトリックを提案します
- 言語ドメインにおける画期的かつオープンソースの対話型AIモデルのリスト
- 「最適化によるAIトレーニングにおける二酸化炭素排出量の削減」
- PoisonGPTとは:それ以外は信頼されたLLMサプライチェーンに悪意のあるモデルを導入するためのAI手法
- ハギングフェイスTGIを使用した大規模言語モデルの展開
- 「最高のAI画像エンハンサーおよびアップスケーリングツール(2023年)」
- 「このように考えて私に答えてください:このAIアプローチは、大規模な言語モデルをガイドするためにアクティブなプロンプティングを使用します」