次の方法で共有


Azure Cosmos DB のベクター埋め込み

ベクトル (埋め込み、またはベクトル埋め込みとも呼ばれます) は、高次元空間でのデータの数学的表現です。 これらは、さまざまな種類の情報 (テキスト、画像、オーディオ) を表します。これは、機械学習モデルが処理できる形式です。 AI モデルは、テキスト入力を受け取ると、最初にテキストをトークン化してトークンにします。 その後、各トークンは対応する埋め込みに変換されます。 この変換プロセスは、Azure OpenAI EmbeddingsHugging Face on Azure などの埋め込み生成モデルを使用して実行できます。 モデルは、複数のレイヤーを介してこれらの埋め込みを処理し、テキスト内の複雑なパターンとリレーションシップをキャプチャします。 その後、出力埋め込みを必要に応じてトークンに変換し直され、読み取り可能なテキストが生成されます。

ベクトル

各埋め込みは浮動小数点数のベクトルであり、ベクトル空間内の 2 つの埋め込み間の距離は、元の形式の 2 つの入力間のセマンティック類似性と相関します。 たとえば、2 つのテキストが似ている場合、それらのベクトル表現も似ているはずです。 これらの高次元表現はセマンティックな意味をキャプチャするため、検索、クラスタリング、分類などのタスクの実行をより簡単に行えるようにします。

ベクトルとして表されるテキストの 2 つの例を次に示します。

Azure Cosmos DB のベクターの例のスクリーンショット。

イメージ ソース: OpenAI

寸法と近さ

浮動小数点数を含む各ボックスはディメンションに対応し、各ディメンションは、人間が理解できる場合とできない場合がある機能または属性に対応します。 大規模言語モデルのテキスト埋め込みには通常、数千のディメンションが含まれますが、より複雑なデータ モデルには何万ものディメンションが含まれる場合があります。

上記の例の 2 つのベクトル間では、一部の次元は似ていますが、他の次元は異なります。これは、2 つのフレーズの意味の類似点と相違点によるものです。

この画像は、類似したベクトルの空間的な近さと、大幅に異なる対象的なベクトルを示しています。

Azure Cosmos DB でのベクターの近さのスクリーンショット。

イメージ ソース: OpenAI

データを 3D 空間に変換するこの対話型の視覚化でその他の例を確認できます。