LoginSignup
7
6

【Build 2024 速報】Azure AI Search に LLM 連携を強化するためのベクトル検索、マルチモーダル検索、Fabric OneLake 統合が追加

Last updated at Posted at 2024-05-21

Microsoft にとって最も急速に成長しているサービスの 1 つである Azure AI Search は 5月21日、Microsoft Build 2024 において LLM 連携を強化する新機能が追加されました。今回の新機能はベクトル検索機能の強化、マルチモーダル検索の強化、Fabric OneLake との統合の 3 つにフォーカスしています。

image.png

Azure AI Search = Revolutionary retrieval

1. ベクトル検索機能

  • バイナリ ベクトル型の追加 (プレビュー)
  • ベクトル重み付けの追加 (プレビュー)
  • ハイブリッド検索の MaxTextSizeRecall の追加 (プレビュー)
  • ベクトルクエリにしきい値を設定 (プレビュー)
  • すべてのプランでの容量の増加とベクトル割り当ての増加 (同じ価格)
  • ハイブリッド検索のクエリ レイテンシーが最大 50% 削減
  • AzureOpenAIEmbedding スキル (プレビュー) の最新の Embeddings モデルのサポート

2. マルチモーダル検索

  • Azure AI Vision マルチモーダル Embeddings スキル (プレビュー)
  • Azure AI Vision ベクタライザー (プレビュー)
  • Azure AI Studio モデル カタログ ベクタライザー (プレビュー)

3. Fabric OneLake との統合

OneLake ファイル インデクサーの追加によって以下のことが可能となりました。

  • OneLake からのファイルのインデックス作成とショートカットの使用
  • OneLake での Lakehouse ファイルのインデックス作成
  • Amazon S3 と Google Cloud Storage のデータへの OneLake ショートカット

1. ベクトル検索機能

ベクトル検索機能は Microsoft が最も力を入れている機能の一つです。4 月にもベクトル検索機能を最適化しており、その続きのアップデートといえます。汎用ベクトルストレージとして新たな Embeddings モデルへの対応や、痒い所に手が届くベクトルクエリーの強化が行われました。ちょうど Cohere-embed-v3-multilingual モデルは検証していましたので、今後バイナリフィールドの検証などもしていきたいと思います。

バイナリ ベクトル型の追加

Cohere の v3 バイナリ Embeddings モデルなど、バイナリ Embeddings を出力するモデルとの統合をサポートします。バイナリ フィールドは Collection(Edm.Binary)、パック形式の埋め込みが含まれます。たとえば、元の Embeddings の次元が 1024 の場合、packedBit でパックされたバイナリ ベクトルの長さは ceiling(1024 / 8) = 128 となります。vectorEncoding フィールドにプロパティを設定すると、パックされたフォームが取得できます。バイナリ データ フィールドの場合、ベクトル比較はハミング距離 hamming メトリックを使用して実行されます。

{ 
  "name": "my-binary-vector-field", 
  "type": "Collection(Edm.Byte)", 
  "vectorEncoding": "packedBit", 
  "dimensions": 1024, 
  "vectorSearchProfile": "myHnswProfile" 
} 

ベクトル重み付けの追加

weight クエリ パラメーターを追加して、検索操作に含まれる各ベクトルの相対的な重みを指定します。この機能は、ハイブリッド検索やマルチベクトル検索など、2 つ以上の異なる結果セットを組み合わせる必要がある複雑なクエリで特に役立ちます。重みは、各ドキュメントの RRF 逆順位融合スコアを計算するときに使用されます。weight 計算は、それぞれの結果セット内のドキュメントのランク スコアに対する値に乗算されます。

{ 
  "vectorQueries": [ 
    { 
      "kind": "vector", 
      "vector": [1.0, 2.0, 3.0], 
      "fields": "my_vector_field", 
      "k": 10, 
      "weight": 0.5 
    } 
  ], 
  "search": "hello world" 
} 

ハイブリッド検索の maxTextRecallSize の追加

hybridSearch クエリ パラメーター オブジェクトを追加して、ハイブリッド (テキストとベクター) 検索でテキスト クエリを使用して呼び出されるドキュメントの最大数を指定します。デフォルトは 1,000 ドキュメントです。このパラメータを使用すると、ハイブリッド クエリで返される結果の数を増減できます。

{ 
  "vectorQueries": [ 
    { 
      "kind": "vector", 
      "vector": [1.0, 2.0, 3.0], 
      "fields": "my_vector_field", 
      "k": 10 
    } 
  ], 
  "search": "hello world", 
  "hybridSearch": { 
    "maxTextRecallSize": 100, 
    "countAndFacetMode": "countAllResults" 
} 

ベクトルクエリにしきい値を設定

これまで最近傍検索では常に k パラメータで要求された近傍が返されるため、スコアの低い一致が得られる可能性がありました。threshold クエリ パラメーターを追加して、スコアの低い検索結果を除外できるようになりました。

{ 
  "vectorQueries": [ 
    { 
      "kind": "vector", 
      "vector": [1.0, 2.0, 3.0], 
      "fields": "my-cosine-field", 
      "threshold": { 
        "kind": "vectorSimilarity", 
        "value": 0.8 
      } 
    }
  ]
}

すべてのプランでの容量の増加とベクトル割り当ての増加 (同じ価格)

4 月の容量増加に加えて、2024 年 5 月 17 日以降に作成された Standard 2 (S2)、Standard 3 (S3)、および Standard 3 High Density (S3 HD)、ストレージ最適化層 (L1 および L2) サービスに対するベクトルインデックスサイズとパーティション サイズがさらに大きくなりました。

ハイブリッド検索のクエリ レイテンシーが最大 50% 削減

Azure AI Search はパフォーマンス向上も実現しています。最新の改善により、アプリを変更することなく、ハイブリッド検索クエリの待ち時間が最大 50% 短縮されています。

AzureOpenAIEmbedding スキルの最新の Embeddings モデルのサポート

このスキルの更新により、Azure OpenAI Service で以下のモデルのサポートが追加されます。以前は次元制限は 1,536 次元に固定されていましたが dimensions パラメータによって設定可能になりました。

  • text-embedding-3-small
  • text-embedding-3-large

データのインポートとベクター化機能からの選択

image.png

2. マルチモーダル検索

Azure AI Search の統合ベクトル化 (プレビュー)機能がマルチモーダル向けに強化されました。インデックス作成パイプラインから画像 Embeddings を作成するプロセスが大幅に合理化され、インデックスへの画像ベクトル表現の保存とクエリ時の画像検索が容易になります。

これまで私が Qiita を通じて検証してきたマルチモーダル RAG をより便利に構築するための機能が追加されました。これからマルチモーダル RAG システムを構築される方には朗報ですね。

統合ベクトル化(Integrated Vectorization) アーキテクチャ

image.png

Azure AI Vision マルチモーダル Embeddings スキル

Azure AI Vision マルチモーダル Embeddings スキルは、Azure AI Vision のマルチモーダル Embeddings API を使用して、画像またはテキスト入力の Embeddings を生成します。

Azure AI Vision ベクタライザー

Azure AI Vision ベクタライザーは、Azure AI Vision リソースに接続し、マルチモーダル Embeddings を使用してクエリ時に Embeddings を生成します。

"vectorizers": [
    {
        "name": "my-ai-services-vision-vectorizer",
        "kind": "aiServicesVision",
        "aiServicesVisionParameters": {
            "resourceUri": "https://westus.api.cognitive.microsoft.com/",
            "apiKey": "0000000000000000000000000000000000000",
            "authIdentity": null,
            "modelVersion": "2023-04-15"
        },
    }
]

Azure AI Studio モデルカタログ ベクタライザー

これまで Cohere モデル、CLIP モデルなどは、 AML スキルを構成することでデータインジェスト時に Embedddings 化することができました。今回これを補完するための機能として、Azure AI Studio モデルカタログ ベクタライザーは、Azure AI Studio モデル カタログを介して Azure Machine Learning エンドポイントにデプロイされた Embeddings モデルに接続します。現在以下のモデルがサポートされています。

  • OpenAI-CLIP-Image-Text-Embeddings-vit-base-patch32
  • OpenAI-CLIP-Image-Text-Embeddings-ViT-Large-Patch14-336
  • Facebook-DinoV2-Image-Embeddings-ViT-Base
  • Facebook-DinoV2-Image-Embeddings-ViT-Giant
  • Cohere-embed-v3-english
  • Cohere-embed-v3-multilingual

データのインポートとベクター化機能からの選択

image.png

3. Fabric OneLake との統合

OneLake ファイル インデクサーは、Microsoft Fabric テナントの OneLake に接続し、そのファイルのインデックスを作成するように設計されています。OneLake レイクハウスから直接ファイルにインデックスを付けることも、OneLake ショートカットを使用することもできます。

OneLake ファイルと OneLake ショートカット用の新しいインデクサー。アマゾン ウェブ サービス (AWS) および Google データ ソースへのデータ アクセスに Microsoft Fabric と OneLake を使用している場合は、このインデクサーを使用して外部データを検索インデックスにインポートします

次の OneLake ショートカットが OneLake ファイル インデクサーでサポートされています。

  • ADLS Gen2 ショートカット
  • OneLake ショートカット(別の OneLake インスタンスへのショートカット)
  • Amazon S3 ショートカット
  • Googleクラウドストレージのショートカット

このインデクサーは、特に PDF、Microsoft Office ドキュメント、画像、JSON、CSV ファイルなどの非構造化コンテンツおよび半構造化コンテンツを対象としています。一方、このインデクサーは、parquet ファイルのインデックス作成など、構造化されたテーブル コンテンツには適用されません。

データのインポートとベクター化機能からの選択

image.png

API Version, SDK Version

今後

これらの新機能を細かく検証していきたいと思います。

参考

7
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6