検索エンジンOSS勉強会 第2回を開催した
検索エンジン OSS 勉強会の第 2 回を開催しました。
この勉強会に興味ある人は、検索エンジン OSS 勉強会 ガイドライン - Google ドキュメント から参加できます!
発表内容
- @hotchpotch せこんさん
- Vespa の Multi-Vector HNSW の実装を読む
- Github の URL 末尾に、
.diff
や.patch
をつけることで、LLM(Claude)に読ませて code reading したとのこと。めちゃくちゃ頭いいですね。そのまま commit page や PR の URL 渡すよりも余分な情報がないから明快に説明してくれそうです。 - 日本語 ReRank モデルを ONNX に変換して、そのまま vespa 上で動かしていたりとひたすら手を動かされていてすごい。
- 各 OSS で multi vector index をどのように扱うのか、そしてパフォーマンス劣化はどれくらい起こるのかは気になる話ですね。 Elasticsearch の nested field はパフォーマンスが悪化するので
- Github の URL 末尾に、
- Vespa の Multi-Vector HNSW の実装を読む
- @gteu さん
- OpenSearch の Filtering を理解する @昨日
- 図を交えた説明でわかりやすかったです。
- フィルタ条件がすでに既知なら、Post filter やるよりも Pre filter のほうが良いのではという疑問があったが、Post filter は逐次的に ANN を終えたあとに filter を愚直に行えばいいだけだが、 Pre filter の場合は filter をかけてしまうと HNSW のグラフが壊れるといっており、確かにパフォーマンスを考慮したうえでの実装面での難易度は高そう。
- Lucene が Efficient k-NN filtering を実装して、それを OpenSearch が追う形で Opensearch の faiss コンポーネント内部で実装したとのこと。faiss 本家では filter 需要というか実装するという話はでてきているのだろうか?
- @johtani さんが共有してくれたが、Move max vector dims limit to Codec by mayya-sharipova · Pull Request #12436 · apache/lucene Lucene のベクトルの上限が Codec で設定できるようにして、各ユーザーが自由にベクトルの上限を設定できるようになったとのこと。この方向性はみんな幸せになるし、ベクトルの次元の大きさを各自が設定可能に
発表してくれたお二人に感謝です!
自分は家庭の事情で発表予定でしたが時間が捻出できず無念の時代となりました…が他の人の発表聞いてるとモチベーションが上がったのでありがたいお話です。
今回の余談
- Go 言語製の検索エンジン bleve に https://github.com/blevesearch/bleve/releases 2.4 から vector serach が可能になった話がきになったり、 backend は faiss っぽいです。
- NVIDIA の cu family の一環で cuvs という OSS が作成されていた。 https://github.com/rapidsai/cuvs
- qdrant ですが、ANN の filtering の問題は、Lucene, OpenSearch とは異なる独自の方法で解決してるっぽいですね https://qdrant.tech/articles/filtrable-hnsw/ 。 @gteu さんに教えてもらいました。
関連しているかもしれない記事
- 検索エンジンOSS勉強会 第1回を開催した
- Apache Lucene の PR #12962 Speedup concurrent multi-segment HNSW graph search 2 を理解したい 検索エンジンOSS勉強会
- Community Over Code North America 2023 にて Lucene 関係で気になった発表まとめ
- 検索エンジンOSS勉強会: Lucene や OpenSearch など検索エンジンOSSへの貢献を念頭にしたオンライン勉強会を立ち上げてみた
- 検索と推薦サービス開発に関わる人達を対象にした、懇親会に全振りしたイベントを開催した
📮 📧 🐏: 記事への感想のおたよりをおまちしてます。 お気軽にお送りください。 メールアドレス入力があればメールで返信させていただきます。 もちろんお返事を希望せずに単なる感想だけでも大歓迎です。
このサイトの更新情報をRSSで配信しています。 お好きなフィードリーダーで購読してみてください。
このウェブサイトの運営や著者の活動を支援していただける方を募集しています。 もしよろしければ、Buy Me a Coffee からサポート(投げ銭)していただけると、著者の活動のモチベーションに繋がります✨
Amazonでほしいものリストも公開しているので、こちらからもサポートしていただけると励みになります。