Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AI エージェントの記憶検索における Vertex AI の活用【2023/11/16 Google Cloud Next Tokyo ’23】

tsubaki kyosuke
November 16, 2023
31

AI エージェントの記憶検索における Vertex AI の活用【2023/11/16 Google Cloud Next Tokyo ’23】

■イベント
Google Cloud Next Tokyo '23
https://cloudonair.withgoogle.com/events/next-tokyo

■登壇概要
タイトル:AI エージェントの記憶検索における Vertex AI の活用

■Gaudiy採用ページ
https://site.gaudiy.com/recruit

tsubaki kyosuke

November 16, 2023
Tweet

Transcript

  1. Proprietary Google Cloud Next Tokyo ’23 目次 01 サービス説明 02

    ベクトル検索の評価 03 ベクトル化モデルの比較評価
  2. Proprietary Google Cloud Next Tokyo ’23 01 サービス説明 1.1 ユーザーの

    AI アバターを介した新たな SNS 1.2 サービス実現に必要な技術 1.3 実現したい要件・制約
  3. Proprietary Google Cloud Next Tokyo ’23 サービス実現に必要な技術 • 大規模なベクトル検索する基盤 •

    文章を適切に汲み取るベクトル化アルゴリズム (※)RAG(Retrieval Argumented Generation): 外部のDB・Webからデータを検索して、LLMのプロンプトにFew-Shotでコンテキストを加えることで 回答精度を上げる手法のこと。
  4. Proprietary Google Cloud Next Tokyo ’23 • ベクトル検索 ◦ 条件付き検索:マルチテナント別、会話の種類、ユーザー別

    ◦ パフォーマンス:コミュニティの活性化によるデータ量の増大 • ベクトル化アルゴリズム ◦ 精度:文脈に合う適切な会話を実現するためベクトル化の品質を重視 ◦ 多言語対応:国外への展開予定 ◦ パフォーマンス:大量に処理するためベクトル変換のレイテンシを重視 実現したい要件・制約
  5. Proprietary Google Cloud Next Tokyo ’23 02 ベクトル検索の評価 2.1 現状のベクトル検索

    2.2 スケーラビリティの課題 2.3 Vertex AI を用いたベクトル検索 2.4 ベクトル検索の評価条件 2.5 自前実装と Vertex AI の比較 2.6 Vertex AI Vector Search 2.7 実用的なベクトル検索
  6. Proprietary Google Cloud Next Tokyo ’23 ベクトルストア: Cloud Spanner 全ベクトルを取得する構成

    ベクトル化: OpenAI Embedding 1536 次元に埋め込み ベクトル検索: 独自実装 メモリに全部載せて全探索 現状のベクトル検索
  7. Proprietary Google Cloud Next Tokyo ’23 スケーラビリティの課題 • ビジネス上、データ量が増大しやすい ◦

    コミュニティの活発化 / AI アバターの増加 ◦ 導入企業増加 ◦ ユースケース増加に伴う検索フィルターの複雑化 • データ量増加に伴うシステムの限界 ◦ メモリ使用量の増加 ◦ O(N^2) で伸びるレイテンシ(全N件の探索を 2 回行うため) ◦ ベクトル次元数の異なるモデルに移行するのが困難
  8. Proprietary Google Cloud Next Tokyo ’23 ベクトルストア: Vertex AI Vector

    Search 全ベクトルを取得する構成 ベクトル化: OpenAI Embedding 1536 次元に埋め込み ベクトル検索: Vector Search 比較のため最近傍探索 (ANN も使える) Vertex AI を用いたベクトル検索
  9. Proprietary Google Cloud Next Tokyo ’23 ベクトル検索の評価条件 • データ ◦

    次元: 1536 ◦ データサイズ: 100, 500, … ,10000 • 検証方法 ◦ 負荷検証ツール: k6 ◦ リクエスト数: 100 • 評価指標 ◦ 平均値, パーセンタイル (90, 95)
  10. Proprietary Google Cloud Next Tokyo ’23 自前実装と Vertex AI の比較

    Gaudiy調べ 自前実装と比較して • レスポンスタイムが10000倍高速 • データサイズが増加してもレスポンス タイムが比例して増加しない
  11. Proprietary Google Cloud Next Tokyo ’23 柔軟な検索性 リアルタイムにインデックスを 更新でき、Namespace で検索

    領域を限定できる。 実用的なベクトル検索 変更容易性 ベクトル インデックスと検索実 行環境が分離されているため、 ベクトルの次元数やマシンス ペックの変更が容易に行える。 スケーラビリティ 最近近傍探索(ANN)によっ て、高再現率で数十億のベクト ルに対してわずか数ミリで検索 可能。
  12. Proprietary Google Cloud Next Tokyo ’23 03 ベクトル化モデルの比較評価 3.1 良いベクトルとは?

    3.2 ベクトル化モデルの評価手順 3.3 使用するモデル 3.4 モデルの評価 3.5 総合評価
  13. Proprietary Google Cloud Next Tokyo ’23 良いベクトルとは? • 文章の意味的類似性を正しく評価するためには良質なモデルが必要 •

    ベクトル化の品質が悪いと文脈にミスマッチなコミュニケーションが発生 • 日本語だけではなく多言語に対応したモデルが必要 文1: 海の上でサーフボードに乗っている犬がいます。 文2: サーフボードに乗った犬が、海の上にいます。 類似性: 高 文1: 遠くに山合いの見える場所に飛行機が飛んでいます。 文2: 競技場でサッカーをしている人達がいます。 類似性: 低
  14. Proprietary Google Cloud Next Tokyo ’23 各モデルでベクトル化 Vertex AI や

    OpenAI、 Hugging Face 上で公開されて いる Text Embedding モデル を使用し、ベクトル化を行いま す。 1 2 3 ベクトル化モデルの評価手順 データセットの用意 日本語のデータセットである JSTS を使用します。JSTS は2 文間の類似度(0~5)で評価さ れている文ペアの集合。 モデル評価 Pearson / Spearman の相関 係数を使ってスコアを計算し、 モデル間の精度評価を行いま す。
  15. Proprietary Google Cloud Next Tokyo ’23 1. Vertex AI Embedding

    for Text textembedding-gecko-multilingual (preview) 2. OpenAI text-embedding-ada–002 3. Microsoft(Hugging Face上で公開) multilingual-e5-large 使用するモデル
  16. Proprietary Google Cloud Next Tokyo ’23 モデルの評価 モデル名 textembedding- gecko-multilingual

    text-embedding- ada–002 multilingual-e5-la rge ベクトル長 768 1536 1024 pearson / spearman 0.847 / 0.801 0.837 / 0.790 0.862 / 0.819 変換時間(s) / vec 0.069 0.230 0.076 モデル管理 不要 不要 必要 👍 👍 👍 👍 👍
  17. Proprietary Google Cloud Next Tokyo ’23 総合評価 ベクトル検索には Vertex AI

    の Vector Search を採用 検索範囲の柔軟性、低レイテンシ、マシンスペックや探索アルゴリズムなどの変更容易性 ベクトル化モデルには Vertex AI Embedding for Text の textembedding-gecko-multilingual を採用 multilingual-e5-large と同等性能でありながら、モデル管理が不必要で多言語対応なモデル