ベクトル埋め込みとベクトルデータベースとは?
Rememberizerが単なるデータベースやキーワード検索エンジン以上のものである理由。
Last updated
Rememberizerが単なるデータベースやキーワード検索エンジン以上のものである理由。
Last updated
Rememberizerは、ユーザーの知識ソース内での意味的類似性の検索を可能にするために、ベクトルデータベースにベクトル埋め込みを使用しています。これは、検索エンジンやデータベースを通じてコンテンツ内のキーワードを単に探すよりも、根本的により高度で微妙な情報検索の形式です。
最も高度な形(Rememberizerが使用しているもの)では、ベクトル埋め込みは、OpenAIのgptモデルやChatGPTサービス、Google(Gemini)、Anthropic(Claude)、Facebook(LLama 2)などのAI LLM(大規模言語モデル)を支えるアーキテクチャに類似した言語モデルによって作成されます。このため、AIモデルのプロンプトの文脈に含める関連知識を発見するためにベクトル埋め込みを使用することは自然です。これらの技術は相補的であり、ある程度同等です。このため、LLMをサービスとして提供するほとんどのプロバイダーは、サービスとしてベクトル埋め込みも提供します(例えば、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」(Johnson, Douze, and Jégou, 2017):FAISSは、密なベクトルの効率的な類似性検索とクラスタリングのために設計されたライブラリの包括的な概要を提供します。これは、大規模なベクトルデータベースにおけるインデックス作成と検索プロセスを最適化する方法について議論しています。これに関する詳細を学ぶには、ドキュメントとGithubのコードを参照してください。
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モデルが含まれており、単語埋め込みの進化において重要な役割を果たしています。