GraphRAGは、Microsoft Researchによって開発されたRetrieval-Augmented Generation(RAG)のLarge Language Models(LLMs)における重要な進歩を表しています。この革新的なアプローチは、知識グラフのパワーを従来のRAG技術と組み合わせて、複雑な特定ドメインの情報を扱う際にLLMsの機能を向上させます。
それなら、Anakin AIを見逃すことはできません!
Anakin AIは、ワークフロー自動化のためのオールインワンプラットフォームで、簡単に使用できるノーコードアプリビルダーで強力なAIアプリを作成することができます。 Llama 3、Claude Sonnet 3.5、GPT-4、Uncensored LLMs、Stable Diffusion...
Anakin AIで数分ではなく数週間で理想のAIアプリを構築しましょう!
![Easily Build AI Agentic Workflows with Anakin AI!](https://assets.anakin.ai/blog/2024/07/anakin-2-3.webp)
GraphRAGの理解
GraphRAGは、構造化された知識グラフを相互に関連づけられた情報源として組み込むことで、従来のRAGシステムを拡張しています。このアプローチは、ベースラインのRAGの2つの主な制限に対応することを目指しています:
- 異なる情報の断片をつなげることのできない問題。
- 大規模なデータコレクション全体を包括的に理解する際のパフォーマンスの低さ。
- 知識グラフ:エンティティ、属性、および関係の構造化表現。これはGraphRAGの向上したコンテキスト理解の中核になります。
- ベクトルデータベース:テキストチャンクとグラフエンティティの埋め込みを効率的に取得するための埋め込みの格納先。これにより、類似性に基づいた高速な検索が可能になります。
- Large Language Model(LLM):ユーザーのクエリを処理し、取得したコンテキストに基づいて応答を生成する。GraphRAGでは、通常、GPT-4や同様のモデルなどの高度なLLMが使用されます。
- グラフベースの検索メカニズム:より微妙で文脈に敏感な情報検索のためにグラフ構造を利用します。これには以下が含まれます:
- ベクトル類似性検索
- グラフトラバーサル
- コミュニティベースの検索
- 階層的クラスタリング:Leidenアルゴリズムなどの手法を使用して、情報をコミュニティとサブコミュニティに整理し、マルチレベルの要約を容易にします。
- コミュニティによる要約:グラフの各コミュニティについて要約を生成し、データセットの包括的な理解を提供します。
- クエリ処理コンポーネント:ユーザーのクエリを処理し、GraphRAGシステムのさまざまなコンポーネント間の相互作用を組織します。
- プロンプトエンジニアリングモジュール
GraphRAGの技術的実装
![](https://assets.anakin.ai/blog/2024/07/image-8.png)
グラフの抽出と構築
GraphRAGは、非構造化テキストからエンティティと関係を抽出するために洗練されたNLP技術を使用します。このプロセスには以下の手順が含まれます:
テキストチャンキング:入力のコーパスを解析可能なユニットであるテキストユニットに分割します。
エンティティと関係の抽出:各テキストユニットからエンティティ、関係、および主要な主張を特定するためにLLM(例:GPT-4 Turbo)が使用されます。これが知識グラフの基礎となります。
グラフの構築:抽出された情報を使用して、ノードがエンティティを表し、エッジが関係を表す構造化された知識グラフが構築されます。
階層的クラスタリング:Leidenアルゴリズムがグラフ内でコミュニティ検出を実行するために適用されます。このプロセスは次の点に役立ちます:
- 関連するエンティティや概念を特定する
- 情報の階層構造を作成する
- マルチレベルの要約を生成を容易にする
![](https://assets.anakin.ai/blog/2024/07/image-7.png)
グラフが構築され、クラスタリングされたら、GraphRAGは各コミュニティに対して要約を生成します:
ボトムアップアプローチ:要約は階層の最も低いレベルから生成され、上に移動します。
LLMベースの要約:各コミュニティの簡潔な要約を作成するためにLLMがプロンプトされます。これにより、エンティティと関係の本質が捉えられます。
階層的統合:上位レベルの要約には、下位レベルの要約からの情報が組み込まれ、データセット全体の一貫した概要が作成されます。
ベクトル埋め込み
テキストチャンクとグラフエンティティの両方が高次元のベクトル空間に埋め込まれます:
テキストの埋め込み:BERT、RoBERTaなどのTransformerベースのモデルを使用して、テキストチャンクの密なベクトル表現を作成します。
グラフの埋め込み:グラフニューラルネットワークまたは特殊なグラフ埋め込み技術を使用して、知識グラフ内のエンティティの構造情報を捉えます。
ストレージ:これらの埋め込みはベクトルデータベースに格納され、類似性に基づいた効率的な検索が行われます。
検索メカニズム
GraphRAGは、多面的な検索アプローチを使用します:
ベクトル類似性検索:意味的な類似性に基づいて関連するテキストチャンクやエンティティを見つけるために使用されます。
グラフトラバーサル:知識グラフ内のエッジをたどることで関連する概念を探索し、より文脈に即した情報検索が可能です。
コミュニティベースの検索:階層構造を活用して、特に大局的なクエリに関して広範なコンテキストを提供します。
ハイブリッドランキング:異なる検索メソッドからのスコアを組み合わせ、特定のクエリに対して最も関連性の高い情報をランク付けします。
クエリ処理
GraphRAGには2つの主要なクエリモードがあります:
グローバル検索:
- 全体のコーパスに関する包括的な質問のために設計されています。
- 階層のさまざまなレベルのコミュニティ要約を利用します。
- 各関連するコミュニティに対して部分的な応答を生成します。
- すべての部分的な応答を要約して最終的な応答を合成します。
ローカル検索:
- 特定のエンティティやローカルな情報に関する質問に最適化されています。
- 関連するエンティティから始まり、グラフ内の隣接ノードに展開します。
- 特定のエンティティとその直接的なコンテキストに関する詳細な情報を取得します。
プロンプトエンジニアリングとLLMの統合
GraphRAGでは、効果的なプロンプトエンジニアリングが重要です:
コンテキストの統合:取得したグラフ情報、コミュニティ要約、およびテキストチャンクがプロンプトに適切に統合されます。
命令の明瞭さ:グラフベースの文脈とコミュニティ要約の使用方法についてLLMに明確な指示が提供されます。
バランスの取れたアプローチ:プロンプトは、LLMのコンテキストウィンドウが過負荷にならないように十分なコンテキストを提供するように設計されています。
クエリ固有のプロンプト:グローバル検索とローカル検索に対して異なるプロンプト構造が使用され、LLMの推論プロセスを最適化します。
プロンプトの調整:システムには、特定のドメインやデータセットにプロンプトをファインチューニングする機能が含まれており、時間の経過とともにパフォーマンスが向上します。
![](https://assets.anakin.ai/blog/2024/07/image-6.png)
Graph RAGの性能と評価
Microsoft Researchは、GraphRAGをベースラインのRAGと階層的なソーステキスト要約と比較するために、詳細な評価を行いました:
評価指標
- 包括性:生成された回答が質問のすべての側面を体系的にカバーしているかどうかを測定します。
- 多様性:回答で提供される視点の多様性を評価します。
- 支援:回答が情報に基づいた意思決定をサポートしているかどうかを評価します。
結果
- GraphRAGは包括性と多様性でナイーブなRAGよりも優れたパフォーマンスを示し、勝率は70-80%です。
- IntermediateおよびLowレベルのコミュニティ要約を使用した場合、GraphRAGはソーステキスト要約よりも優れたパフォーマンスを発揮し、クエリごとに20-70%のトークンを減らすことができます。
- Highレベルのコミュニティ要約の場合、GraphRAGは2-3%のトークンしか使用せず、階層的なソーステキスト要約と競争力のある結果を示しました。
これらの結果は、GraphRAGが特に複雑な大規模データセットに関する複雑なグローバルクエリに対して、より包括的で多様な回答を提供する能力を示しています。
課題と考慮事項
GraphRAGには重要なメリットがありますが、考慮すべき課題もあります:
計算上の負荷:グラフの構築、埋め込み生成、階層的要約のプロセスは、計算的に負荷がかかる場合があります。
グラフの品質:GraphRAGの効果は、抽出された知識グラフと生成された要約の品質に大きく依存します。
ドメイン適応:特定のドメインに対してシステムを微調整するには、専門知識と反復的な改良が必要です。
スケーラビリティ:データセットが拡大するにつれて、効率的なグラフ構造と検索メカニズムの維持がより困難になります。
プライバシーとセキュリティ:知識グラフ内の機密情報の取り扱いには、頑健なセキュリティ対策が必要です。特に外部のLLMサービスを使用する場合には注意が必要です。
今後の展望
Microsoft ResearchのGraphRAGチームでは、さまざまな改善方法を積極的に探索しています:
コスト削減:グラフインデックス構築の前提コストを削減する方法を調査し、応答品質を維持します。
自動プロンプトチューニング:特定の問題ドメインに対して抽出プロンプトを自動的に適応させる技術の開発。
近似技術:高速な評価と展開のために知識グラフとコミュニティ要約を近似するためのNLPベースのアプローチの探索。
マルチモーダル統合:画像、ビデオ、オーディオデータをグラフ構造に統合するためのGraphRAGの拡張。
フェデレーテッドGraphRAG:分散知識グラフ間での協力的な学習とクエリの可能性を実現する。
説明可能なAI:生成された回答の説明を改善するためにグラフ構造を活用した、より良い説明性のあるGraphRAGシステムの拡張。
GraphRAGをオープンソース化し、ソリューションアクセラレータを提供することで、Microsoftはコミュニティの参加とグラフベースのRAGアプローチのさらなるイノベーションを促進することを目指しています。この共同の取り組みにより、特に複雑な特定ドメインのデータセットに対するAIパワードな情報検索と質問応答システムの分野が大幅に進歩する可能性があります。
それなら、Anakin AIを見逃すことはできません!
Anakin AIは、ワークフロー自動化のためのオールインワンプラットフォームで、簡単に使用できるノーコードアプリビルダーで強力なAIアプリを作成することができます。 Llama 3、Claude Sonnet 3.5、GPT-4、Uncensored LLMs、Stable Diffusion...
Anakin AIで数分ではなく数週間で理想のAIアプリを構築しましょう!