RAGだけじゃない! 古くて新しいベクトル検索の世界 | DevelopersIO 2024 福岡
by
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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