Vertex AI Matching Engine の概要

概要: Vertex AI Matching Engine は、拡張性が高くレイテンシが低いベクトル類似性マッチング(近似最近傍探索)サービスを提供します。類似度マッチングのユースケースでセマンティックなエンベディングをトレーニングするための優れたアルゴリズムを備えています。

Matching Engine は、意味的に類似したアイテムをマッチングするユースケースの作成に役立つツールを搭載しています。たとえば、クエリアイテムを指定すると、Matching Engine は大規模な候補のコーパスから意味的に最も似ているアイテムを探します。意味的に類似したアイテムや意味的に関連するアイテムの検索機能はさまざまな用途で使用されています。たとえば、次のようなアプリケーションでは特に重要な役割を果たしています。

  • レコメンデーション エンジン
  • 検索エンジン
  • 広告ターゲティング システム
  • 画像分類または画像検索
  • テキスト分類
  • 質問への回答
  • チャットボット

このようなセマンティック マッチング システムを構築する最先端のパラダイムでは、アイテムのベクトル表現を計算します。このベクトル表現は「エンベディング」と呼ばれることもあります。エンベディングは、機械学習モデル(多くの場合はディープ ラーニング モデル)を使用して計算されます。このモデルは、エンベディング空間内で類似したアイテムを近くに配置し、異なるアイテムを遠くに配置するようにトレーニングされます。エンベディング空間内の 2 つのアイテムが近くなるほど、類似度は高くなります。

次の図は、この手法を使ってデータベースから本を検索しています。ここでは、入力クエリに対して意味的に最も一致するものを探索しています。このアプローチでクエリに回答するには、まず、データベース内の各アイテムをエンベディングにマッピングし、次にクエリをエンベディング空間にマッピングする必要があります。これが最近傍探索問題(ベクトル類似性検索ともいいます)で、すべてのデータベース エンベディングから対象のクエリに最も近いものを見つけます。

クエリとデータベース ポイント。

エンベディングは、単語やテキスト以外でも使用されています。機械学習モデル(多くの場合、ディープ ラーニング モデル)を使用すると、写真、音声、映画、ユーザーの好みなど、複数のタイプのデータに対するセマンティックなエンベディングを生成できます。

大まかに言うと、セマンティック マッチングのパラダイムは次の 2 つの重要なステップから構成されます。

  • アイテムのエンベディング表現を生成する
  • エンベディングに対して最近傍探索を実行する

Vertex AI Matching Engine は、この両方のフェーズに対応するツールを備えています。たとえば、次のような機能を提供します。

  • アイテムのエンベディング表現を生成するトレーニングにすぐに使えるモデル。
  • 拡張性が高くレイテンシが低い近似最近傍探索(ANN)サービス。類似したエンベディングを探索します。

これらの機能は、独立したモジュール型サービスとして提供されます。このサービスは他のサービスと一緒に利用することもできます。これらを一緒に使用する必要はありません。別のサービスを使用してエンベディングを生成し、それを Matching Engine の ANN サービスに取り込み、最近傍クエリを実行することもできます。たとえば、TF-Hub の BERT や ResNet などのモデルを使用して、テキストや画像の埋め込みを作成するのが一般的です。同様に、Matching Engine の Two-Tower モデルを使用してエンベディングをトレーニングし、別のサービスで使用するためにエクスポートすることもできます。

次のステップ