Spanner Graph:リレーショナルとグラフの連携で検索拡張生成(RAG)を再定義 - Google Cloud Next Tokyo '24
Google Cloudは、リレーショナルデータベースとの相互運用性を実現するグラフデータベース「Spanner Graph」を発表した。この新製品は、ナレッジグラフベースの検索拡張生成(RAG)を実現させ、生成AIを巡る競争に新たな文脈を加えそうだ。
要約:Google Cloudは、リレーショナルデータベースとの相互運用性を実現するグラフデータベース「Spanner Graph」を発表した。この新製品は、ナレッジグラフベースの検索拡張生成(RAG)を実現させ、生成AIを巡る競争に新たな文脈を加えそうだ。
Google Cloudは8月1、2日にパシフィコ横浜ノースで年次イベント「Google Cloud Next Tokyo '24」を開催した。Google Cloudのデータベースジェネラルマネージャー兼バイスプレジデント アンディ・ガットマンズは、2日の基調講演で「Spanner Graph」を発表した。Google Cloudは同日、同データベースのブログとドキュメントも公開している。
Spanner GraphはSQLとの相互運用性を提供することで、単一の操作で構造化データと接続されたデータのシームレスなクエリを可能にし、事実上無制限のスケールでのグラフ処理を可能にする、とガットマンズは2日に発表したブログに書いた。
このSQLとの相互運用性によって、ベクトル検索が適用される傾向の強かった検索拡張生成(RAG)において、ナレッジグラフの適用も可能になるという。「開発者は、ナレッジグラフと『グラフベースの検索拡張生成(Graph-based Retrieval Augmented Generation: GraphRAG)』で AI アプリケーションを強化し、小売業者はよりスマートなレコメンデーションエンジンを実装し、金融サービス会社は高度な不正検出を提供できる」とガットマンズは書いている。
Spanner Graphは同日に発表されたSpannerのベクトル検索と全文検索(後述)とシームレスに連動する、とGoogle CloudのSenior Staff Software EngineerであるBei LiとGoogle FellowのChris Taylorは別のブログのなかで、書いている。
「この組み合わせにより、Graph Query Language GQLを使用してグラフ構造内の関係をトラバース(横断的に探索・処理する)すると同時に検索を活用してグラフ構造内のコンテンツを見つけることができる」「この統合された機能により、単一の方法では発見が困難であった隠れたつながり、パターン、洞察を発見することができる」
基調講演におけるデモでは、SpannerとSpanner Graphを採用した架空の金融情報サービスにおいて、全文検索、ベクトル検索、そしてグラフ構造の可視化、Graph Query Language GQLによって各ファンドのポートフォリオの比率を調べ、深い洞察を得られる様子が示された。
GraphRAGは、大規模言語モデル(LLM)を補強する手段の中でも新しいもので、プロダクションレベルでの検証は最初期にあると考えられる(はずだ)。LLMにプロダクトとしての有用性を付与するため、ロングコンテキストウィンドウやRAG、関数呼び出し等のような手段が、昨年頃から盛んに提案されている。
Liらはブログの中で、従来型のグラフデータベースのボトルネックとして、データの断片化と運用上のオーバーヘッド(追加費用)、スケーラビリティと可用性のボトルネック、 グラフ型への新たな学習コストを挙げた。Spanner Graphは、これらの課題を克服し、グラフ、リレーショナル、検索、AI機能をシームレスに統合した統一データベースを提供する、とLiらは書いている。
開発背景
Google Cloud Next Tokyoに先立つ31日に東京ミッドタウンで開かれた記者説明会で、ガットマンズはSpanner Graphの開発背景について説明した。同社は、グラフデータベースの分野において、既存の製品とは一線を画す革新的なアプローチを目指し、その結果、Spanner Graphは、リレーショナルデータ型との相互運用性を保持することに成功したという。Googleの「社内顧客」との連携が、Spanner Graphの開発に大きく貢献し、一部には社外の顧客もいたという。
「私たちが着目したのは、Spannerがすでに持っていた、スケーラブルなデータを非常に効果的にシャーディングできるという利点です。しかし、もちろん、それなりの課題もある。そこで私たちは、顧客が何を必要としているのか、そのフィードバックを効果的に取り入れました」。
ガットマンズは、Spanner インフラが抱える課題を克服するため、数年にわたる技術革新を重ねた、と話した。シャーディングの方法やクエリ処理の方法を変更する必要があったが、結果に非常に興奮している、と彼はつけ加えた。
「特に、グラフとリレーショナルデータの相互運用性を確保することに重点を置きました。Graph Query Language GQLに関する業界標準からも恩恵を受けました。おかげで、グラフクエリを作成する方法を新たに考案する必要がなくなり、GQLの優れたソリューションを活用できました」
Spannerにおけるベクトル検索
ベクトル検索については12年以上にわたる社内での同機能構築の経験に基づいて構築した、とガットマンズは31日に話した。2013年にGoogleの研究者らはベクトル検索の主要な要素技術となった「word2vec」の論文を公開している。
従来のキーワード検索では、クエリとドキュメントに含まれる単語の一致度で検索していたが、ベクトル検索では、単語の意味や文脈を考慮した検索が可能になる。これは、エンベディング(埋め込み)が単語や文の意味をベクトルとして表現し、意味的に近い単語や文はベクトル空間上でも近い位置に配置されるためだ。
埋め込みは、前述したword2vecのほか、GloVe、BERT、Sentence-BERTなどのアルゴリズムを用いて生成される。これらのアルゴリズムは、大規模なテキストデータから学習し、単語や文の意味をベクトルとして表現するモデルを構築する。
この類似性によって検索を組み立てているが、そのアルゴリズムには様々な提案がある。Google Cloudが採用したのはScaNNだ。「Vertex AI Vector SearchとAlloyDBでも同じ技術を使用しており、これらの独自のアルゴリズムをSpannerにもたらしました」とガットマンは語った。