Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ANNライブラリの移行における技術選定
Search
Tatsuya Ute
March 27, 2025
Technology
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ANNライブラリの移行における技術選定
Tatsuya Ute
March 27, 2025
More Decks by Tatsuya Ute
See All by Tatsuya Ute
推薦システム改善で事業 KPI を改善する:ウォンテッドリーにおけるユーザー離脱 抑制の取り組み
ghibney
1
180
JSAI2025 インダストリアルトーク
ghibney
0
670
polars 1.1.0以降の使える新機能
ghibney
0
380
Other Decks in Technology
See All in Technology
AI駆動開発、viviONの1年 ── うまくいったこと・いかなかったこと
vivion
0
260
おそらく日本で唯一のDevRelインターン生として
husengs7
0
170
雪かき部 #7 もう怖くない!SELECT文!
foursue
0
280
不可逆な意思決定を避けながら10億超の顧客データを AI Ready にするデータ基盤設計
baseballyama
1
130
予測不能な実行エージェントを安全にサクッと試せるサンドボックス環境の話
sansantech
PRO
0
130
IR Today: Theory, Practice, and Agents
dtunkelang
0
350
ファミコンでPHPを動かす / PHP on the Famicom side b
tomzoh
0
140
データ品質を壊しながらSnowflakeのAIに分析させてみた
kawanago
0
520
私の推しは「聞いてから進む」AIです -AI-DLCに一人でアプリを作らせた話
yama3133
1
180
Meet AgentCore Identity Consent Portal
hironobuiga
3
190
今こそ知りたいAmplifyGen2
mkdev10
2
150
スキルを作る、その前に!複数人で使われるスキルを 作るためのプロセス
junkifurukawa
2
340
Featured
See All Featured
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
770
Building Applications with DynamoDB
mza
96
7.2k
How to build a perfect <img>
jonoalderson
1
6.1k
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
860
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.7k
Thoughts on Productivity
jonyablonski
76
5.4k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
510
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5.1k
A Soul's Torment
seathinner
8
3.7k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
The Invisible Side of Design
smashingmag
301
52k
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
Transcript
© 2025 Wantedly, Inc. ANNライブラリの移行 における技術選定 Mar. 27 2025 -
Tatsuya Ute みんなのpython勉強会 # 113
© 2025 Wantedly, Inc. 自己紹介 名前:右手達也(うてたつや) 仕事:データサイエンティスト @ウォ ンテッドリー 趣味:旅行、散歩
X: @ghibney
© 2025 Wantedly, Inc. ⽬次 • ANN(近似最近傍探索)とは • 調査に至った背景 •
ANNライブラリの調査
© 2025 Wantedly, Inc. ANN(近似最近傍探索)とは • クエリが与えられた時に、そのクエリに最も近いベクトルを 近似的に探索するアルゴリズム • アルゴリズムはHNSW、ライブラリはFaiss等が有名
• Wantedlyも推薦システムの技術要素の一つとして活用 1.15 0.19 0.32 2.73 1.22 0.27 0.24 2.68
© 2025 Wantedly, Inc. 調査に⾄った背景 利用していたANNライブラリ(nmslib)の開発が停止したため https://github.com/nmslib/nmslib/issues/540 よい機会なので、ANNライブラリごと変更したい
© 2025 Wantedly, Inc. ANNライブラリの調査 - 調査⽅針 プロダクトの持続性を考慮し、初期調査では性能面以外を優先 • 初期調査
◦ 開発の継続性:アクティブにメンテナンスされているか? ◦ 既存システムとの互換性:技術負債にならないか? • 追加調査 ◦ 精度:実データを用いた精度 ◦ 速度:実データを用いた速度(インデックス、クエリ) 本日の内容
© 2025 Wantedly, Inc. ANNライブラリの調査 - 初期調査の流れ 有名なパッケージから、各項目で絞り込んだ 候補 •
voyager • usearch 候補 • voyager • Faiss • scann • ngt • usearch 開発の 継続性 有名なライブラリ • voyager • Faiss • scann • ngt • usearch • hnswlib 既存システムと の互換性
© 2025 Wantedly, Inc. ANNライブラリの調査 - 調査した項⽬ パッケージ ライセンス 開発元
アルゴリズム star数 リリース(直近 3回) voyager Apache-2.0 license Spotify HNSW 1.4k Dec 14, 2024 Aug 1, 2024 Jul 30, 2024 Faiss MIT license Facebook HNSW, IVF, LSH, ... 32.9k Feb 1, 2025 Oct 10, 2024 Mar 1, 2024 … … … … … … リリース間隔やアルゴリズムなどの項目を調査した (2025/2/13現在)
© 2025 Wantedly, Inc. ANNライブラリの調査 - 開発の継続性の観点 開発継続性の観点から、hnswlibを除外 (2025/2/13現在) 主な観点
• リリース頻度が 極端に低くないか 結果 • hnswlib以外 リリース頻度が高く、 継続して開発されていそう • hnswlib リリース頻度が低く、継続的開発 が不安 除外
© 2025 Wantedly, Inc. ANNライブラリの調査 - 既存システムとの互換性 既存システムとの互換性の観点から、Faiss, ngt, scannを除外
主な観点 • poetry 単体で管理できるか • tensorflowベースでないか (プロダクトでtorchを使ってい るため) 結果 • voyager/usearch: 問題なし • Faiss: 公式がcondaを推奨 • ngt: poetry単体で管理不可 • scann: tensorflowに依存 (2025/2/13現在) 除外
© 2025 Wantedly, Inc. ANNライブラリの調査 - 追加調査対象ライブラリ 残ったvoyagerとusearchを追加調査の対象とした (2025/2/13現在) •
voyager/usearch ◦ リリース頻度も高く、メンテナンスされていそう ◦ poetry単体で管理でき、依存ライブラリも少ない ◦ アルゴリズムが現行のもの(HNSW)と同じで コードの修正が軽微ですむ
© 2025 Wantedly, Inc. まとめ • プロダクト開発においては技術選定する際は、 精度や速度だけが全てではないことを改めて実感した • ANNライブラリの調査を通じて、
ライブラリごとの特徴をざっくり知ることができた
© 2025 Wantedly, Inc. Appendix: ANNライブラリの調査結果(2025/2/13現在) アルゴリズム ライセンス 開発元 アルゴリズム
star数 リリース(直近 3回) voyager Apache-2.0 license Spotify HNSW 1.4k Dec 14, 2024 Aug 1, 2024 Jul 30, 2024 Faiss MIT license Facebook HNSW, IVF, LSH, ... 32.9k Feb 1, 2025 Oct 10, 2024 Mar 1, 2024 scann Apache-2.0 license Google ScaNN - Jan 17, 2025 Aug 23, 2024 Jul 23, 2024 ngt Apache-2.0 license Yahoo NGT, ... 1.3k Jan 29, 2025 Jan 28, 2025 Jan 21, 2025 usearch Apache-2.0 license Unum Cloud HNSW 2.5k Feb 8, 2025 Jan 23, 2025 Jan 15, 2025 hnswlib Apache-2.0 license Yury Malkov HNSW 4.6k Dec 3, 2023 Feb 6, 2023 Feb 15, 2022