見出し画像

LLMを構築する上で、ナレッジグラフ .vs. ベクトルデータベースの違いを知る

Clip source: Knowledge Graph vs. Vector Database for Grounding Your LLM
グラフデータベースでLLMを構築した方が、LLMと比較して、性能、正確性、ハルシネーション防止、等の面で優れている、という記事です。実際ベンチマークをしてくれてる実例を探してみたいと思います。


Knowledge Graph vs. Vector Database for Grounding Your LLM

Megan Tomlin, Director of Product Marketing, Neo4j Jul 13 4 mins read



企業は、ミッションクリティカルなアプリケーションに大規模な言語モデル(LLM)を組み込むことを望んでいます。しかし、LLMの予測不可能な性質は、幻覚(不正確な推論や明らかなエラー)を引き起こす可能性があり、精度、説明可能性、および信頼性を求める企業にとって深刻な課題をもたらします。
これらの課題を克服するための主要な考慮事項は、事実に基づいてLLMを基盤づける「検索拡張生成(Retrieval Augmented Generation)」です。ナレッジグラフとベクターデータベースは、検索拡張生成を実装するための主要な候補者となっています。しかし、どちらがより正確で、信頼性があり、説明可能な基盤をLLMに提供するのでしょうか?
ナレッジグラフとベクターデータベースのどちらを選ぶべきかを決定する際に考慮すべき主要な要素をいくつか見てみましょう。


複雑な質問への回答

質問の複雑性が高いほど、ベクターデータベースが迅速かつ効率的に結果を返すことが難しくなります。クエリに対象を追加すると、データベースが求める情報を見つけるのが難しくなります。
例えば:ナレッジグラフとベクターデータベースの両方は、「私の会社のCEOは誰ですか?」という質問に簡単に答えを返すことができますが、ナレッジグラフは「過去12ヶ月で少なくとも2人のメンバーが投票を棄権した理事会はどれですか?」といった質問に対して、ベクターデータベースよりも速く答えを見つけ出します。
ベクターデータベースは、ベクター空間内の対象の中間で答えを見つける可能性が高く、特定の答えではありません。ナレッジグラフは、関係によって接続されたグラフを走査することに基づいて、正確な情報を探して返します。


完全な回答の取得

ベクターデータベースは、類似度スコアリングと事前に定義された結果の制限に依存しているため、回答を返す際に不完全または無関係な結果を提供する可能性が高いです。
例えば、「John Smithによって書かれたすべての本をリストしてください」と質問すると、ベクターデータベースは以下のいずれかを返します:

  • タイトルの不完全なリスト(事前に定義された制限が低すぎる)、または

  • John Smithと他の著者によるすべてのタイトル(事前に定義された制限が高すぎる)、または

  • 正確な答え(事前に定義された制限がちょうど良い)。

開発者はすべての可能なクエリに対する事前に定義された制限を知ることができないため、ベクターデータベースから正確な答えを得ることはほぼ不可能です。
しかし、ナレッジグラフのエンティティは関係によって直接接続されているため、各エンティティの関係の数は異なります。ナレッジグラフは正確な答えを取得して返し、それ以上のものはありません。この場合、ナレッジグラフのクエリは、John Smithによって書かれたすべての本を返し、それ以上のものはありません。


信頼性のある回答の取得

ベクターデータベースは、2つの事実的な情報をつなげて何か不正確なことを推測することがあります。
例えば、「製品管理チームには誰がいますか?」と質問した場合、ベクターデータベースは、誰かが製品チームにいると誤って推測するかもしれません。それは、その人が製品チームによって作成された文書(事実)に頻繁にコメントアクセスを持っている(事実)ため、その名前が結果に返される可能性があります。ナレッジグラフは、ノードと関係を使用して組織内の人々がどのように関連しているかを識別するため、製品チームにいる人々だけを返します。
ナレッジグラフのクエリは、接続された情報のフローに従っており、回答が一貫して正確で説明可能です。


LLMの幻覚 (Hallucination) を修正する

ナレッジグラフはデータの人間が読める表現を持っていますが、ベクターデータベースはブラックボックスしか提供しません。
例えば:製品チームのメンバーが誤って識別された場合、ベクターデータベースは誤情報を推測するために使用した事実を識別することができません。これは、それを元に戻すことやエラーの源を理解することができないことを意味します。一方で、ナレッジグラフのユーザーは、LLMが何かを誤って推測した場合、誤情報を見つけて修正するのは簡単です。
それは、ナレッジグラフが完全な透明性を持っているからです。それらは、データ内の誤情報を識別し、クエリの経路を遡り、それに対する修正を行うのを助けます。これにより、LLMの精度を向上させることができます。一方で、ベクターデータベースはほとんどまたはまったく透明性がなく、特定の修正を行う能力もありません。


あなたのLLMのためのナレッジグラフ

ナレッジグラフは、精度、説明可能性、および文脈を確保するために、あなたのLLMを支える最良の選択ですNeo4jの信頼性と検証可能性のあるナレッジグラフは、LLMの精度と説明可能性を高め、データ保護、ガバナンス、高可用性、スケーラビリティ、および柔軟なデプロイメントなどの堅牢なエンタープライズ機能を提供します。これにより、ミッションクリティカルなアプリケーションをサポートするLLMと組み合わせる信頼性とスケーラビリティのある選択肢となります。
https://neo4j.com/generativeai/について詳しく知るか、新しく出版されたO'Reillyの本でナレッジグラフの構築について読み進めてください。

この記事が気に入ったらサポートをしてみませんか?