ベクトル埋め込みとベクトルデータベースとは?

Rememberizerが単なるデータベースやキーワード検索エンジン以上のものである理由。

Rememberizerは、ユーザーの知識源内のセマンティックな類似性を検索するためにベクトルデータベース内のベクトル埋め込みを使用します。これは、検索エンジンやデータベースを通してコンテンツ内のキーワードを探すのではなく、より進んだかつ洗練された情報検索の形式です。

最も進んだ形式(Rememberizerが使用)では、ベクトル埋め込みはOpenAIのgptモデルやChatGPTサービスなどのAI LLMs(Large Language Models)に似たアーキテクチャを持つ言語モデルによって作成されます。また、Google(Gemini)、Anthropic(Claude)、Facebook(LLama 2)などからのモデル/サービスも同じです。このため、AIモデルのプロンプトのコンテキストに含める関連知識を発見するためにベクトル埋め込みを自然に使用することが可能です。これらのテクノロジーは補完的で、かつある程度等価です。このため、ほとんどのLLMsのサービス提供者はベクトル埋め込みをサービスとして提供します(例: Together AIのブログOpenAIの別のブログ)。

ベクトル埋め込みはどのように見えるか?2次元での座標(x,y)を考えてみてください。これが原点からこの点への線を表しているとすれば、それは方向を持つ線、つまり_2次元空間でのベクトル_と考えることができます。私たちのコンテキストでは、ベクトル埋め込みは768次元空間のベクトルを表現する768の数字のリストとなります。最終的にこの数字のリストは、"青天の霹靂"のようなフレーズの意味を定義するTransformerモデル内のゼロと一の間の重みを表現することができます。これはGPT-4の例で用いられている意味の表現と基本的に同じものです。その結果、良好なベクトル埋め込みがあれば、現代のAI言語モデルで見られるような素晴らしい理解を期待することができます。

なお、ベクトル埋め込みはテキストだけでなく、画像や音声などの他のデータタイプを表現するためにも使用されます。適切に訓練されたモデルを使用すれば、メディア間で比較することができ、テキストのブロックに対するベクトル埋め込みを画像と比較したり、その逆を行うことができます。現在、Rememberizerはユーザーのドキュメントや知識のテキスト部分内での検索を可能にしています。しかし、テキストから画像へ、画像からテキストへの検索がロードマップに掲載されています。 Googleはテキスト検索(テキストからテキストへ)と画像検索(テキストから画像へ)の両方でベクトル埋め込みを使用しています(参照)。Facebookはソーシャルネットワーク検索で埋め込みを使用することを考えています(参照)。Snapchatはベクトル埋め込みを使用してコンテキストを理解し、適切な広告を適切なユーザーに適切なタイミングで提供しています(参照

ベクトル埋め込みとベクトルデータベースの仕組みを深く理解するには、Hugging Faceによる概観から始めると良いでしょう。Pinecone(ベクトル埋め込みデータベースをサービスとして提供する)の概要も参考になります。

ベクトルにおける検索と知識の理解については、Meta/Facebookの論文とFAISSライブラリのコードが素晴らしい情報源です。"FAISS: A Library for Efficient Similarity Search and Clustering of Dense Vectors" by Johnson, Douze, and Jégou (2017): FAISSは、密集ベクトルの効率的な類似性検索とクラスタリングのために設計されたライブラリの包括的な概観を提供します。大規模なベクトルデータベースのインデックス作成と検索プロセスを最適化する方法を説明し、Product Quantizationに基づくものも含まれています。これについてさらに詳しく知るには、ドキュメンテーションとGitHubのコードが最適です。

覚えておくべきは、ジェネラティブ人工知能(genAI)革命を起こした2017年6月の論文"Attention Is All You Need." (参考) です。これはGPTモデルおよびOpenAI、Google、Meta (Facebook)、Nvidia、Microsoft、IBM、Anthropic、Mistral、Salesforce、xAI(Elon Musk)、Stability AI、Cohereなど他の多くのオープンソースから派生したすべてのLLMの背後にあるTransformerアーキテクチャを紹介しています。また、"Approximate Nearest Neighbors: Towards Removing the Curse of Dimensionality"(1998年の参考2010年の参考)も参照してください。これらの論文は、高次元空間で近似最近傍(ANN)検索の理論を議論しており、類似アイテムを効率的に検索するためのベクトルデータベースの中核となるコンセプトです。

これらのTransformerベースのモデルについて興奮する一つの事柄は、データが増えれば増えるほど(パラメータが増えれば増えるほど)、理解や能力が向上することです。OpenAIはGPT-2モデルを訓練したときに最初にこの可能性に気付きました。この可能性を認識してすぐに、彼らはオープンソース指向の非営利団体からクローズドソースの営利企業に移行し、GPT-3、GPT-4とその有名なフロントエンド、ChatGPTの製造に焦点を当てました。興味深いことに、この技術の特許はGoogleが所有しています - それがTransformersとAttention Is All You Needの背後にいる研究者たちです(参照)。 ChatGPTは私の説明について少し異なる見解を述べており、"OpenAIのオープンソース指向の非営利からクローズドソースの営利实体への移行についての議論は、複雑な進化を単純化しています。OpenAIのシフトは商業化の側面とともに、安全性と責任あるAI開発への焦点を含んでいました。また、OpenAIがGPT-3などの独自技術の開発を優先している一方で、出版物や協力を通じて引き続き研究コミュニティと関わっていることも注目に値します。"

BERT言語モデルはTransformersに基づいており、高度なベクトル埋め込みエンジンでよく使用されます。これは2018年の論文 "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding"(参考)で紹介されました。BERT(Bidirectional Encoder Representations from Transformers)は、広範なNLPタスクで微調整可能な事前訓練モデルに向けての重要なシフトを印象付けました。その革新的な双方向訓練とトランスフォーマーアーキテクチャは、多くのベンチマークでモデル性能の新基準を設定しました。 また、ベクトル埋め込みの作成についての先進的な方法はGloVe(2014年、スタンフォード大学)、Word2Vec(2013年、Google)によって紹介されました。 "GloVe: Global Vectors for Word Representation" (参考): GloVe(Global Vectors)の論文は、単語表現の無監督学習のための新しいグローバルロジスティック回帰モデルを提案し、埋め込みの2つの主要なアプローチ:グローバルマトリックス分解とローカルコンテキストウィンドウ法の利点を結合しました。 "Efficient Estimation of Word Representations in Vector Space" (参考):この論文はWord2Vecという画期的な単語埋め込み生成アプローチを紹介しました。 Word2Vecモデル、Continuous Bag of Words(CBOW)モデル、Skip-Gramモデルは、単語埋め込みの進化において重要な地位を占めています。

Last updated