AIのためのデータベース:ベクトル、埋め込み、そしてアーキテクチャ

Choosing a database for your AI application?

機械学習であれ、LLM(大規模言語モデル)のような比較的新しい技術であれ、AIについて語る人は皆、AIが膨大な量のデータを必要とすること、そしてそのデータがこれまでとは根本的に異なる方法で活用されていることを指摘します。現在、何千もの新しいデータセンターが建設されており、その規模もますます大型化しています。

では、その莫大なデータはどのように保存されているのでしょうか。この新しい時代におけるデータベースとは、どのような姿をしているのでしょうか。

実は、従来からあるデータベースの中には、AI向けに拡張されたデータ型やAPIを備えて「新しく生まれ変わっている」ものもあります。一方で、まったく新しいタイプのデータベースも登場しています。本記事では、世界中のデータベース開発者がAI革命の熱狂の一端をつかもうとどのように動いているのか、そして現在の主要な選択肢には何があるのかを見ていきます。


すべてはベクトルである

AIデータの特性と、その処理・保存方法を理解するには、「ベクトル」という概念に焦点を絞る必要があります。

高校で線形代数を学んだことがある人なら、ベクトルや行列を習ったはずです。コンピューティングの文脈で言えば、ベクトルとは単なる配列、つまり浮動小数点数の順序付き集合です。重要なのは、各要素が現実世界の何らかの側面を表している点です。たとえば、ある値は年齢、別の値は身長、また別の値は体重を表すかもしれません。

このため、ベクトルの各要素は「次元(ディメンション)」と呼ばれ、概念的には多次元空間上の一点を表します。AIモデルが顧客の属性や機械部品の故障要因などを考慮する際に、データサイエンティストが「次元」という用語を使うのはこのためです。

ベクトル演算は、機械学習やLLMにとって非常に効率的です。これらの技術はいずれも「どれだけ似ているか/異なるか」という概念に強く依存しているからです。たとえばLLMは、スペイン語で一般的な定冠詞「el」を構成する文字EとLの関連性を理解します。同じ文字はフランス語でも似た関係を持ち、そこでは「le」という冠詞になります。

より高い抽象度では、LLMは犬とオオカミの類似性を認識し(時には混同しながら)、犬と猫よりも犬とオオカミのほうが似ていることを学習します。

AIにおける類似性や差異は、数学的にはベクトル間の差として表現されます。差の計算方法には、ユークリッド距離、マンハッタン距離、コサイン類似度、内積などさまざまな手法があります。犬とオオカミのように似たベクトル(「埋め込み(embedding)」とも呼ばれます)を見つける処理は、「ベクトル類似検索」と呼ばれます。

さらに、ベクトルや多次元構造(テンソル)に対しては、ガウスの消去法のような高度な演算も開発されています。また、「チャンク化(chunking)」と呼ばれる処理では、データの一部を小さな文書単位にまとめ、それらを比較して内容の類似性を見つけます。

現在、ベクトル型を定義するデータベースは増え続けています。インターフェースは製品ごとに異なりますが、将来的には標準APIへと収束し、SQLもテキストからベクトルへの変換といった重要な操作を表現できるよう拡張されると私は予測しています。

デジタルデータとしてのベクトルは、従来のデータと同様にデータベースの機能を活用できます。検索を高速化するためにインデックスを作成したり、圧縮(さまざまな最適化を含む一般的な概念)によって保存容量や冗長性を削減したりすることが可能です。


AIデータ処理に特有の要因

機械学習やLLMの開発にデータを利用することは、従来のデータ処理よりもはるかに複雑です。AIは膨大な量のデータを必要とするためです。

従来の分析は、たとえば小売業者が顧客の年齢と購買行動の相関を調べるといったように、主に組織内部のデータを対象としていました。しかし、多くの組織は機械学習に十分なデータを単独では保有しておらず、LLMに至ってはなおさらです。そのため、現代のAIは広範囲からデータを収集します。(現在、多くのコンテンツ制作者がAI開発企業に対して訴訟を起こしている背景には、こうした事情があります。なお、私が関わった書籍もAnthropic著作権和解に関連しています。)

データ保存についても同様の傾向があります。AIモデル構築のために収集したすべてのデータを保存できる組織はごくわずかです。しかも、それらの組織はデータセンター建設をめぐって激しく競争しています。ほとんどの組織は、AIの基盤となる重要なベクトルデータ(埋め込み)を生成する非常に複雑なシステムを自前で構築することすらありません。代わりに、OpenAI、GoogleのGemini、Claudeといった強力なAIプラットフォームを利用します。

LLMの誤りや極端に不正確な結果(「ハルシネーション」)は、登場当初からユーザーを失望させ、ときには不安にさせてきました。また、オンライン上の情報が少ない珍しいテーマでは、一般的なテーマよりも精度が低いことも指摘されています。

そこで近年、開発者は「検索拡張生成(RAG:Retrieval Augmented Generation)」と呼ばれる手法で改良を進めています。

RAGの基本的な考え方は、インターネット上の玉石混交の情報を無差別に利用するのではなく、信頼性が検証されたデータベースを活用してモデルを補強し、より正確な回答を生成するというものです。RAGは現在「リアルワールドモデル」と呼ばれるアプローチの中核的要素となっています。

また、「ドメイン特化型言語モデル(DSLM)」という用語も広まりつつあります。これは特定分野に焦点を当てたモデルを指し、「ドメイン特化言語」など他分野の概念とも呼応しています。

素人目には、「信頼できるデータを使う」というのは当然の発想に思えます。しかし哲学的には、これはAIの大きな方向転換です。1950年代から、技術楽観主義者たちは汎用人工知能(AGI)を目指してきました。AIが人間と同等、あるいはそれ以上の知性を持つことを夢見ていたのです。

しかし現在、RAGやリアルワールドモデルへの移行は、開発者が実用的な方向へ舵を切り直していることを示しています。

一方で、AIコンサルティング企業Peripety LabsのCEOであるMark Hinkle氏は、AGIという枠組み自体に疑問を呈しています。「AGIは本質的ではありません。目標は人間並みの知能ではなく、単純作業や危険作業をデジタル従業員に任せられる十分な能力を持つことです。RAGは開発者が本当に役立つものを構築している証です」と述べています。

現在、特定分野で正確な知識表現を求めるユーザーは、まず主要AIベンダーから一般的なベクトルセットを取得し、そこに自組織の内部データ(研究成果、SNS投稿、調査結果など)を追加して独自の洞察を生み出します。


関連ライブラリと今後

本記事ではベクトルが提供する基本操作を紹介しました。Faiss(C++およびPython対応)は、ベクトル演算を行うオープンソースライブラリの一例で、GPUを活用して処理を高速化できます。

LangChain(Python)やLlamaIndex(PythonおよびTypeScript)も代表的なオープンソースライブラリです。これらはオンラインAIサービスやWikipediaなどの大規模データセットを活用し、AIアプリケーション開発を支援します。いずれもGPUによる高速化を利用できます。

次回の記事では、実際に利用されているデータベース製品をいくつか取り上げていきます。

Author

  • Andrew Oram

    Andy is a writer and editor in the computer field. His editorial projects at O'Reilly Media ranged from a legal guide covering intellectual property to a graphic novel about teenage hackers. Andy also writes often on health IT, on policy issues related to the Internet, and on trends affecting technical innovation and its effects on society. Print publications where his work has appeared include The Economist, Communications of the ACM, Copyright World, the Journal of Information Technology & Politics, Vanguardia Dossier, and Internet Law and Business. Conferences where he has presented talks include O'Reilly's Open Source Convention, FISL (Brazil), FOSDEM (Brussels), DebConf, and LibrePlanet. Andy participates in the Association for Computing Machinery's policy organization, USTPC.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です