優勝&準優勝!オープンソースの検索エンジン Puck が NeurIPS'2023 で輝く

このほど、世界が注目する国際ベクトル検索コンペティションNeurIPS'23におけるBig-ANNのランキングが正式に発表されました。Baidu の検索コンテンツ テクノロジー チームは、自社開発した ANN 検索アルゴリズム PUCK の優れたパフォーマンスにより、ストリーミング検索トラックで優勝、フィルター検索トラックで準優勝することに成功しました。

NeurIPS (Conference on Neural Information Processing Systems) は、機械学習、人工知能、神経科学の分野で権威ある学術会議であり、ICML、ICLR と並び、この分野で最も難解で最高レベル、最も影響力のある会議として知られています。機械学習です。研究者や実務家に、最先端の技術とアルゴリズムを実証し、比較する機会を提供します。

ベクトル検索がより一般的になるにつれて、現実世界のシナリオにおける最近傍検索またはベクトル検索問題のさまざまなバリエーションを解決することがますます重要になります。これに関連して、NeurIPS'23 は Big-ANN コンペティションを立ち上げ、研究革新と実稼働環境での大規模 ANN の実装を強化し、インデックス データ構造とインデックス アルゴリズムの開発を促進することを目的としています。NeurlPS の人気と権威の高さにより、Big-ANN には多くの有名企業や一流大学が同じ舞台で競い合うようになりました。

コンテストの質問とチャンピオンシップ: https://big-ann-benchmarks.com/neurips23.html

パックは傑出したパフォーマンスで際立っています

今年の Big-ANN には、フィルター検索、配信外、スパース、ストリーミング検索の 4 つのコンテスト トピックが含まれており、参加者は 1 つ以上のトラックにエントリーを送信することを選択できます。評価ハードウェア標準は Azure Standard D8lds v5 (8 vCPU および 16GB DRAM) です。このマシンでのインデックスの構築時間は 12 時間に制限され、ストリーミング検索トラックの時間制限はさらに厳しくなります。

1) ストリーミング検索トラックで高い再現率で第 1 位にランクされています。

競争問題では、K 平均法を使用して 3,000 万のデータセットをクラスター化し、64 のグループに分割する必要があります。インデックス更新の 1 ラウンドには、特定のサンプル グループの挿入、取得、特定のサンプル グループの削除、および取得が含まれます。このアルゴリズムは、1 時間以内に 5 ラウンドのインデックス更新 (合計 1280 回の操作) を完了する必要があります。毎回挿入されるデータは異なるグループに属しているため、データ分布全体が不明な場合でも、より良い検索結果を提供するアルゴリズムが必要です。挿入操作と削除操作は常に交互に行われ、インデックス全体に含まれるサンプルは動的に変換されるため、動的データ セット上でインデックス構造をコンパクトに保つ​​ (メモリ消費量が少なくなる) アルゴリズムが必要です。

他のトラック (取得パフォーマンスのみに重点を置く) と比較して、ストリーミング検索トラックでは、アルゴリズムがデータ分布の変化に対してより堅牢であることが期待されます。ストリーミングトラックでは、検索ごとの再現率@10の統計値をアルゴリズムのスコアとして使用しており、Puckが再現率0.9849で1位となり、優勝しました。

Puck は、コンテストの質問要件とビジネス アプリケーションの実装コストを組み合わせて、オンライン トレーニング、データベース構築、検索プロセスをサポートするように現在のコードを変換します。Puck のデフォルトのインデックス構造には 4 つの層があり、各層が異なる機能を担当します。インデックス パラメーターを調整して、再現率に対する空間分割レイヤーの影響を軽減します。再現率は 3 番目のフィルター レイヤーによって制御されます。第 3 レベルの結果は、クエリとサンプル間の距離の計算に依存しており、データ分布の変化による影響が少ないため、再現率が十分に安定していることが保証されます。

写真

2) 検索性能の高さでフィルター検索ランキング2位

競争タスク: CLIP 埋め込みを使用して変換された YFCC 100M データセットのランダムな 1000 万スライス。各画像は「バッグ」にタグ付けされています。説明、カメラのモデル、写真が撮影された年、国から抽出された単語です。これらのタグは、200386 個の可能なタグの語彙から取得されます。

このトラックは検索パフォーマンスに焦点を当てています。コンペティションの質問では、アルゴリズムがタグを使用したフィルタリングされた検索をサポートする必要があり、リコール結果にはクエリ タグに一致するサンプルのみが含まれます。ランキングは、recall@10 が少なくとも 90% であり、アルゴリズムのパフォーマンスとランキングが QPS に達するという前提に基づいています。パックは 19153.42 qps で 2 位にランクされました。

現在のトラックでは 1 ~ 2 個のタグの取得が必要ですが、実際のビジネス アプリケーションでは通常、複数のタグ (>=3) の取得をサポートする必要があります。したがって、Puck は、各タグを使用して個別にインデックスを構築するソリューションを諦め (個別にインデックスを構築するソリューションの方がパフォーマンスは向上しますが、スケーラビリティが制限されます)、ベクトルとタグを組み合わせたインデックス構造を採用しました。タグ数の影響を受けにくくなり、任意のタグの検索が可能になり、検索パフォーマンスが向上します。

写真

NeurIPS'23 コンペティションは、人工知能の分野における交流と協力のための優れたプラットフォームを確立しました。この賞は、Puck チームの技術力を裏付けるものであるだけでなく、その継続的な探求と革新の精神を評価するものでもあります。今後、Puck はベクトル検索技術の発展にさらに貢献すると信じています。

パックへようこそ

Puck の優れたパフォーマンスと精度により、高精度の検索結果を維持しながら大量のデータを効率的に処理できます。さらに、Puck は柔軟性が高く、非常に大規模なデータ セットをサポートし、さまざまなデータ型やクエリのニーズに適応できます。

詳細については、GitHub を参照してください: https://github.com/baidu/puck

写真

Puck は、開発者間の協力と共有を奨励するとともに、知識の共有と普及、アクティブで広範なエコシステムの作成、プロジェクトの迅速かつ持続可能な開発の促進、それによって技術革新の促進をサポートします。

オープンソースに参加することで報酬が得られると、オープンソース分野の発展にも影響を与え、オープンソース分野がより広い方向に盛り上がるよう促進することになります。

QQ コミュニケーション グループへようこそ: 913964818

- 終わり -

推奨読書

AI ネイティブ エンジニアリング: Baidu App AI インタラクティブ テクノロジーの実践

イベントループの謎を解明する

Baidu 検索表示サービスの再構築: 進捗と最適化

Baidu APP iOS パッケージサイズ 50M の最適化実践 (7) コンパイラの最適化

Baidu 検索コンテンツ HTAP テーブル ストレージ システム

有名なオープンソース プロジェクトの作者が躁状態で職を失った - 「オンラインでお金を求めている」 スターなし、修正なし 2023 年世界のエンジニアリング成果トップ 10 が発表: ChatGPT、Hongmeng オペレーティング システム、中国宇宙ステーション、その他の選ばれた ByteDance Google、2023 年に最も人気のある Chrome 拡張機能を発表学者 の倪光南氏: Xiaomi 携帯電話 BL のロックを解除するために、 輸入 HDD を国産 SSD に置き換えることを願っていますか? まず、Java プログラマーの面接の質問をします. Arm が 70 人以上の中国人エンジニアを解雇し、中国のソフトウェア ビジネスの再編を計画. OpenKylin 2.0 が明らかに | UKUI 4.10 ダブル ダイヤモンド デザイン、美しく高品質! Manjaro 23.1 リリース、コード名は「Vulcan」
{{名前}}
{{名前}}

おすすめ

転載: my.oschina.net/u/4939618/blog/10330842