Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ざっくり理解するベクトル検索
Search
chimuichimu
April 18, 2024
3
1.1k
ざっくり理解するベクトル検索
chimuichimu
April 18, 2024
Tweet
Share
More Decks by chimuichimu
See All by chimuichimu
朝 Kaggle のすすめ
chimuichimu
3
580
atmaCup#19 2nd Place Solution
chimuichimu
3
330
Wantedly Visit における相互推薦システムの活用事例
chimuichimu
1
280
データ駆動で実現する、人と企業のマッチング
chimuichimu
0
120
PydanticAI × Logfire ではじめる LLM エージェントのモニタリング
chimuichimu
3
1.1k
ウォンテッドリーの推薦システム開発を支える評価とデプロイの仕組み
chimuichimu
1
760
進化計算ライブラリ DEAP の紹介
chimuichimu
2
190
Spotify Web API を使った分析で新しいお気に入りアーティストを発見する
chimuichimu
3
220
非競プロ勢によるUSPTOコンペ参加記
chimuichimu
2
1.8k
Featured
See All Featured
Unsuck your backbone
ammeep
671
58k
Embracing the Ebb and Flow
colly
86
4.8k
Building Adaptive Systems
keathley
43
2.7k
[RailsConf 2023] Rails as a piece of cake
palkan
56
5.7k
Facilitating Awesome Meetings
lara
54
6.5k
Documentation Writing (for coders)
carmenintech
72
4.9k
A designer walks into a library…
pauljervisheath
207
24k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
1k
Agile that works and the tools we love
rasmusluckow
329
21k
The Invisible Side of Design
smashingmag
301
51k
Visualization
eitanlees
146
16k
What's in a price? How to price your products and services
michaelherold
246
12k
Transcript
ざっくり理解する ベクトル検索 めぐろLT #14 「データ分析よろず会」 Apr. 18 2024 - Chiaki
Ichimura © 2024 Wantedly, Inc.
© 2024 Wantedly, Inc. 自己紹介 市村千晃 @chimuichimu1 • 経歴 ◦
SE, DS @SIer(2017/4 ~ 2024/2) ◦ DS @ウォンテッドリー株式会社(2024/3~) • 興味 ◦ 推薦システム ◦ データ分析コンペ
© 2024 Wantedly, Inc. ベクトル検索とは? • あるベクトルに似ているベクトルを見つけるための技術 • 「似ている」の定義 ◦
コサイン類似度 ◦ ユークリッド距離 ◦ etc.
© 2024 Wantedly, Inc. 何に使われる? • ベクトルで表現された ◦◦◦ に似た ◦◦◦
を探す ◦ ◦◦◦ … 文書、画像、音声、、、 • RAG を支える要素技術の一つ
© 2024 Wantedly, Inc. • 最近傍探索 ◦ ベクトル同士を一つ一つ比較する線形探索 ◦ 厳密な最近傍を求められるが、遅い
• 近似最近傍探索 ◦ 厳密ではなく近似的な解を高速に探索 ベクトル検索の分類
© 2024 Wantedly, Inc. • 最近傍探索 ◦ ベクトル同士を一つ一つ比較する線形探索 ◦ 厳密な最近傍を求められるが、遅い
• 近似最近傍探索 ◦ 厳密ではなく近似的な解を高速に探索 ベクトル検索の分類 どう実現している?🤔
© 2024 Wantedly, Inc. 近似最近傍探索のアルゴリズム • ツリーを使う手法 • グラフを使う手法 •
ハッシュを使う手法 ※ 上記以外にもクラスタリングやベクトルの量子化による方法など、様々な手法がある
© 2024 Wantedly, Inc. ツリーを使う手法 A B C D A
B D • 概要 ◦ ベクトル集合を空間的に分割 ◦ 分割のルールを基に探索範囲を決定 ◦ 範囲内のベクトルを探索 • アルゴリズムの例 ◦ k-d Tree, Randomized Trees • ライブラリの例 ◦ Annoy, scikit-learn クエリ C Bruch, S. (2024). Foundations of Vector Retrieval. arXiv preprint arXiv:2401.09350.を基に図を作成
© 2024 Wantedly, Inc. グラフを使う手法 • 概要 ◦ ノードがベクトルのグラフを作成 ◦
あるノードから出発し、クエリによ り似ている近傍がなくなるまで探索 • アルゴリズムの例 ◦ NSW, HNSW • ライブラリの例 ◦ NMSLIB, Voyager Bruch, S. (2024). Foundations of Vector Retrieval. arXiv preprint arXiv:2401.09350.を基に図を作成 クエリ 探索の開始点
© 2024 Wantedly, Inc. ハッシュを使う手法 クエリ • 概要 ◦ 似たベクトルを同じバケットに写像
するハッシュを定義し集合に適用 ◦ ハッシュの写像先のバケットを探索 • アルゴリズムの例 ◦ Locality Sensitive Hashing • ライブラリの例 ◦ Datasketch Bruch, S. (2024). Foundations of Vector Retrieval. arXiv preprint arXiv:2401.09350.を基に図を作成 ハッシュ関数 上記の例は
© 2024 Wantedly, Inc. まとめ • ベクトル検索は似たベクトルを探す技術で、RAGをはじめ様々な場 面で使われる • ベクトル検索の中でも、近似的な解を高速に求めるアプローチを近
似最近傍探索という • 近似最近傍探索の代表的なアルゴリズムとして、ツリーを使う手 法、グラフを使う手法、ハッシュを使う手法、がある
© 2024 Wantedly, Inc. もっと知りたい人へ • 近似最近傍探索の最前線 • Foundations of
Vector Retrieval