すべてのプロダクト
Search
ドキュメントセンター

MaxCompute:ハッシュシャーディングテスト

最終更新日:Jan 07, 2025

ハッシュシャーディングは、プロキシマCEのエンドツーエンドの機能の正確性をテストするために使用されます。 このトピックでは、ハッシュシャーディングテストのテスト結論と手順について説明します。

テストの結論

プロキシマCEのハッシュシャーディングを使用することによって得られるリコール結果は、リコールツールを使用することによって得られるリコール結果と基本的に同じである。 正確性テストは期待に応えます。

テスト手順

  1. テスト方法を設計して下さい。

    1. データ準備: FLOAT、BINARY、INT8などのさまざまなデータ型のランダムデータセットを準備します。 Proxima CEの場合、データセットを関連するMaxComputeテーブルに変換する必要があります。 C ++ ベースラインの場合、データは、Proximaカーネルで提供されるベンチパフォーマンステストツールを使用して処理する必要があります。

      説明

      C ++ ベースラインは、Proximaカーネルによって測定されたパフォーマンスデータがテストベンチマークとして使用されることを示します。 プロキシマカーネルはC ++ で書かれています。

    2. アルゴリズムの比較: 各データセットにグラフ検索、階層クラスタリング検索、線形検索などのさまざまな検索方法を使用して、プロキシマCEおよびC ++ ベースラインのテスト結果を取得します。 次に、Proxima CEとC ++ ベースラインを使用して計算されたリコール率を比較します。 テストでは、トップKは100に設定されます。 Proxima CEのリコールツールは、クエリテーブル内の100のサンプルデータレコードに基づいてリコール率を計算します。 Proxima CEとProxima CEのリコールツールを使用して得られるリコール率の比較は、主に線形探索法に基づいて行われる。 Proxima2のリコールツールの使用法と原理は、Proxima CEのリコールツールの使用法と原理と同じです。

  2. テストの準備をします。

    • データを準備します。

      データ型ごとにランダムなデータセットを準備します。 次の表に、データセットの基本情報を示します。 クエリテーブルの各データセットは、docテーブルから100データレコードを抽出します。

      データ型

      Number of dimensions

      データレコード数

      値の範囲

      FLOAT

      128

      100,000

      (0,1)

      INT8

      128

      100,000

      (-128,127)

      BINARY

      512

      100,000

      0/1

    • パラメーターを設定します。

      検索方法

      パラメーター

      グラフ検索

      • proxima.hnsw.searcher.ef: 400

      • proxima.hnsw.builder.efconstruction: 400

      • proxima.hnsw.builder.max_neighbor_count: 100

      階層クラスタリング検索

      • proxima.hc.builder.centroids_count: 2000

      • proxima.hc.searcher.max_scan_count: 80000

      衛星システムグラフ (SSG)

      • proxima.hnsw.searcher.ef: 400

      • proxima.hnsw.builder.efconstruction: 400

      • proxima.hnsw.builder.max_neighbor_count: 100

      グラフクラスタリング (GC)

      • proxima.gc.builder.centroid_count: 1000

      • proxima.gc.searcher.scan_ratio: 0.8

      量子化クラスタリング (QC)

      • proxima.qc.builder.centroid_count: 1000

      • proxima.qc.searcher.scan_ratio: 0.8

      リニア検索

      -

  3. テスト結果を表示します。

    • 次の表に、データ型がFLOATで、距離メジャー型がSquaredEuclideanの場合のテスト結果を示します。

      検索方法

      Proxima CEのリコールレート

      リコールツールのリコール率

      グラフ検索

      89.03%

      88.62%

      階層クラスタリング検索

      98.91%

      98.14%

      衛星システムグラフ (SSG)

      96.00%

      95.76%

      グラフクラスタリング (GC)

      97.87%

      97.64%

      量子化クラスタリング (QC)

      97.70%

      97.77%

      リニア検索

      100%

      100%

    • 次の表に、データ型がINT8で、距離メジャー型がSquaredEuclideanの場合のテスト結果を示します。

      検索方法

      Proxima CEのリコールレート

      リコールツールのリコール率

      グラフ検索

      89.89%

      89.93%

      階層クラスタリング検索

      98.27%

      97.69%

      衛星システムグラフ (SSG)

      95.58%

      95.75%

      グラフクラスタリング (GC)

      97.72%

      97.36%

      量子化クラスタリング (QC)

      97.68%

      97.71%

      リニア検索

      100%

      100%

    • 次の表に、データ型がBINARYで、距離メジャー型がHammingの場合のテスト結果を示します。

      検索方法

      Proxima CEのリコールレート

      リコールツールのリコール率

      グラフ検索

      85.33%

      88.09%

      階層クラスタリング検索

      91.45%

      95.27%

      衛星システムグラフ (SSG)

      75.89%

      77.83%

      グラフクラスタリング (GC)

      90.01%

      93.99%

      量子化クラスタリング (QC)

      90.51%

      93.78%

      リニア検索

      100%

      100%

  4. 結果を分析します。

    Proxima CEの各検索方法およびデータ型のリコール結果は、リコールツールを使用して取得されたリコール結果と同様です。