日本の研究所がいかにして優れたRAGシステムを構築しているか

ベクトルデータベースは関連するチャンクを返し、埋め込みモデルはベンチマークで高いスコアを記録している。しかし、ユーザーが複雑な質問をしたとき、システムは役に立たない回答を返してしまう。

これは検索アーキテクチャの失敗である。LLMをチューニングしても解決しない。

日本の研究チームが解決策を見つけた。彼らはナレッジグラフRAGシステムを構築した。このアプローチにより、科学的なタスクにおける精度が90%向上した。

標準的なRAGの問題は、意味的な類似性(semantic similarity)にある。タンパク質の折り畳みに関するチャンクは、CRISPRに関するクエリと似ているように見えるかもしれない。しかし、類似していることが、必ずしも関連していることを意味するわけではない。

日本のチームは、単なるテキストチャンクではなく、エンティティ間の関係を利用している。彼らが抽出するのは以下の通りだ:

  • タンパク質や研究者などのエンティティ
  • 「阻害する」や「引用する」といった関係性
  • 信頼度スコアなどの属性

彼らは2段階のプロセスを採用している。まず、関連するサブグラフを特定する。次に、それらのエンティティに紐付けられたテキストを検索する。これにより、意味のドリフト(semantic drift)を防ぐことができる。単に似た言葉を検索するのではなく、文脈(コンテキスト)を検索するのである。

GraphRAGは標準的なRAGよりも構築が難しい。以下のものが必要になる:

  • エンティティ抽出パイプライン
  • 関係性の分類
  • グラフストレージ・インフラストラクチャ
  • ハイブリッド・クエリエンジン

最大のリスクはメンテナンスだ。グラフは更新しなければ腐敗する。私は2023年にこれを身をもって学んだ。高精度な法務RAGシステムを構築したが、更新メカニズムの構築を怠った。半年後、データは古くなり、精度は94%から71%へと低下した。

正しく構築する方法:

  • エンティティのタクソノミー(分類体系)から始める。重要なタイプを20〜30個選定する。
  • 初日からハイブリッド検索を利用する。関係性にはグラフを、トピックにはベクトルを使用する。
  • まずメンテナンス・パイプラインを構築する。新しいドキュメントがどのようにグラフを更新するかを計画する。
  • 推論チェーンを測定する。システムが回答に至るまでに何ステップ踏むかを追跡する。

科学、法律、医学の分野に携わっているなら、メンテナンスコストをかける価値はある。単純なFAQであれば、標準的なRAGで十分だ。

自問してみてほしい。クエリのうち、関係性について尋ねるものは何パーセントあるだろうか?もしユーザーの40%以上が「物事の関連性」について尋ねるなら、グラフが必要だ。

Source: https://dev.to/xu_xu_b2179aa8fc958d531d1/how-japans-research-labs-are-building-rag-systems-that-actually-work-and-what-western-teams-keep-21b2

Optional learning community: https://t.me/GyaanSetuAi