OpenAI RAGとカスタマイズRAG:どちらが優れているか?

この記事は元々The New Stackで公開されたもので、許可を得てここに再掲載している。
最近導入されたOpenAI Assistants retrieval featureは、AIコミュニティで重要な議論を巻き起こした。このビルトイン機能には、質問応答のためのRAG(Retrieval Augmented Generation)機能が組み込まれており、GPT言語モデルがより正確で適切な回答を生成するために追加知識を利用することができます。以前の投稿](https://zilliz.com/blog/customizing-openai-built-in-retrieval-using-milvus-vector-database)では、OpenAIのビルトインRAG検索の制約を探り、カスタマイズされた検索ソリューションを作成することが有益な状況について議論しました。
この投稿では、OpenAIのRAGと、Milvusのようなベクトルデータベース上に構築されたカスタマイズされたRAGのパフォーマンスを比較することで、このトピックをより深く掘り下げます。各アプローチの長所、短所、ニュアンスを評価し、最終的に「どちらが優れているか」という重要な問いに答えます。
検索拡張世代(RAG)とは?
OpenAIのビルトインRAGとカスタマイズされたRAGシステムを評価する前に、RAGとは何かを理解することから始めましょう。
RAG、またはRetrieval Augmented Generationは、大規模言語モデル(LLMs)が最も正確で最新の情報に基づくことを保証するために、外部の知識ベースから事実を検索するAIのフレームワークです。典型的なRAGシステムは、LLM、Milvusのようなベクトルデータベース、およびコードとしてのプロンプトから構成される。
RAG評価ツールラガス
RAGのパフォーマンスを評価するのは複雑な作業です。適切なデータセットで複数のメトリクスを評価し、再現可能な結果を保証する、公正で客観的なRAG評価ツールが必要です。
Ragasは、RAGシステムの性能評価に特化したオープンソースのフレームワークです。RAGアプリケーションの品質を包括的かつ多角的に評価するために、RAGシステムのさまざまな側面を測定するさまざまなスコアリング指標を提供します。
この投稿では、OpenAI RAGと私たちがカスタマイズしたRAGシステムを評価するための主なメトリクスとして、忠実性、回答の関連性、文脈の正確さ、回答の類似性、回答の正しさを使用します。
忠実度**:与えられたコンテキストにおける、生成された答えの事実上の正確さを評価する。
回答の関連性**:生成された答えと質問の関連性を評価する。
コンテキストの精度**:検索されたコンテキストの信号対雑音比。
答えの正しさ**:グランドトゥルースと比較した生成された回答の正確さを評価する。
答えの類似性(Answer Similarity):** 生成された答えとグランドトゥルース(ground truth)の間の意味的な類似性を評価する。
Ragasとすべてのメトリクスの詳細についてはRagas documentationを参照してください。
RAG評価データセットFiQA
我々は評価のためにFinancial Opinion Mining and Question Answering (FiQA) データセットを選択した。このデータセットには、我々の評価に理想的な以下のような特徴がある:
GPTモデルの学習データには存在しそうにない、高度に専門化された金融知識が含まれている。
このデータセットは当初、情報検索能力を評価するために設計されたため、標準的な回答(ground truth)として機能する、十分に注釈が付けられた知識スニペットが提供される。
Ragasとそのコミュニティは、FiQAを標準的な入門テストデータセットとして広く認知している。
RAGシステムのセットアップ
では、比較のために2つのRAGシステムを構築してみよう。OpenAI RAGと、Milvus vector database上に構築されたCustomized RAGである。
OpenAI RAG のセットアップ
OpenAIの公式ドキュメント](https://platform.openai.com/docs/assistants/tools/knowledge-retrieval)に従って、OpenAIのアシスタントを使ったRAGシステムを構築します。アシスタントの構築、外部知識のアップロード、コンテキスト情報の取得、回答の生成などを行います。その他の設定はデフォルトのままです。
Milvusを使用したカスタマイズRAGのセットアップ
外部知識を保存するために、Milvusベクトルデータベースを使用してカスタムRAGシステムを手動でセットアップする必要があります。埋め込みモデルとして HuggingFace の `BAAI/bge-base-en` を使用し、ドキュメントのインポートやエージェントの構築には様々なLangChain コンポーネントを使用する。
詳しい情報は、こちらのstep-by-step guideを参照してください。
構成比較
つのRAGシステムの構成の詳細を以下の表にまとめる。詳細については、我々の実装コードを参照。
| OpenAI RAG | Customized RAG | --------------- | ------------------ | ------------------- | | LLMモデル | gpt-4-1106-preview | gpt-4-1106-preview | | ベクトルDB | 埋め込みモデル|非開示|BAAI/bge-base-ja | チャンクサイズ|非開示|1000 | チャンクの重なり|非開示|40 | トップク|非開示|5 | 使用エージェント|あり|あり|あり
表:OpenAI RAGとカスタマイズRAGの構成比較
上の表に示すように、どちらの RAG システムも LLM モデルとして \gpt-4-1106-preview` を使用している。カスタマイズ RAG では、ベクトルデータベースとして Milvus を使用している。しかし、OpenAI RAGは、内蔵のベクトルデータベースやその他の設定パラメータを公開していない。
評価結果と分析
Ragasを使って、コンテキストの正確さ、忠実さ、答えの関連性、類似性、正しさなど複数のメトリクスで両方のRAGシステムを採点しました。下のグラフはRagasから得られた実験的なスコアを示しています。
OpenAI RAGシステムは、答えの類似性においてMilvusを搭載したカスタマイズRAGシステムをわずかに上回ったものの、文脈の精度、忠実性、答えの関連性、答えの正しさなど、他の重要なメトリクスでは遅れをとりました。
Ragasはまた、様々なメトリクスの調和平均を計算することによって生成される平均値であるRagasスコアを使用して、2つのRAGシステムを比較することを可能にする。調和平均は低得点の項目にペナルティを与えるために使用されます。Ragasスコアが高いほど、RAGシステムの全体的なパフォーマンスが優れていることになります。下図は、2つのRAGシステムのRagasスコアを示している。
グラフに示されているように、Milvusを搭載したカスタマイズRAGシステムはOpenAIのRAGシステムよりも高いRagasスコアを持っています。
結論として、Milvusを搭載したカスタマイズRAGシステムはOpenAI RAGシステムよりもRagas Scoresやその他の重要なメトリクス(コンテキストの精度、忠実度、解答の関連性、正しさなど)において優れている。
なぜカスタマイズされたRAGはOpenAIのビルトインRAGを上回るのか?
多くの個別の比較を通じて、ベクターデータベースに基づくカスタマイズされたRAGパイプラインは、OpenAIアシスタントに基づくRAGシステムよりも優れたパフォーマンスを発揮することがわかりました。最も重要な理由は以下の通りです。
OpenAIアシスタントは、外部の知識ではなく、内部の事前学習知識に依存しています。
内部エージェントのセットアップにより、OpenAIアシスタントはアップロードされた知識よりも事前トレーニングに依存します。例えば、高校でのパーソナルファイナンスの授業について質問されたとき、OpenAI RAGシステムはグランドトゥルース以外のものに依存した回答を提供した。
| 質問|パーソナルファイナンス/マネーマネジメントの授業は高校で教えられていますか?|
| ----------------------------------------- | --------------------------------------------- |
| OpenAI RAGシステムの回答|パーソナル・ファイナンスやマネー・マネジメントの授業は、確かにいくつかの高校で教えられています。例えば米国では、経済教育評議会(CEE)が幼稚園から高校までの金融教育に関する調査や報告を行っている。その調査結果によると、前回の更新の時点で、パーソナル・ファイナンスを教育基準に組み込んでいる州が増えつつあり、卒業するためにパーソナル・ファイナンス・コースの受講を義務付けている州もある。
私は最新のデータベースや最新の調査にはアクセスできませんが、学校での金融教育に関する情報は、次のようにして見つけることができます:
1.政府の教育サイトをチェックする。
2.
3.地元の教育委員会や教育省に問い合わせる。
もしあなたが特定の場所に興味があったり、特定のフォーカスを念頭に置いているのであれば、それを指定していただければ、より直接的な情報を提供することができます。|
| RAGシステムの回答|パーソナル・ファイナンスやマネー・マネジメントの授業は、確かにいくつかの高校で教えられていますが、その有無や条件は大きく異なります。例えば、テキサス州ヒューストンの私立高校では、卒業に必要な単位は取得できないが、オプションで半学期分のパーソナル・ファイナンスの授業を提供していた。コネティカット州ウェストポートのステープルズ高校では、数学を使って金融リテラシーのスキルを身につけることに重点を置いた個人財務管理の授業を導入し、収入、銀行、クレジットカード、ローン、税金、保険、投資、予算管理、個人資産の購入といったトピックを扱っている。ミシガン州アナーバーの公立学校では、基本的な金銭管理のトピックを含む「公民」の授業が行われた。さらに英国では、「Every Child Matters(すべての子どもに大切なこと)」の枠組みで、「経済的幸福の達成」が重要な要素として盛り込まれており、金融や経済について子どもたちに教えるために「School Rewards System(学校報奨制度)」を利用している学校もある。これらの例は、そのような授業が存在することを示しているが、普遍的に義務付けられているわけでも、標準化されているわけでもなく、カリキュラムの深さや焦点はさまざまである。|
| データセットの真実|私が私立高校に通っていた米国テキサス州ヒューストンでは、半学期でパーソナル・ファイナンスの授業があったが、それは選択制で、卒業に必要な単位は与えられなかった。でも、あなたの言う通り、それは標準的な授業であるべきです。結局のところ、社会人生活でその情報が必要ない人はいないし、誰もが大学に行くわけでもない。"
...
私が高校1年生の時に「公民」の授業がありました。ミシガン州アナーバーの公立学校でした。政治や法制度の概要とともに、金銭管理の基本(小切手帳の残高の取り方、株式とは何か、所得税の仕組み、利子とは何かなど)をカバーしていました。とはいえ、本当に軽い授業で、パーソナル・ファイナンスやマネー・マネージメントに深く踏み込むことはなかった。そのようなクラスは、料理や栄養学、家や車の基本的な修理と同様、とても価値があると思う。|
OpenAI RAGシステムの回答は間違ってはいないが、具体性に欠け、最新の研究にアクセスしていないことを認めていることから、アップロードされた文書の知識の活用が不完全であることが示唆される。対照的に、カスタマイズされたRAGシステムは、グランドトゥルースからの特定の情報をシームレスに統合することで、より正確な回答を提供する。この比較は、外部データを効果的に活用するカスタマイズRAGの優れた能力を示し、より信頼性が高く熟練したソリューションであることを際立たせている。
カスタマイズRAGはOpenAI RAGよりもドキュメントのセグメンテーションとデータ検索において優れている。
OpenAIの知識セグメンテーションとリコール戦略は最適化が必要かもしれない。例えば、IRA投資に関する質問に対して「PROS: CONS」しか提供しない。対照的に、カスタマイズされたRAGパイプラインは、関連するスニペットを呼び出すことに優れており、より包括的な応答を提供します。
| 質問|IRA投資にもっと関わることの長所/短所
| -------------------------- | ----------------------------------- |
| OpenAI RAGで検索されたスニペット|['PROS: CONS']||...
| Customized RAGで取得したSnippet | ['in the tax rate, there's also a significant difference in the amount being taxed.したがって、IRAからの引き出しは一般的に良いアイデアではなく、課税投資を現金化するよりもIRAからの引き出しの方が(税金の観点から)有利になることはありません。それはデザインによるものだ」。
「悪いアイデアのように聞こえる。IRAは複利の力で成り立っている。拠出金を取り崩すと、退職後の貯蓄が目減りし、その分を取り戻すことはできません。その代わり、非課税の投資を考えましょう。州債、連邦債、地方債などだ。例えば、私はカリフォルニアの地方債ファンドに投資しているが、年間3~4%の配当収入が得られる。さらに、保有するファンドのキャピタル・アップもある。もちろんリスクもあります。例えば、金利の変動は利回りと資本増価に影響しますから、この分野に詳しい人に相談してください(基本的なことは、ここで別の質問をしてください)。
「ジョージ・マリアン氏の素晴らしいアドバイスに加え、IRAの拠出限度額に達しているのであれば、401(k)に戻ることを付け加えておきます。つまり、401(k)にマッチングを受けるのに十分な額を拠出し、IRAの拠出額を最大にして、より多くの、より良い投資オプションを利用できるようにする。
「課税繰り延べはいい機能だが、401kは聖杯ではない。 私は、投資オプションがひどい401kをたくさん見てきた:劣悪なパフォーマンス、高い手数料、限られたオプション。 ロートIRAを最大限に活用したのは素晴らしいことだ。 それは称賛に値する。 401kの投資オプションが良いものである限り、私はそれに固執するでしょう」
「安くて良いインデックスファンドを提供してくれる退職金制度。このような人たちは、おそらくそれほど心配する必要はないでしょう。最後に、口座を2つ持つことはより複雑です。同じ年にIRAと401(k)の両方に拠出する場合、どのような制限が適用されるかは、私より税金に詳しい人に問い合わせてください。]|
OpenAIアシスタントは偽のスニペットを取得した。対照的に、カスタマイズされたRAGはより関連性の高いスニペットを取得し、質問のニュアンスに沿ったより包括的な回答を提供しました。
その他の理由
OpenAI Assistantsでは、カスタマイズや最適化のためにRAGパイプラインのパラメータを調整することはできません。しかし、カスタマイズされたRAGでは、ユーザは完全に柔軟に調整と最適化を行うことができます。
OpenAI Assistantsにはファイルストレージの制限があるのに対し、Milvusを利用したカスタマイズRAGは上限なく素早くスケールアウトできるため、より大きなストレージ容量を必要とするユーザーにとってより良い選択肢となる。
結論
結論として、Ragas評価ツールを用いた包括的な比較と分析により、OpenAIのRAGとMilvusのようなベクトルデータベースに基づくカスタマイズRAGの長所と短所が浮き彫りになりました。OpenAIのRAGは検索において優れた性能を発揮する一方、カスタマイズされたRAGは回答の品質と関連性、想起性能、その他多くの面で優れている。強力で効果的なRAGアプリケーションを求める開発者は、ベクターデータベースをベースとしたRAGソリューションの柔軟性と機能が、より良い結果を達成するために望ましいと感じるでしょう。
読み続けて

How to Improve Retrieval Quality for Japanese Text with Sudachi, Milvus/Zilliz, and AWS Bedrock
Learn how Sudachi normalization and Milvus/Zilliz hybrid search improve Japanese RAG accuracy with BM25 + vector fusion, AWS Bedrock embeddings, and practical code examples.

Multimodal Pipelines for AI Applications
Learn how to build scalable multimodal AI pipelines using Datavolo and Milvus. Discover best practices for handling unstructured data and implementing RAG systems.

3 Key Patterns to Building Multimodal RAG: A Comprehensive Guide
These multimodal RAG patterns include grounding all modalities into a primary modality, embedding them into a unified vector space, or employing hybrid retrieval with raw data access.
