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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
680
polars 1.1.0以降の使える新機能
ghibney
0
380
Other Decks in Technology
See All in Technology
FactoryBotアンチパターン / factory_bot anti-patterns
toshimaru
0
150
転んだ話が背中を預ける理由になる / A_story_about_falling_down_gives_you_a_reason_to_watch_each_other_s_backs.pdf
pauli
3
360
Post AI時代のリファクタリング実践記 / Refactoring in the post AI era
kaminashi
1
180
「事実」を「計測」して、「解釈」する 〜AWS Lambdaのメモリ最適解の見つけ方〜
maimyyym
0
140
組み立てて楽しむ AWS Blocks 入門
kmiya84377
0
230
パッチ更新でterraform initが落ちた日
grimoh
1
120
LLM機能を自作して分かるSnowflake Cortex AIの強み
nayuts
0
370
ブラウザとサーバーから考えるAI時代のフロントエンド監視
shogo4131
3
860
freeeらしさをAIとともに作る / Creating the freee Experience with AI
ymrl
0
230
Classmethod Company Deck
satoshi7
0
130
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
1.5k
分析の民主化を支えるメタデータ整備の実践
kakehashi
PRO
4
1.3k
Featured
See All Featured
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
620
Agile that works and the tools we love
rasmusluckow
331
22k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
470
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
330
Discover your Explorer Soul
emna__ayadi
2
1.3k
Marketing to machines
jonoalderson
1
5.9k
GraphQLとの向き合い方2022年版
quramy
50
15k
Fantastic passwords and where to find them - at NoRuKo
philnash
53
4k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.1k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
560
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
530
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