RAGだけじゃない! 古くて新しいベクトル検索の世界 | DevelopersIO 2024 福岡
by
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
RAGだけじゃない! 古くて新しいベクトル検索の世界 2024/06/28 Classmethod, Inc. George Yoshida
Slide 2
Slide 2 text
Xへの投稿の際は、 ハッシュタグ #devio2024 #クラスメソッド福岡 でお願いいたします。 2 お願い
Slide 3
Slide 3 text
AWSの⽣成AI系What's Newから 3 Ref : https://aws.amazon.com/jp/about-aws/whats-new/2023/11/amazon-titan-multimodal-embeddings-model-bedrock/
Slide 4
Slide 4 text
AWSの⽣成AI系What's Newから 4 Ref : https://aws.amazon.com/jp/about-aws/whats-new/2023/11/amazon-titan-multimodal-embeddings-model-bedrock/ Embedding 埋め込み 基盤モデル マルチモーダル ベクトルデータベース
Slide 5
Slide 5 text
セッションのゴール = ベクトル検索関連の キーワード・概念を理解 5
Slide 6
Slide 6 text
⾃⼰紹介 ● 名前 : George Yoshida ● Blog : https://dev.classmethod.jp/author/quiver/ ● 仕事 : AWS事業本部エンジニア ● 所属 : HND → TXL/BER → FUK ● 2024 Japan APN AWS ○ Top Engineer(Database) ○ All Certifications Engineer 6
Slide 7
Slide 7 text
アジェンダ 1. 実は⾝近なベクトル検索 2. 埋め込み 3. ベクトル検索 4. ベクトルデータベース 5. まとめ 7
Slide 8
Slide 8 text
ベクトル検索は以前から活躍 ● RAG 8
Slide 9
Slide 9 text
ベクトル検索は以前から活躍 ● RAG ● あいまい検索(セマンティック検索) ● 推薦システム 9
Slide 10
Slide 10 text
ベクトル検索は類似検索が得意 ● RAG → 似ているドキュメント ● あいまい検索(セマンティック検索) →似ている⽤語 ● 推薦システム → 似ているコンテンツ 10
Slide 11
Slide 11 text
RAGにおけるベクトル検索 11
Slide 12
Slide 12 text
よくあるチャット系⽣成AIサービス 12 A:2024年のオリンピック開 催とはフランスのパリです。 Q:2024年のオリン ピック開催地は?
Slide 13
Slide 13 text
よくあるチャット系⽣成AIサービス 13 A:2024年のオリンピック開 催とはフランスのパリです。 Q:2024年のオリン ピック開催地は?
Slide 14
Slide 14 text
知らないことは答えられない 14 Q:2023年末のクラメ ソは何連休だった? A:具体的な情報は⾒つける ことができませんでした。
Slide 15
Slide 15 text
知らないことは答えられない 15 Q:2023年末のクラメ ソは何連休だった? A:具体的な情報は⾒つける ことができませんでした。
Slide 16
Slide 16 text
RAGが解決すること ● RAG = Retrieval-Augmented Generation cf.)情報検索(Information Retrieval) ● 基盤モデルの外にあるナレッジを活⽤ ● 幻覚(ハルシネーション)の抑制や事前ト レーニングされていない社内ドキュメント や最新情報の検索などが可能 16
Slide 17
Slide 17 text
RAGを利⽤したナレッジの活⽤ 17 [1,2,3] [4,5,6]
Slide 18
Slide 18 text
RAGを活⽤して未知の質問に回答 18 Q:2023年末のクラメ ソは何連休だった? A:有給奨励⽇を休むと 17連休でした。
Slide 19
Slide 19 text
RAGは2種類のモデルを利⽤ 19 埋め込み テキスト [1,2,3] [4,5,6]
Slide 20
Slide 20 text
モデルとは ● モデル = アルゴリズムのようなもの ● 基盤モデル(Foundation Model;FM)は⼤規模なデー タセットで事前学習された汎⽤的なAIモデル ● 例) ○ OpenAIのGPTシリーズ ○ AnthropicのClaudeシリーズ 20
Slide 21
Slide 21 text
テキストモデル 21 テキスト ● 検索した⽂書を参考 に質問の回答を作成 ● ⽣成AIの要約と同等
Slide 22
Slide 22 text
埋め込みモデル 22 ● モデルはデータを ベクトルに変換 ● ベクトルでデータ 操作 [4,5,6] [1,2,3]
Slide 23
Slide 23 text
レコメンドも同じ埋め込み構成 23 [1,2,3] [4,5,6]
Slide 24
Slide 24 text
アジェンダ 1. 実は⾝近なベクトル検索 2. 埋め込み 3. ベクトル検索 4. ベクトルデータベース 5. まとめ 24
Slide 25
Slide 25 text
埋め込み 25 [1,2,3] [4,5,6]
Slide 26
Slide 26 text
埋め込み ● 埋め込み = Embedding = ベクトル = 数字の配列 ● 配列のサイズが次元 ● 埋め込みモデルはデータをベクトルに変換 ● 埋め込みモデル(“りんご”) = [0.1, -0.3, …, 0.2] 26
Slide 27
Slide 27 text
埋め込みモデルの例 ● テキストモデル ○ テキストデータの埋め込みを⽣成 ● マルチモーダルモデル ○ テキストや画像など異なるモードのデー タの埋め込みを⽣成 27
Slide 28
Slide 28 text
埋め込みは⾮構造から構造への橋渡し 28
Slide 29
Slide 29 text
アジェンダ 1. 実は⾝近なベクトル検索 2. 埋め込み 3. ベクトル検索 4. ベクトルデータベース 5. まとめ 29
Slide 30
Slide 30 text
ベクトル検索 30 [1,2,3] [4,5,6]
Slide 31
Slide 31 text
ベクトル検索は類似検索 ● ベクトル検索 = ベクトルでベクトルの集合を検索 ● ベクトル同⼠の⽐較が必要 ● ベクトル検索は類似検索 ○ ベクトル空間に距離を定義 ○ ベクトル同⼠(2点間)の近さから類似度を定義 ● ⽤途ごとに適切な類似度(コサイン類似度等)を選択 31
Slide 32
Slide 32 text
似たもの同⼠は近くにいる 32 2次元ベクトル空間への埋め込み Q:うどんぽい ⾷べ物は? A:ラーメン
Slide 33
Slide 33 text
ANNで近似探索 ● ⾼次元の⼤量のベクトルデータを定義通りに計 算すると計算量が爆発(最近傍探索問題) ● 正確さを犠牲にして効率よく⾼速に近似 (approximate)するアルゴリズムが近似最近傍 探索(ANN; Approximate Nearest Neighbor) 33
Slide 34
Slide 34 text
ベクトルインデックス ● RDBではB-Treeがデファクトスタンダード ● ベクトル検索には近似探索⽤の別のイン デックスが必要 ● ANNインデックスとしてグラフベースの HNSW(Hierarchical Navigable Small World)などがある 34
Slide 35
Slide 35 text
アジェンダ 1. 実は⾝近なベクトル検索 2. 埋め込み 3. ベクトル検索 4. ベクトルデータベース 5. まとめ 35
Slide 36
Slide 36 text
ベクトル検索 36 [1,2,3] [4,5,6]
Slide 37
Slide 37 text
ベクトルを操作できれば ベクトルデータベース 37
Slide 38
Slide 38 text
ベクトルデータベースの例 ● Pinecone ● Elasticsearch ● PostgreSQL 38
Slide 39
Slide 39 text
インターフェースの違い ● Pinecone → ベクトルが得意 ● Elasticsearch → JSON が得意 ● PostgreSQL → リレーショナルモデルが得意 39
Slide 40
Slide 40 text
データベースの⽬的を考えよう ● Pinecone → ベクトルが得意 ○ ベクトル検索に特化 ● Elasticsearch → JSON が得意 ○ 全⽂検索とベクトル検索のハイブリッド検索 ● PostgreSQL → リレーショナルモデルが得意 ○ データ資産を活⽤ 40
Slide 41
Slide 41 text
アジェンダ 1. 実は⾝近なベクトル検索 2. 埋め込み 3. ベクトル検索 4. ベクトルデータベース 5. まとめ 41
Slide 42
Slide 42 text
ベクトル検索の特徴 ● ベクトルDBは埋め込みモデルを介して保 存‧検索するインターフェースを提供 ● ⾮構造化データを扱える ● モデルのおかげでタグのようなメタ情報の 運⽤は不要 42
Slide 43
Slide 43 text
ベクトル検索は近似探索 ● ベクトル検索はベクトル間の距離を利⽤し た類似検索 ● 計算量を抑制するために、正確さを犠牲に 近似最近傍探索(ANN)で近似する ● 全⽂検索などと棲み分けが必要 43
Slide 44
Slide 44 text
データベースの選定 ● メインで扱うデータ・処理によってデータ ベースを使い分けよう ● ベクトル特化型データベースはRDBの上位 互換ではない 44
Slide 45
Slide 45 text
No content
Slide 46
Slide 46 text
46