12 ポイント 投稿者 xguru 2024-07-03 | 1件のコメント | WhatsAppで共有
  • LLMの強力な機能を用いて、非構造化テキストから意味のある構造化データを抽出するよう設計されたデータパイプラインおよび変換製品群
  • これまで見たことのないデータセットに対する質疑応答を可能にするグラフベースのアプローチ
  • 2月に紹介されたツールで、今回オープンソースとして公開され、より構造化された情報検索と包括的な応答生成を提供

主な機能

  • 大規模言語モデル(LLM)を用いて、テキスト文書の集合から豊富な知識グラフを自動的に抽出
  • このグラフベースのデータインデックスは、ユーザークエリの前にデータの意味構造を把握できる
  • 高密度に接続されたノードの「コミュニティ」を階層的に検出し、高水準のトピックから低水準のトピックまでグラフを複数レベルに分割
  • LLMを使って各コミュニティを要約することで、データセットの階層的な要約が生成され、どんな質問をすべきかを事前に知らなくてもデータセットを理解できる
  • 各コミュニティは、そのエンティティと関係を説明するコミュニティ要約の基盤として機能

データセット全体を扱う質問への回答の利点

  • このような「コミュニティ要約」は、ベクトル検索に基づく naive RAG アプローチでは不十分なグローバル質問(データセット全体を扱う質問)にどのように役立つのか?
  • 例えば「データセットの主要なテーマは何ですか?」のような質問では、naive RAG は常に誤解を招く回答を返してしまう
  • グローバル質問に答えるには、すべての入力テキストを考慮する必要がある
  • コミュニティ要約は、グローバルなデータ文脈における関連内容をすべて保持する map-reduce アプローチを用いて、こうしたグローバル質問に答えられる:
    1. コミュニティレポートを LLM のコンテキストウィンドウサイズまでグループ化
    2. 各グループに質問をマッピングしてコミュニティ回答を生成
    3. 関連するすべてのコミュニティ回答を最終的なグローバル回答へと集約

評価と結果

  • このアプローチを naive RAG および階層的ソーステキスト要約と比較するため、LLM GPT-4 を用いてさまざまな activity-centered sense-making 質問を生成
  • 生成された回答に対して、3つの評価指標を選定: comprehensiveness(あらゆる側面を詳細に扱うこと)、diversity(多様な観点を提供すること)、empowerment(情報に基づく意思決定を支援すること)
  • GraphRAG は naive RAG よりも comprehensiveness と diversity の面で優れた性能を示した(勝率約70〜80%)
  • また GraphRAG は、中レベルおよび低レベルのコミュニティ要約を使用した場合、ソーステキスト要約よりもこれらの面で優れた性能を示し、トークンコストも低かった(クエリあたり約20〜70%のトークン使用)
  • 最上位レベルのコミュニティでは、階層的ソーステキスト要約と競争力のある性能を示しつつ、トークンコストは大幅に低かった(クエリあたり約2〜3%のトークン使用)

研究インサイトと今後の方向性

  • 初期の研究サイクルを通じて、LLM が非構造化テキスト入力から豊富な知識グラフをうまく導き出せることを実証
  • こうしたグラフは、naive RAG では適切な応答を生成できず、階層的ソーステキスト要約ではコストが高すぎる新しいタイプのグローバルクエリを支援できる
  • 現在は、グラフインデックス生成の事前コストを維持しつつ、これらのコストを削減するためのさまざまなアプローチを模索中
  • 問題領域に合わせて LLM 抽出プロンプトを自動調整する最近の研究は、これらのプロンプトをカスタマイズし、エンティティタイプを列挙し、few-shot の例を作るために必要な事前作業を減らす方法の一例
  • GraphRAG とソリューションアクセラレータを公開利用可能にすることで、データを全体的に理解することが重要なユーザーやユースケースに対して、グラフベースの RAG アプローチをより利用しやすくすることが目標

1件のコメント

 
xguru 2024-07-04
Hacker Newsの意見
  • MicrosoftのGraphRAGプロジェクトは、最新の抽出ライブラリがなくても知識グラフを構築する方法を採用している

    • GPT-4のようなモデルが特定のフォーマット指示によく従うためである可能性がある
    • 例を提示して、望ましいスキーマに従わせている
  • MicrosoftがGraphRAGをオープンソースとして公開したことを非常にうれしく思う

    • GraphRAGとLlama3をMacBookで試してみる予定だ
    • このツールはゲームチェンジャーになり得ると思う
  • GraphRAG Methodについてより詳しい情報を探している人向けのリンクを共有

  • GraphRAGプロジェクトは、ベクターデータベースが複雑な検索クエリに対して完全なRAGソリューションを提供できることを示している

    • 正確な知識グラフを構築するには、テキストをLLMに読み込ませるだけでは十分ではない
    • そのためにGraphRAG-SDKを書き、安定したオントロジーを生成している
  • 知識グラフは従来の意味検索を置き換えるものではないが、RAG実行時に新たな能力を提供する

    • 長いコンテキストを探索したり、異なるコンテキストを一貫して効率よく探索したりできる
    • LLMを使ったグラフ生成を試した際には、結果が不十分だった
    • これを試してみるのを楽しみにしている
  • 論文の理解が正しければ、インデックス作成時にLLMを複数回実行してエンティティ抽出とグラフインデックスの構築を行う

    • グラフを複数回実行してクラスターを生成する
    • クエリ時にはすべてのクラスターに対して実行し、各クラスターから回答を生成してスコアリングする
    • 最低スコアの回答を除くすべての回答を用いて「グローバル回答」を生成する
    • こうした計算要件は、大規模データセットでは耐えられないレベルになる可能性がある
  • グラフとLLMを使った複数の小規模プロジェクトを進めてきて、このアプローチが有効であることを確認している

    • プロンプトエンジニアリングと複数回のパスで解決できると気づいた
    • これを試してみて結果が良ければ、Python環境から脱却する方法を模索するつもりだ
  • LlamaIndexのKnowledge Graph RAG Queryエンジンと関係があるのか気になる

  • ロシア・ウクライナ戦争を例として選んだのが興味深い

    • 軍事データ分析契約を狙った意図的な選択かもしれない
  • 論文を読んだあと、このプロジェクトを試してみたいと思っていた

    • 自分で実装しようとしたが、コードは数週間後に出るだろうと思っていた
    • 忍耐が実を結んだ