From 11a2b46778940a58b87311dcdfde49e0f0cc9d6f Mon Sep 17 00:00:00 2001 From: jinsolp Date: Tue, 19 May 2026 22:06:16 +0000 Subject: [PATCH 01/10] synthetic data gen --- .../generate_groundtruth/__main__.py | 72 +++- .../cuvs_bench/generate_groundtruth/utils.py | 27 +- .../cuvs_bench/synthesize_dataset/README.md | 305 ++++++++++++++ .../cuvs_bench/synthesize_dataset/__init__.py | 42 ++ .../cuvs_bench/synthesize_dataset/__main__.py | 374 ++++++++++++++++++ .../cuvs_bench/synthesize_dataset/_config.py | 78 ++++ .../cuvs_bench/synthesize_dataset/_fit.py | 266 +++++++++++++ .../synthesize_dataset/_generate.py | 342 ++++++++++++++++ .../synthesize_dataset/_ground_truth.py | 267 +++++++++++++ .../cuvs_bench/synthesize_dataset/_io.py | 128 ++++++ .../synthesize_dataset/_stats_io.py | 131 ++++++ .../cuvs_bench/synthesize_dataset/_verify.py | 148 +++++++ .../synthesize_dataset/figures/pipeline.png | Bin 0 -> 769353 bytes 13 files changed, 2168 insertions(+), 12 deletions(-) create mode 100644 python/cuvs_bench/cuvs_bench/synthesize_dataset/README.md create mode 100644 python/cuvs_bench/cuvs_bench/synthesize_dataset/__init__.py create mode 100644 python/cuvs_bench/cuvs_bench/synthesize_dataset/__main__.py create mode 100644 python/cuvs_bench/cuvs_bench/synthesize_dataset/_config.py create mode 100644 python/cuvs_bench/cuvs_bench/synthesize_dataset/_fit.py create mode 100644 python/cuvs_bench/cuvs_bench/synthesize_dataset/_generate.py create mode 100644 python/cuvs_bench/cuvs_bench/synthesize_dataset/_ground_truth.py create mode 100644 python/cuvs_bench/cuvs_bench/synthesize_dataset/_io.py create mode 100644 python/cuvs_bench/cuvs_bench/synthesize_dataset/_stats_io.py create mode 100644 python/cuvs_bench/cuvs_bench/synthesize_dataset/_verify.py create mode 100644 python/cuvs_bench/cuvs_bench/synthesize_dataset/figures/pipeline.png diff --git a/python/cuvs_bench/cuvs_bench/generate_groundtruth/__main__.py b/python/cuvs_bench/cuvs_bench/generate_groundtruth/__main__.py index 43c03f4322..d73e784d1f 100644 --- a/python/cuvs_bench/cuvs_bench/generate_groundtruth/__main__.py +++ b/python/cuvs_bench/cuvs_bench/generate_groundtruth/__main__.py @@ -9,7 +9,12 @@ import sys import warnings -from .utils import memmap_bin_file, suffix_from_dtype, write_bin +from .utils import ( + is_l2_normalized, + memmap_bin_file, + suffix_from_dtype, + write_bin, +) def import_with_fallback(primary_lib, secondary_lib=None, alias=None): @@ -104,6 +109,40 @@ def choose_random_queries(dataset, n_queries): return dataset[query_idx, :] +def choose_random_queries_with_jitter(dataset, n_queries, seed=12345): + """Pick ``n_queries`` random rows from ``dataset``, add Gaussian jitter at + scale ``0.1 * std(sample)``, and re-normalize to unit norm iff the + original dataset rows already are. + + Mirrors the query-generation step of ``cuvs_bench.synthesize_dataset`` + (see ``_ground_truth.generate_queries``), but operates on a real on-disk + dataset memmap instead of a fingerprint. + """ + import numpy as _np + + print("Choosing random vectors from dataset and jittering with noise") + rng = _np.random.default_rng(seed) + n_rows = dataset.shape[0] + # Sort indices so the memmap read is sequential rather than random-access. + query_idx = _np.sort(rng.choice(n_rows, size=n_queries, replace=False)) + sampled = dataset[query_idx, :].astype(_np.float32, copy=True) + + normalize = is_l2_normalized(sampled) + if normalize: + print( + " Dataset appears L2-normalized; will re-normalize jittered queries" + ) + + noise_scale = float(_np.std(sampled)) * 0.1 + sampled += rng.normal(0, noise_scale, sampled.shape).astype(_np.float32) + + if normalize: + norms = _np.linalg.norm(sampled, axis=1, keepdims=True) + sampled = sampled / _np.maximum(norms, 1e-8) + + return sampled + + def cpu_search(dataset, queries, k, metric="squeclidean"): """ Find the k nearest neighbors for each query point in the dataset using the @@ -228,18 +267,22 @@ def main(): "The input and output files are in big-ann-benchmark's binary format.", epilog="""Example usage # With existing query file - python -m cuvs_bench.generate_groundtruth --dataset /dataset/base.\ -fbin --output=groundtruth_dir --queries=/dataset/query.public.10K.fbin + python -m cuvs_bench.generate_groundtruth /dataset/base.fbin \ +--output=groundtruth_dir --queries=/dataset/query.public.10K.fbin # With randomly generated queries - python -m cuvs_bench.generate_groundtruth --dataset /dataset/base.\ -fbin --output=groundtruth_dir --queries=random --n_queries=10000 + python -m cuvs_bench.generate_groundtruth /dataset/base.fbin \ +--output=groundtruth_dir --queries=random --n_queries=10000 # Using only a subset of the dataset. Define queries by randomly # selecting vectors from the (subset of the) dataset. - python -m cuvs_bench.generate_groundtruth --dataset /dataset/base.\ -fbin --nrows=2000000 --cols=128 --output=groundtruth_dir \ + python -m cuvs_bench.generate_groundtruth /dataset/base.fbin \ +--rows=2000000 --cols=128 --output=groundtruth_dir \ --queries=random-choice --n_queries=10000 + + # Jittered queries (following the logic of cuvs_bench.synthesize_dataset) + python -m cuvs_bench.generate_groundtruth /dataset/base.fbin \ +--output=groundtruth_dir --queries=random-jitter --n_queries=10000 """, formatter_class=argparse.RawDescriptionHelpFormatter, ) @@ -249,9 +292,12 @@ def main(): "--queries", type=str, default="random", - help="Queries file name, or one of 'random-choice' or 'random' " - "(default). 'random-choice': select n_queries vectors from the input " - "dataset. 'random': generate n_queries as uniform random numbers.", + help="Queries file name, or one of 'random-choice', 'random-jitter', " + "or 'random' (default). 'random-choice': select n_queries vectors " + "from the input dataset. 'random-jitter': same as 'random-choice', " + "but add std-relative Gaussian noise to each query and re-normalize " + "if the dataset rows are unit-norm. 'random': generate n_queries " + "as uniform random numbers.", ) parser.add_argument( "--output", @@ -334,7 +380,7 @@ def main(): if len(args.output) > 0: os.makedirs(args.output, exist_ok=True) - if args.queries == "random" or args.queries == "random-choice": + if args.queries in {"random", "random-choice", "random-jitter"}: if args.n_queries is None: raise RuntimeError( "n_queries must be given to generate random queries" @@ -345,6 +391,10 @@ def main(): ) elif args.queries == "random-choice": queries = choose_random_queries(dataset, args.n_queries) + elif args.queries == "random-jitter": + queries = choose_random_queries_with_jitter( + dataset, args.n_queries + ) queries_filename = os.path.join( args.output, "queries" + suffix_from_dtype(dtype) diff --git a/python/cuvs_bench/cuvs_bench/generate_groundtruth/utils.py b/python/cuvs_bench/cuvs_bench/generate_groundtruth/utils.py index 72fb5b4a07..8742388652 100644 --- a/python/cuvs_bench/cuvs_bench/generate_groundtruth/utils.py +++ b/python/cuvs_bench/cuvs_bench/generate_groundtruth/utils.py @@ -1,5 +1,5 @@ # -# SPDX-FileCopyrightText: Copyright (c) 2024, NVIDIA CORPORATION. +# SPDX-FileCopyrightText: Copyright (c) 2024-2026, NVIDIA CORPORATION. # SPDX-License-Identifier: Apache-2.0 # @@ -8,6 +8,31 @@ import numpy as np +def is_l2_normalized( + data, + sample_size: int = 10_000, + tol: float = 1e-2, + seed: int = 0, +) -> bool: + """Cheaply check whether ``data`` rows are L2-unit-norm. + + Samples up to ``sample_size`` rows uniformly at random and returns ``True`` + iff every sampled row has ``|‖x‖ - 1| < tol``. + + Duplicated from ``cuvs_bench.synthesize_dataset._io.is_l2_normalized`` so + we don't trigger that package's heavy ``cuvs.preprocessing.pca`` import + at module load time. + """ + n = len(data) + if n == 0: + return False + rng = np.random.default_rng(seed) + take = min(sample_size, n) + idx = rng.choice(n, size=take, replace=False) + norms = np.linalg.norm(data[idx].astype(np.float32), axis=1) + return bool(np.all(np.abs(norms - 1.0) < tol)) + + def dtype_from_filename(filename): ext = os.path.splitext(filename)[1] if ext == ".fbin": diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/README.md b/python/cuvs_bench/cuvs_bench/synthesize_dataset/README.md new file mode 100644 index 0000000000..5808af3537 --- /dev/null +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/README.md @@ -0,0 +1,305 @@ +# `cuvs_bench.synthesize_dataset` + +Generates a synthetic dataset of arbitrary size from a small sample of a real dataset, for benchmarking vector indexes at scales (100M, 1B, 10B+) where the real dataset isn't available at the target size. Purely random vectors aren't a substitute — the clustering structure, neighbor density, and intrinsic dimensionality of real embeddings are what dominate ANN index behavior, and random data has none of those. + +The synthetic dataset approximates the real dataset's behavior under ANN search rather than its raw vector content. When you build the same index on both and sweep the same search-effort knob (CAGRA's `itopk_size`, HNSW's `efSearch`, DiskANN's `L`, …), the recall–throughput Pareto curves track each other and relative algorithm rankings carry over. Distance values are not preserved; only the search trade-off is. + +Ground truth is generated alongside the data and can be computed at any target size without storing the full dataset on disk. See [How it works](#how-it-works) for the mechanism. + +The matching is index-agnostic. The approximated property is the data distribution itself, so the same fingerprint works whether you benchmark CAGRA, IVF-PQ, HNSW, DiskANN, or any other ANN index. + +# When to use this + +Use it when: + +- You want to benchmark a vector index at 100M / 1B / 10B+ but only have a small (~10M) real dataset. +- You want benchmark numbers (recall, throughput, build time) on the synthetic data that **carry over** to what you'd see on the real data at the same scale. +- The real dataset is sensitive or proprietary and can't be shared, but you want a collaborator (or vendor) to benchmark a vector index against something representative of it. Fit a fingerprint locally and share that small file (.npz) instead of the dataset — it stores only per-cluster aggregate statistics, never raw rows. The collaborator regenerates the synthetic dataset locally. See [How it works](#how-it-works) for what's in the fingerprint. + +**Don't** use it when: + +- You want to use the data for anything other than ANN-index benchmarking — training or fine-tuning embedding models, evaluating downstream ML tasks, distance-correctness tests against a real reference, or any workload that depends on the *actual vector content*. The synthetic vectors only preserve index-search behavior; they aren't a substitute for the real dataset in any other context. + +# How it works + +![synthesize_dataset pipeline overview](figures/pipeline.png) + +The `fit` step learns the small fingerprint highlighted in blue above. The `generate` step turns the fingerprint into a synthetic dataset of arbitrary size, and ground truth is computed alongside it: each query probes its `nprobes` nearest clusters, those clusters are regenerated deterministically from the fingerprint, and brute-force k-NN is run against just those candidates. This is what makes 10B+ scale GT tractable. Note that `nprobes` here is an internal parameter of the GT pipeline (how many clusters we probe to find true neighbors), not a search-time parameter of any specific ANN index. + +### What the fingerprint contains + +The `fit` step produces a single NPZ file holding only per-cluster aggregate statistics: + +- `centroids` — means over each cluster's points. +- `pca_components` — eigenvectors of the per-cluster residual covariance (linear functionals of the cluster, not raw rows). +- `pca_explained_var`, `pca_noise_var` — eigenvalues and residual variance scalars. +- `variances_per_dim` — per-dim variance per cluster. +- `densities` — per-cluster point counts, normalized. +- `is_normalized_data` — single bool: whether the fit-time input was L2-unit-norm. Drives whether the synthetic data is L2-normalized at `generate`/`verify` time so the output matches the real data's normalization. + +No individual row of the original data is stored anywhere in the fingerprint, and the synthetic data emitted at generate-time is `centroid + RNG`, never a copy of a real row. + +### Query generation (random jitter) + +Queries are sampled from the dataset itself and perturbed with a small Gaussian, so they sit on the data manifold without being exact-match copies of database rows. The `generate` step produces them automatically alongside `base.fbin` and GT. + +If you also have the real dataset and want matching queries on it (e.g. for the synth-vs-real comparison in Step 7), run `cuvs_bench.generate_groundtruth --queries random-jitter` on it. + +# Requirements + +- `cuvs` (already a dependency of cuvs-bench) — provides KMeans, PCA, and brute-force k-NN. +- `cupy`, `numpy`, `tqdm`. +- A GPU. CPU-only operation isn't supported. + +# Step-by-step + +### Step 1 — Pick `sample_size`, `n_clusters`, and `ncomp` + +Two raw sizes feed the recipe: + +- **`total_rows`** — target size of the synthetic dataset you want to generate (e.g. 100M, 1B, 10B etc). +- **`sample_size`** — size of the real-data slice you fit the fingerprint on (passed to `fit`). + +Three knobs are derived from (or chosen alongside) those: + +- **SF** (scale factor) = `total_rows / sample_size` — how much we stretch the fitting sample to reach the target size. +- **PPC** (points per cluster) = `sample_size / n_clusters` — average number of real sample points per KMeans cluster. +- **`ncomp`** — number of PCA components fit per cluster, i.e. the rank of the low-rank Gaussian sampler used to draw synthetic points around each centroid. + +Use the recommended defaults: **SF=100, PPC=100, `ncomp=32`**. With those fixed, the only thing you choose is the **target size**, and everything else follows mechanically: + +```text +sample_size = target_size / 100 # SF = target_size / sample_size = 100 +n_clusters = sample_size / 100 # PPC = sample_size / n_clusters = 100 +ncomp = 32 # good middle ground at PPC=100 +``` + +So for a 100M target: `sample_size=1M`, `n_clusters=10K`, `ncomp=32`. For a 1B target: `sample_size=10M`, `n_clusters=100K`, `ncomp=32`. + +`ncomp=32` is the default because it sits in the empirical sweet spot at PPC=100 — large enough to capture the dominant intra-cluster correlations on typical embedding data, small enough to estimate reliably with 100 points per cluster. Above the ceiling listed below, recall degrades uniformly across the entire recall range; below ~16 the model is under-expressive at large target sizes. + +| Embedding dim | `ncomp` ceiling | Recommended `ncomp` | +|-----------------------|-----------------|---------------------| +| 1024d (e.g. Falcon) | ~48 | 32 | +| 768d (e.g. Wiki) | ~32 | 32 | +| 128d (e.g. BigANN) | ~32 | 24 | + + +### Step 2 — Fit the cluster fingerprint + +```bash +python -m cuvs_bench.synthesize_dataset fit \ + --dataset /path/to/your_real_data.fbin \ + --sample_size 1000000 \ + --n_clusters 10000 \ + --pca_components 32 \ + --output stats.npz +``` + +The output `stats.npz` can be reused for any target size. + +Supported input formats: `.fbin` (cuvs-bench layout), `.npy`, `.pkl`. + +### Step 3 — (Recommended) Verify `nprobes` at small scale + +`nprobes` is how many nearest clusters each ground-truth query probes when computing GT. We don't search the whole synthetic dataset for each query — that would be O(`total_rows`) per query and takes long at multi-billion scale. Instead, for each query we re-generate only the `nprobes` clusters whose centroids are closest to the query and run brute-force k-NN against just those points. + +By construction `nprobes ≤ n_clusters` (probing more clusters than exist is meaningless). **Recommended starting point: `nprobes ≈ 5% of n_clusters`.** For the fit recipe in Step 1 (`n_clusters=10K` at 100M targets, `100K` at 1B), that lands at `nprobes=500` and `5000` respectively. Empirically this keeps Step 3's recall above 0.99, i.e. the cheap nprobe GT and the exact GT agree on more than 99% of true neighbors. Higher `nprobes` is more accurate but linearly more expensive at GT time, so this is the operating point where returns flatten. + +> **What "recall" means in this step.** The recall reported by `verify` is *internal to the GT pipeline* — it measures how well the cheap nprobe GT agrees with the exact streaming GT on a small dummy dataset built from the same fingerprint. It is **not** the recall of any ANN index you'll later benchmark on the synthetic data. That index recall is the thing Step 6 measures, and it's the actual quantity the whole synthetic pipeline is designed to preserve. Don't conflate the two. + +**`nprobes` requirements *shrink* with `total_rows`, not grow.** A fingerprint has a fixed `n_clusters`, so at larger `total_rows` each cluster holds proportionally more points (same `densities`, just more samples each). For a fixed `k`, a query's top-`k` true neighbors then concentrate in *fewer* nearby clusters than they would at a smaller scale — both because each cluster contributes more candidates and because the k-th nearest distance shrinks as overall density grows. So an `nprobes` calibrated at a small `total_rows` is a **safe upper bound** for the same fingerprint at larger target sizes — it can only over-probe at the larger scale, never under-probe. + +Before paying for the full-scale generation, run the cheap nprobe GT against the exact streaming GT at a small `total_rows` and check that they agree: + +```bash +python -m cuvs_bench.synthesize_dataset verify \ + --stats stats.npz \ + --total_rows 1000000 \ + --n_queries 1000 \ + --k 10 \ + --nprobes 500 # ~5% of n_clusters=10K +``` + +If GT-vs-GT recall ≥ 0.99, that `nprobes` is safe to reuse in Step 4 at any larger `total_rows` — Step 3 conservatively over-estimates what you actually need at scale, so the value carries over without re-tuning. If recall is lower, bump `nprobes` and re-run Step 3 (cheap). Do this once per fingerprint — it's much cheaper than re-running the expensive generation step with a wrong `nprobes`. + +### Step 4 — Generate the synthetic dataset + queries + GT + +#### **Option 1 (Fast path): nprobe GT.** +Uses the `nprobes` you settled on in Step 3 — only the `nprobes` clusters nearest each query are regenerated and brute-forced. As mentioned in the previous step, using about 5% of `n_clusters` is a safe heuristic to reach ≥ 0.999. + +```bash +python -m cuvs_bench.synthesize_dataset generate \ + --stats stats.npz \ + --total_rows 1000000000 \ + --n_queries 10000 \ + --k 10 \ + --nprobes 500 \ + --gt_mode nprobe \ + --output_dir synthetic_100M/ +``` + +#### **Option 2 (Exact path, slower): exact GT.** +Set `--gt_mode exact` for exact GT — every cluster is regenerated on the GPU and brute-forced against the queries. Slower than the nprobe path, but still faster than a standard GT computation at the same `total_rows` because there's no disk I/O or host↔device transfer of the dataset. + +```bash +python -m cuvs_bench.synthesize_dataset generate \ + --stats stats.npz \ + --total_rows 1000000000 \ + --n_queries 10000 \ + --k 10 \ + --gt_mode exact \ + --output_dir synthetic_100M/ +``` + +Outputs (cuvs-bench-compatible): + +- `synthetic_100M/base.fbin` +- `synthetic_100M/queries.fbin` +- `synthetic_100M/groundtruth.neighbors.ibin` +- `synthetic_100M/groundtruth.distances.fbin` + +> **Disk-size note.** `base.fbin` is materialized to disk at full `total_rows × ncols × 4` bytes. Make sure `--output_dir` lives on a volume with enough free space before kicking off a large run. Generation streams cluster-by-cluster directly to disk, so host RAM stays bounded (~a few GB) regardless of `total_rows` — only the disk volume matters. + +### Step 5 — Register the synthetic dataset for `cuvs_bench.run` + +`cuvs_bench.run` resolves datasets by **name** from a YAML registry and expects a directory layout where each dataset lives in its own subdirectory under a common `--dataset-path`. Drop the `synthetic_100M/` directory you just produced under whatever you use as your dataset root, and add a YAML entry that points at it. + +**1. Lay out the files** so `--dataset-path` is the parent: + +```text +$RAPIDS_DATASET_ROOT_DIR/ +└── my_real_data_synth_100M/ # ← synthetic, produced in Step 4 + ├── base.fbin + ├── queries.fbin + ├── groundtruth.neighbors.ibin + └── groundtruth.distances.fbin +``` + +**2. Register the dataset** in a YAML file (`my_datasets.yaml`): + +```yaml +- name: my_real_data_synth_100M + dims: 768 + distance: euclidean + base_file: my_real_data_synth_100M/base.fbin + query_file: my_real_data_synth_100M/queries.fbin + groundtruth_neighbors_file: my_real_data_synth_100M/groundtruth.neighbors.ibin + groundtruth_distances_file: my_real_data_synth_100M/groundtruth.distances.fbin +``` + +The `distance` value must match what your real dataset uses (`euclidean` or `inner_product`). Use the same `dims` you fitted with. + +### Step 6 — Benchmark and plot + +Run the algorithms you care about and produce a recall-vs-throughput (or recall-vs-latency) Pareto plot: + +```bash +python -m cuvs_bench.run \ + --dataset my_real_data_synth_100M \ + --dataset-path $RAPIDS_DATASET_ROOT_DIR \ + --dataset-configuration ./my_datasets.yaml \ + --algorithms cuvs_cagra,cuvs_ivf_pq,hnswlib \ + --build --search + +python -m cuvs_bench.plot \ + --dataset my_real_data_synth_100M \ + --dataset-path $RAPIDS_DATASET_ROOT_DIR \ + --algorithms cuvs_cagra,cuvs_ivf_pq,hnswlib \ + --output-filepath ./plots/ +``` + +The run drops results under `$RAPIDS_DATASET_ROOT_DIR//result/{build,search}/...` as JSON + auto-exported CSV. The plot is one PNG per dataset. + +### Step 7 — *(Optional validation)* Compare against the real dataset + +If you *also* have the real dataset at the same `total_rows`, you can validate that the synthetic-data benchmark numbers are a faithful stand-in for the real ones. The recall-vs-throughput Pareto curves are the right thing to compare — if the synthetic dataset is doing its job, both curves should overlap closely across the algorithms you ran. Repeat Steps 5–6 with the real dataset, then compare. + +> **Use random-jitter queries on the real dataset too.** The synthetic dataset's queries are random-jitter by construction (sampled from the data and perturbed with a small Gaussian — see [Query generation](#query-generation-random-jitter)), so the synthetic benchmark already measures index behavior under a *data-query distribution* where queries sit on the data manifold. To make the real-vs-synth comparison apples-to-apples, the real dataset's queries should follow the same scheme — otherwise you'd be comparing two different query distributions on top of two different data distributions, and any gap in the curves could be either effect. Generate them with: +> +> ```bash +> python -m cuvs_bench.generate_groundtruth \ +> /path/to/your_real_data.fbin \ +> --queries=random-jitter \ +> --n_queries=10000 \ +> --k=10 \ +> --output=$RAPIDS_DATASET_ROOT_DIR/my_real_data +> ``` +> +> This writes `queries.fbin`, `groundtruth.neighbors.ibin`, and `groundtruth.distances.fbin` into the real dataset's directory; reference those as `query_file` / `groundtruth_*_file` in the YAML below. +> +> If the real dataset already ships with a fixed benchmark query set you specifically want to evaluate on, you can use that instead — but the comparison is then no longer a clean test of the data-distribution match alone, so you'll likely need to **re-tune the synthetic fingerprint** (loop back to Step 1). Do the tuning *at parity* — generate the synthetic dataset at the same `total_rows` as the real dataset, plot real-vs-synth, and adjust the knobs until the curves overlap before scaling `--total_rows` up. This is the same loop the [Sanity check before scaling up](#sanity-check-before-scaling-up) paragraph below describes. + +**1. Register the real dataset** alongside the synthetic one (same `my_datasets.yaml`, same `$RAPIDS_DATASET_ROOT_DIR/`): + +```text +$RAPIDS_DATASET_ROOT_DIR/ +├── my_real_data/ # ← your original real dataset +│ ├── base.fbin +│ ├── query.fbin +│ └── groundtruth.neighbors.ibin +└── my_real_data_synth_100M/ + └── … +``` + +```yaml +- name: my_real_data + dims: 768 + distance: euclidean + base_file: my_real_data/base.fbin + query_file: my_real_data/query.fbin + groundtruth_neighbors_file: my_real_data/groundtruth.neighbors.ibin +``` + +**2. Run and plot the same algorithms on the real dataset:** + +```bash +python -m cuvs_bench.run \ + --dataset my_real_data \ + --dataset-path $RAPIDS_DATASET_ROOT_DIR \ + --dataset-configuration ./my_datasets.yaml \ + --algorithms cuvs_cagra,cuvs_ivf_pq,hnswlib \ + --build --search + +python -m cuvs_bench.plot \ + --dataset my_real_data \ + --dataset-path $RAPIDS_DATASET_ROOT_DIR \ + --algorithms cuvs_cagra,cuvs_ivf_pq,hnswlib \ + --output-filepath ./plots/ +``` + +**3. Compare the two Pareto curves.** Place the two PNGs side-by-side and inspect: per-algorithm curves should be visually close, and *relative* algorithm rankings (which algorithm wins at which recall bucket) should be identical. That's the property the matching metric guarantees. + +For a single overlaid plot, load the search CSVs directly — they live at `$RAPIDS_DATASET_ROOT_DIR//result/search/.csv` and contain `recall`, `qps`, and per-config columns. Plot the real curve in solid and the synthetic in dashed on the same axes. + +#### Sanity check before scaling up + +For your first comparison run, generate the synthetic dataset *at parity* — i.e. at the **same `total_rows` as the real dataset** (set `--total_rows` in Step 4 to the real row count, so SF=100 still holds for your fitting sample). At parity the only difference between the two benchmark runs is real-vs-synth data, not size-vs-size, so any gap between the Pareto curves is cleanly attributable to the fingerprint. If the curves don't match at parity, increasing `total_rows` won't fix it — go back to Step 1 and revisit the fingerprint knobs (`ncomp`, `n_clusters`, `sample_size`). Once they match at parity, scale `--total_rows` up freely. + + +## Caveats + +- The synthetic data is calibrated to reproduce **how a vector index behaves on your real data** (recall, throughput, build time), not the raw distance values themselves. Use it to compare *index configurations*, not as a substitute for distance-correctness tests. +- `ncomp` is the dominant parameter. Above the ceiling, recall degrades uniformly across the entire recall range. +- Queries are sampled from the synthetic distribution itself (with small noise added) + +## Glossary + +- **`nc`** — number of KMeans clusters. +- **`ncomp`** — PCA components per cluster (the rank of the per-cluster covariance approximation). +- **`PPC`** — points per cluster in the fitting sample (= `sample_size / nc`). Defaults assume PPC=100, which is the empirically validated sweet spot. +- **`SF`** — scale factor (= `total_rows / sample_size`). How much we "stretch" the small sample to fill the target dataset. + +## Python API + +The CLI is a thin wrapper. For programmatic use: + +```python +from cuvs_bench.synthesize_dataset import ( + fit_cluster_stats, save_cluster_stats, load_cluster_stats, + cluster_config_from_stats, generate_synthetic_dataset, + generate_queries, compute_groundtruth_nprobe, verify_groundtruth, +) +``` + +See module docstrings for argument details. diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/__init__.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/__init__.py new file mode 100644 index 0000000000..13f89eb9be --- /dev/null +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/__init__.py @@ -0,0 +1,42 @@ +# +# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION. +# SPDX-License-Identifier: Apache-2.0 +# + +from ._config import ClusterConfig +from ._fit import fit_cluster_stats +from ._generate import ( + gen_cluster_gpu, + generate_synthetic_dataset, + generate_synthetic_dataset_to_file, + get_cluster_seed, + get_num_points_per_cluster, +) +from ._ground_truth import ( + compute_groundtruth_exact, + compute_groundtruth_nprobe, + generate_queries, +) +from ._stats_io import ( + cluster_config_from_stats, + load_cluster_stats, + save_cluster_stats, +) +from ._verify import verify_groundtruth + +__all__ = [ + "ClusterConfig", + "cluster_config_from_stats", + "compute_groundtruth_nprobe", + "compute_groundtruth_exact", + "fit_cluster_stats", + "gen_cluster_gpu", + "generate_queries", + "generate_synthetic_dataset", + "generate_synthetic_dataset_to_file", + "get_cluster_seed", + "get_num_points_per_cluster", + "load_cluster_stats", + "save_cluster_stats", + "verify_groundtruth", +] diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/__main__.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/__main__.py new file mode 100644 index 0000000000..7aafa219fd --- /dev/null +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/__main__.py @@ -0,0 +1,374 @@ +# +# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION. +# SPDX-License-Identifier: Apache-2.0 +# +"""Command-line entry point for the synthesize_dataset module. + +Three subcommands: + +- ``fit``: extract a cluster fingerprint (.npz) from a real dataset. +- ``generate``: turn a fingerprint into a benchmarkable + ``base.fbin`` / ``queries.fbin`` / ``groundtruth.{neighbors,distances}.{ibin,fbin}`` + bundle. +- ``verify``: validate the chosen ``nprobes``. + +Run ``python -m cuvs_bench.synthesize_dataset --help`` for the full surface. +""" + +from __future__ import annotations + +import argparse +import os +import sys + +import numpy as np + +from ..generate_groundtruth.utils import write_bin +from ._fit import fit_cluster_stats +from ._generate import generate_synthetic_dataset_to_file +from ._ground_truth import ( + compute_groundtruth_nprobe, + compute_groundtruth_exact, + generate_queries, +) +from ._io import load_dataset +from ._stats_io import ( + cluster_config_from_stats, + load_cluster_stats, + save_cluster_stats, +) +from ._verify import verify_groundtruth + + +def _add_fit_parser(subparsers: argparse._SubParsersAction) -> None: + p = subparsers.add_parser( + "fit", + help="Extract a dataset fingerprint from a real dataset.", + description=( + "Run KMeans + per-cluster PCA on a sample of your real " + "dataset and save the resulting fingerprint as an NPZ file." + ), + ) + p.add_argument( + "--dataset", + required=True, + help="Path to the real dataset (.fbin, .npy, or .pkl).", + ) + p.add_argument( + "--output", + default=None, + help=( + "Path to write the fingerprint NPZ. Defaults to " + "'{dataset_stem}_nc{n_clusters}_ncomp{pca_components}" + "[_ss{sample_size}]_seed{seed}[_nonorm].npz' in the current " + "working directory. '_ss{sample_size}' is included only when " + "--sample_size is passed, and '_nonorm' only when " + "--no-normalize-for-clustering is passed." + ), + ) + p.add_argument( + "--sample_size", + type=int, + default=None, + help=( + "Use only the FIRST `sample_size` rows of the input " + "(default: use entire input). No shuffling is performed, so " + "make sure your dataset's head-of-file slice is representative " + "(pre-shuffle the file beforehand if it has any structural " + "ordering, e.g. by class or time)." + ), + ) + p.add_argument( + "--n_clusters", + type=int, + required=True, + help="Number of KMeans clusters (the `nc` parameter).", + ) + p.add_argument( + "--pca_components", + type=int, + required=True, + help="Number of PCA components per cluster (the `ncomp` parameter).", + ) + p.add_argument( + "--seed", + type=int, + default=42, + help="RNG seed for KMeans init and PCA (default: 42).", + ) + p.add_argument( + "--max_iter", + type=int, + default=300, + help="Maximum KMeans iterations (default: 300).", + ) + p.add_argument( + "--no-normalize-for-clustering", + dest="no_normalize_for_clustering", + action="store_true", + help=( + "Skip the on-the-fly L2 normalization " + "before KMeans. Default behavior (recommended) auto-detects " + "whether the input is already unit-norm and normalizes it iff " + "not, so KMeans always clusters on normalized data. Pass this " + "only for an ablation where you specifically want KMeans to run " + "on the raw input. Centroids, per-dim variances, and PCA are " + "always computed in the original space and the " + "downstream `is_normalized_data` flag is unaffected, so the " + "benchmark still matches the real data's normalization." + ), + ) + + +def _add_generate_parser(subparsers: argparse._SubParsersAction) -> None: + p = subparsers.add_parser( + "generate", + help="Materialize a synthetic dataset + queries + GT from a fingerprint.", + ) + p.add_argument("--stats", required=True, help="Path to fingerprint NPZ.") + p.add_argument( + "--total_rows", + type=int, + required=True, + help="Number of synthetic vectors to generate.", + ) + p.add_argument( + "--n_queries", + type=int, + default=10_000, + help="Number of queries to sample (default: 10000).", + ) + p.add_argument( + "--k", + type=int, + default=10, + help="Number of nearest neighbors in the GT (default: 10).", + ) + p.add_argument( + "--nprobes", + type=int, + default=10, + help="Clusters probed per query for nprobe GT (default: 10).", + ) + p.add_argument( + "--gt_mode", + choices=["nprobe", "exact"], + default="nprobe", + help=( + "GT computation mode. `nprobe` is the cheap default" + "; `exact` does an exact streaming brute force across all " + "clusters." + ), + ) + p.add_argument( + "--output_dir", + required=True, + help="Directory to write base.fbin, queries.fbin, groundtruth.*.", + ) + p.add_argument( + "--seed", + type=int, + default=42, + help="RNG seed for synthetic data and query sampling (default: 42).", + ) + + +def _add_verify_parser(subparsers: argparse._SubParsersAction) -> None: + p = subparsers.add_parser( + "verify", + help="Validate that nprobe GT matches exact GT at small scale.", + ) + p.add_argument("--stats", required=True, help="Path to fingerprint NPZ.") + p.add_argument( + "--total_rows", + type=int, + default=1_000_000, + help="Synthetic dataset size to verify against (default: 1M).", + ) + p.add_argument( + "--n_queries", + type=int, + default=10_000, + help="Number of queries (default: 10000).", + ) + p.add_argument( + "--k", + type=int, + default=10, + help="Number of nearest neighbors in the GT (default: 10).", + ) + p.add_argument( + "--nprobes", + type=int, + default=10, + help=( + "Clusters probed per query for the nprobe GT being verified " + "(default: 10)." + ), + ) + p.add_argument( + "--seed", + type=int, + default=42, + help="RNG seed for query sampling (default: 42).", + ) + + +def _cmd_fit(args: argparse.Namespace) -> int: + print(f"Loading dataset from {args.dataset}...") + data = load_dataset(args.dataset, sample_size=args.sample_size) + print(f"Loaded data shape: {data.shape}") + + stats = fit_cluster_stats( + data=data, + n_clusters=args.n_clusters, + pca_components=args.pca_components, + seed=args.seed, + max_iter=args.max_iter, + normalize_for_clustering=( + False if args.no_normalize_for_clustering else None + ), + ) + + output_path = args.output + if output_path is None: + stem = os.path.splitext(os.path.basename(args.dataset))[0] + ss_tag = "" if args.sample_size is None else f"_ss{args.sample_size}" + nonorm_tag = "_nonorm" if args.no_normalize_for_clustering else "" + output_path = ( + f"{stem}_nc{args.n_clusters}_ncomp{args.pca_components}" + f"{ss_tag}_seed{args.seed}{nonorm_tag}.npz" + ) + save_cluster_stats(output_path, stats) + print(f"Saved cluster fingerprint to {output_path}") + return 0 + + +def _cmd_generate(args: argparse.Namespace) -> int: + print(f"Loading fingerprint from {args.stats}...") + stats = load_cluster_stats(args.stats) + config = cluster_config_from_stats(stats, seed=args.seed) + print( + f" {config.nclusters} clusters, {config.ncols} dims, " + f"ncomp={stats['pca_n_components']}, " + f"is_normalized_data={config.is_normalized_data} (from fit)" + ) + os.makedirs(args.output_dir, exist_ok=True) + + base_path = os.path.join(args.output_dir, "base.fbin") + print( + f"Streaming {args.total_rows:,} synthetic vectors to {base_path} " + f"(host RAM stays bounded regardless of total_rows)..." + ) + generate_synthetic_dataset_to_file( + config=config, + total_points=args.total_rows, + output_path=base_path, + ) + + print(f"Sampling {args.n_queries} queries...") + queries = generate_queries( + nqueries=args.n_queries, + total_rows=args.total_rows, + config=config, + ) + queries_path = os.path.join(args.output_dir, "queries.fbin") + write_bin(queries_path, queries) + + print(f"Computing ground truth in '{args.gt_mode}' mode...") + if args.gt_mode == "nprobe": + gt_idx, gt_dist, _ = compute_groundtruth_nprobe( + queries=queries, + total_rows=args.total_rows, + config=config, + k=args.k, + nprobes=args.nprobes, + ) + else: + gt_idx, gt_dist, _ = compute_groundtruth_exact( + queries=queries, + total_rows=args.total_rows, + config=config, + k=args.k, + ) + + gt_idx_path = os.path.join(args.output_dir, "groundtruth.neighbors.ibin") + gt_dist_path = os.path.join(args.output_dir, "groundtruth.distances.fbin") + write_bin(gt_idx_path, gt_idx.astype(np.uint32)) + write_bin(gt_dist_path, gt_dist.astype(np.float32)) + + print( + f"\nWrote synthetic dataset bundle to {args.output_dir}:\n" + f" base.fbin ({args.total_rows:,} x {config.ncols})\n" + f" queries.fbin ({args.n_queries} x {config.ncols})\n" + f" groundtruth.neighbors.ibin ({args.n_queries} x {args.k})\n" + f" groundtruth.distances.fbin ({args.n_queries} x {args.k})" + ) + return 0 + + +def _cmd_verify(args: argparse.Namespace) -> int: + print(f"Loading fingerprint from {args.stats}...") + stats = load_cluster_stats(args.stats) + config = cluster_config_from_stats(stats, seed=args.seed) + print( + f" {config.nclusters} clusters, {config.ncols} dims, " + f"is_normalized_data={config.is_normalized_data} (from fit)" + ) + + result = verify_groundtruth( + config=config, + total_rows=args.total_rows, + nqueries=args.n_queries, + k=args.k, + nprobes=args.nprobes, + ) + + print("\n" + "=" * 60) + print("Verification Result") + print("=" * 60) + print(f" Recall (with ties): {result['recall']:.4f}") + print(f" Recall (naive): {result['simple_recall']:.4f}") + print( + f" Imperfect queries: {len(result['mismatched_queries'])}" + f" / {result['nqueries']}" + ) + if result["recall"] >= 0.999: + print( + f"\n nprobes={args.nprobes} is safe at total_rows={args.total_rows:,}." + ) + else: + print( + f"\n nprobes={args.nprobes} drops accuracy below 0.999 -- " + f"consider increasing nprobes." + ) + return 0 + + +def main(argv: list[str] | None = None) -> int: + parser = argparse.ArgumentParser( + prog="python -m cuvs_bench.synthesize_dataset", + description=( + "Synthesize an ANN-benchmark dataset of arbitrary size from a " + "small real-data fingerprint. See README.md for the recommended " + "workflow." + ), + ) + subparsers = parser.add_subparsers(dest="command", required=True) + _add_fit_parser(subparsers) + _add_generate_parser(subparsers) + _add_verify_parser(subparsers) + + args = parser.parse_args(argv) + if args.command == "fit": + return _cmd_fit(args) + if args.command == "generate": + return _cmd_generate(args) + if args.command == "verify": + return _cmd_verify(args) + parser.print_help() + return 1 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_config.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_config.py new file mode 100644 index 0000000000..78a71f345c --- /dev/null +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_config.py @@ -0,0 +1,78 @@ +# +# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION. +# SPDX-License-Identifier: Apache-2.0 +# +"""ClusterConfig: in-memory representation of a fitted cluster fingerprint. + +This is the only configuration type the synthesize_dataset module exposes. +It holds the pieces needed to deterministically generate per-cluster Gaussian +samples: centroids, densities, per-dimension variances, and the per-cluster +PCA components (``ncomp`` principal directions, ``ncomp`` explained variances, +and a residual noise variance per cluster). +""" + +from dataclasses import dataclass +from typing import List, Optional + +import numpy as np + + +@dataclass +class ClusterConfig: + """Configuration for cluster-based synthetic data generation. + + Holds the fitted cluster fingerprint produced by ``cuvs_bench.synthesize_dataset.fit``. + + Parameters + ---------- + nclusters : int + Number of KMeans clusters fitted on the real-data sample. + ncols : int + Dimensionality of the data (number of features). + seed : int + Random seed used for deterministic per-cluster generation. Combined + with ``cluster_id`` to produce a unique seed per cluster. + cluster_centers : np.ndarray, shape (nclusters, ncols) + Cluster centroids in the original (unnormalized) space. + cluster_variances : np.ndarray, shape (nclusters, ncols) + Per-dimension variance per cluster, used for variance matching when + rescaling generated points. + cluster_densities : np.ndarray, shape (nclusters,) + Relative density per cluster (fraction of sample points per cluster). + Normalized to sum to 1 in ``__post_init__``. + pca_components_list : list[Optional[np.ndarray]] + Per-cluster principal directions, each of shape ``(ncomp, ncols)``. + Entries may be ``None`` for clusters that fell back to diagonal-only + sampling because they had too few points to fit a rank-``ncomp`` PCA. + pca_explained_var_list : list[Optional[np.ndarray]] + Per-cluster variance along each principal direction, each of shape + ``(ncomp,)``. ``None`` for diagonal-fallback clusters. + pca_noise_var : np.ndarray, shape (nclusters,) + Residual noise variance per cluster (the variance not captured by the + top-``ncomp`` PCA components). Used as the variance of an isotropic + Gaussian added to every generated point. + is_normalized_data : bool + Whether the fit-time real-data slice was detected as L2-unit-norm. + ``generate``, ``verify``, and the streaming + GT routines read this directly to decide whether to re-normalize + the synthetic output. + """ + + nclusters: int + ncols: int + seed: int + cluster_centers: np.ndarray + cluster_variances: np.ndarray + cluster_densities: np.ndarray + + pca_components_list: List[Optional[np.ndarray]] + pca_explained_var_list: List[Optional[np.ndarray]] + pca_noise_var: np.ndarray + + is_normalized_data: bool + + def __post_init__(self): + total = float(self.cluster_densities.sum()) + if total <= 0.0: + raise ValueError("cluster_densities must sum to a positive value") + self.cluster_densities = self.cluster_densities / total diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_fit.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_fit.py new file mode 100644 index 0000000000..73def6613d --- /dev/null +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_fit.py @@ -0,0 +1,266 @@ +# +# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION. +# SPDX-License-Identifier: Apache-2.0 +# +"""Fit a cluster fingerprint from a sample of real data. + +Pipeline: +1. Detect whether the input is L2-normalized. The result is stored in the + fingerprint as ``is_normalized_data`` and is used at generate/verify time. +2. Decide whether to L2-normalize the sample on-the-fly for KMeans (centroids, + variances, and PCA are always computed in the original space, regardless). + Governed by the ``normalize_for_clustering`` argument (CLI: + ``--no-normalize-for-clustering``): when left at its default ``None``, it + follows the step-1 detection (enable iff the input was not already + L2-normalized); pass ``True``/``False`` (or set the CLI flag to force + ``False``) to override. +3. Run KMeans (``cuvs.cluster.kmeans``) to partition the sample. +4. For each cluster, fit a rank-``ncomp`` PCA (``cuvs.preprocessing.pca``) on + the cluster's residuals, capturing the dominant intra-cluster correlations. +5. Estimate a residual noise variance per cluster (the variance not captured + by the top-``ncomp`` components). + +The output dict can be saved with :func:`save_cluster_stats`. +""" + +from __future__ import annotations + +import time +from typing import Any, Dict + +import cupy as cp +import numpy as np +from cuvs.cluster import kmeans as cuvs_kmeans +from cuvs.preprocessing import pca as cuvs_pca +from tqdm import tqdm + +from ._io import is_l2_normalized + + +def _normalize_batched_gpu( + data: np.ndarray, batch_size: int = 1_000_000 +) -> np.ndarray: + """L2-normalize host data in batches via cupy.""" + n_rows = len(data) + n_batches = (n_rows + batch_size - 1) // batch_size + out = np.empty_like(data) + + print( + f" Normalizing {n_rows:,} vectors on GPU " + f"({n_batches} batches of {batch_size:,})..." + ) + + for b in range(n_batches): + s = b * batch_size + e = min(s + batch_size, n_rows) + d_gpu = cp.asarray(data[s:e]) + norms = cp.linalg.norm(d_gpu, axis=1, keepdims=True) + norms = cp.maximum(norms, 1e-12) + d_gpu /= norms + out[s:e] = cp.asnumpy(d_gpu) + del d_gpu, norms + cp.get_default_memory_pool().free_all_blocks() + + return out + + +def _run_kmeans( + data: np.ndarray, + n_clusters: int, + seed: int, + max_iter: int, +): + """Run cuvs KMeans, returning ``(labels, centroids)`` as numpy arrays.""" + params = cuvs_kmeans.KMeansParams( + n_clusters=n_clusters, + max_iter=max_iter, + init_size=len(data), + ) + + print( + f" Running cuvs KMeans (n_clusters={n_clusters}, " + f"max_iter={max_iter}, init_size={len(data):,})..." + ) + + t0 = time.perf_counter() + centroids_out, _, _ = cuvs_kmeans.fit(params, data) + print(f" KMeans fit time: {time.perf_counter() - t0:.2f}s") + + centroids_gpu = cp.asarray(centroids_out) + data_gpu = cp.asarray(data, dtype=cp.float32) + labels_out, _ = cuvs_kmeans.predict(params, data_gpu, centroids_gpu) + + centroids = cp.asnumpy(centroids_gpu).astype(np.float32) + labels = cp.asnumpy(cp.asarray(labels_out)).astype(np.int64) + + del data_gpu, centroids_gpu + cp.get_default_memory_pool().free_all_blocks() + + return labels, centroids + + +def _fit_cluster_pca( + residuals: np.ndarray, n_components: int +) -> tuple[np.ndarray, np.ndarray]: + """Fit a single PCA via cuvs and return ``(components, explained_var)``.""" + residuals_gpu = cp.asarray(residuals, dtype=cp.float32) + params = cuvs_pca.Params(n_components=n_components, copy=True) + out = cuvs_pca.fit(params, residuals_gpu) + components = cp.asnumpy(cp.asarray(out.components)).astype(np.float32) + explained_var = cp.asnumpy(cp.asarray(out.explained_var)).astype( + np.float32 + ) + return components, explained_var + + +def fit_cluster_stats( + data: np.ndarray, + n_clusters: int, + pca_components: int, + seed: int = 42, + max_iter: int = 300, + normalize_for_clustering: bool | None = None, +) -> Dict[str, Any]: + """Fit a cluster fingerprint to a real dataset sample. + + Parameters + ---------- + data : np.ndarray, shape (n, d) + Real data to fit against. + n_clusters : int + Number of KMeans clusters. + pca_components : int + Number of principal directions per cluster. + seed : int + Random seed for KMeans initialization. + max_iter : int + KMeans max iterations. + normalize_for_clustering : bool or None + Whether to L2-normalize the sample before KMeans (centroids, variances, + and PCA still computed in the original space). When ``None`` (default), + this is decided automatically: enabled iff the input is detected as + not-L2-normalized. Pass ``True``/``False`` to override. Exposed on the + CLI as ``--no-normalize-for-clustering`` (sets this to ``False``). + + Returns + ------- + dict with keys: + ``centroids`` : (n_clusters, d) float32 + ``densities`` : (n_clusters,) float64 + ``variances_per_dim`` : (n_clusters, d) float32 + ``pca_components_list`` : list of (ncomp, d) float32 arrays or None + ``pca_explained_var_list`` : list of (ncomp,) float32 arrays or None + ``pca_noise_var`` : (n_clusters,) float32 + ``pca_n_components`` : int (the requested ncomp) + ``is_normalized_data`` : bool — whether the fit input was + already L2-unit-norm. ``generate`` and + ``verify`` use this to default their + ``normalize`` setting. + """ + n_dim = data.shape[1] + data_sample = np.ascontiguousarray(data.astype(np.float32)) + + is_normalized_data = is_l2_normalized(data_sample) + print( + "Detected input as " + + ("L2-normalized" if is_normalized_data else "non-L2-normalized") + + " (sampled rows have norms " + + ("≈ 1.0" if is_normalized_data else "≠ 1.0") + + ")." + ) + + if normalize_for_clustering is None: + normalize_for_clustering = not is_normalized_data + print( + f" normalize_for_clustering=auto -> " + f"{normalize_for_clustering} " + f"(skipped for already-normalized data, " + f"enabled otherwise)." + ) + + if normalize_for_clustering: + print( + "Normalizing sample for clustering (stats stay in original " + "space)..." + ) + clustering_data = _normalize_batched_gpu(data_sample) + else: + clustering_data = data_sample + + labels, centroids = _run_kmeans( + clustering_data, n_clusters, seed, max_iter + ) + + # If we clustered on normalized data, recompute centroids from the + # original-space points belonging to each cluster. + if normalize_for_clustering: + print("Recomputing centroids in original (unnormalized) space...") + centroids = np.zeros((n_clusters, n_dim), dtype=np.float32) + for i in tqdm( + range(n_clusters), + desc="Recomputing centroids", + ): + mask = labels == i + if mask.any(): + cluster_gpu = cp.asarray(data_sample[mask]) + centroids[i] = cp.asnumpy(cp.mean(cluster_gpu, axis=0)) + del cluster_gpu + cp.get_default_memory_pool().free_all_blocks() + + print( + f"Fitting per-cluster PCA (ncomp={pca_components}) for " + f"{n_clusters} clusters..." + ) + + densities = np.zeros(n_clusters, dtype=np.float64) + variances_per_dim = np.zeros((n_clusters, n_dim), dtype=np.float32) + pca_components_list: list = [] + pca_explained_var_list: list = [] + pca_noise_var = np.zeros(n_clusters, dtype=np.float32) + + for i in tqdm(range(n_clusters), desc="Per-cluster PCA"): + mask = labels == i + cluster_points = data_sample[mask] + n_points = len(cluster_points) + densities[i] = n_points / len(data_sample) + + if n_points < pca_components + 1: + # Diagonal fallback: too few points for a rank-ncomp PCA. + if n_points > 1: + variances_per_dim[i] = np.var(cluster_points, axis=0) + else: + variances_per_dim[i] = np.full(n_dim, 0.01, dtype=np.float32) + pca_components_list.append(None) + pca_explained_var_list.append(None) + pca_noise_var[i] = float(np.mean(variances_per_dim[i])) + continue + + variances_per_dim[i] = np.var(cluster_points, axis=0) + + residuals = cluster_points - centroids[i] + n_components = min(pca_components, n_points - 1, n_dim) + components, explained_var = _fit_cluster_pca(residuals, n_components) + + pca_components_list.append(components) + pca_explained_var_list.append(explained_var) + + # Residual variance not captured by the top-ncomp components. + total_var = float(np.var(residuals)) + pca_noise_var[i] = max(total_var - float(explained_var.sum()), 1e-6) + + n_valid = sum(1 for c in pca_components_list if c is not None) + print( + f" {n_valid}/{n_clusters} clusters have a rank-ncomp PCA; " + f"{n_clusters - n_valid} fell back to diagonal (too few points)." + ) + + return { + "centroids": centroids.astype(np.float32), + "densities": densities, + "variances_per_dim": variances_per_dim.astype(np.float32), + "pca_components_list": pca_components_list, + "pca_explained_var_list": pca_explained_var_list, + "pca_noise_var": pca_noise_var.astype(np.float32), + "pca_n_components": int(pca_components), + "is_normalized_data": bool(is_normalized_data), + } diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_generate.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_generate.py new file mode 100644 index 0000000000..8f7425f987 --- /dev/null +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_generate.py @@ -0,0 +1,342 @@ +# +# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION. +# SPDX-License-Identifier: Apache-2.0 +# +"""Per-cluster Gaussian sampler with rank-``ncomp`` covariance. + +Each cluster ``c`` defines a Gaussian: + + x ~ centroid_c + components_c.T @ z + n, + z ~ N(0, diag(explained_var_c)) + n ~ N(0, noise_var_c * I) + +After projection-plus-noise, we rescale per-dimension so the empirical +variance of the generated batch matches the cluster's per-dimension target. + +Generation is deterministic in ``(cluster_id, config.seed)`` so the same call +always produces the same points -- this is essential for the ``nprobe`` GT +trick where the same cluster gets regenerated from scratch on each query. +""" + +from __future__ import annotations + +import os +import threading +from typing import Union + +import cupy as cp +import numpy as np +from tqdm import tqdm + +from ._config import ClusterConfig + +UINT32_MAX = (1 << 32) - 1 + +ArrayLike = Union[np.ndarray, cp.ndarray] + + +def get_cluster_seed(base_seed: int, cluster_id: int) -> int: + """Deterministic per-cluster seed. Multiply the base seed by 1000000 for different sequences for different base_seeds.""" + return base_seed * 1_000_000 + int(cluster_id) + + +def gen_cluster_gpu( + cluster_id: int, + n_points: int, + config: ClusterConfig, + return_cupy: bool = True, + normalize: bool = True, +) -> ArrayLike: + """Generate ``n_points`` points for one cluster on the GPU""" + center = cp.asarray(config.cluster_centers[cluster_id]) + + if n_points == 1: + points = center.reshape(1, -1) + if normalize: + norms = cp.linalg.norm(points, axis=1, keepdims=True) + points = points / cp.maximum(norms, 1e-8) + if return_cupy: + return points.astype(cp.float32) + return cp.asnumpy(points).astype(np.float32) + + seed = get_cluster_seed(config.seed, cluster_id) + rng = cp.random.RandomState(seed) + n_random = n_points - 1 + + components_host = config.pca_components_list[cluster_id] + explained_var_host = config.pca_explained_var_list[cluster_id] + noise_var = float(config.pca_noise_var[cluster_id]) + + if components_host is not None: + components = cp.asarray(components_host) + explained_var = cp.asarray(explained_var_host) + k = len(explained_var) + + z = rng.standard_normal( + size=(n_random, k), dtype=cp.float32 + ) * cp.sqrt(cp.maximum(explained_var, 0.0)) + projected = z @ components + + noise_std = float(cp.sqrt(max(noise_var, 0.0))) + noise = ( + rng.standard_normal( + size=(n_random, config.ncols), dtype=cp.float32 + ) + * noise_std + ) + + centered = projected + noise + + # Per-dimension scaling for variance matching + # Only apply if we have enough points for reliable variance estimation + if n_random >= 10: + target_var = cp.asarray(config.cluster_variances[cluster_id]) + actual_var = cp.var(centered, axis=0) + scale = cp.sqrt(target_var / cp.maximum(actual_var, noise_var)) + # Scale each dimension separately + # Use noise_var as floor since that's the minimum expected variance + # Cap scale_factors to 5x to prevent blowup from unreliable variance estimates + scale = cp.minimum(scale, 5.0) + centered = ( + centered * scale + ) # broadcasts (n_random, ncols) * (ncols,) + + random_points = center + centered + else: + # Diagonal fallback (in-place for memory efficiency at scale). + scale = cp.sqrt(cp.asarray(config.cluster_variances[cluster_id])) + random_points = rng.standard_normal( + size=(n_random, config.ncols), dtype=cp.float32 + ) + random_points *= scale + random_points += center + + points = cp.vstack([center.reshape(1, -1), random_points]).astype( + cp.float32 + ) + + if normalize: + norms = cp.linalg.norm(points, axis=1, keepdims=True) + points = points / cp.maximum(norms, 1e-8) + + if return_cupy: + return points + return cp.asnumpy(points) + + +def get_num_points_per_cluster( + total_points: int, + config: ClusterConfig, + min_points_per_cluster: int = 1, +) -> np.ndarray: + """Allocate ``total_points`` across clusters proportional to densities. + + Each cluster gets at least ``min_points_per_cluster``, then the remainder + is distributed by density. Remaining points are spread round-robin so + no single cluster absorbs the rounding error. + """ + nclusters = config.nclusters + min_required = nclusters * min_points_per_cluster + if total_points < min_required: + raise ValueError( + f"total_points={total_points} is less than " + f"nclusters * min_points_per_cluster = {min_required}. " + f"Increase total_points or decrease nclusters." + ) + + points_per_cluster = np.full( + nclusters, min_points_per_cluster, dtype=np.int64 + ) + remaining = total_points - min_required + if remaining > 0: + extra = (config.cluster_densities * remaining).astype(np.int64) + points_per_cluster += extra + + diff = total_points - int(points_per_cluster.sum()) + if diff != 0: + for i in range(abs(diff)): + c = i % nclusters + points_per_cluster[c] += 1 if diff > 0 else -1 + return points_per_cluster + + +def generate_synthetic_dataset( + config: ClusterConfig, + total_points: int, +) -> np.ndarray: + """Materialize a full ``(total_points, ncols)`` synthetic dataset. + + For very large ``total_points``, prefer + :func:`generate_synthetic_dataset_to_file` to keep host RAM bounded. + """ + normalize = bool(config.is_normalized_data) + points_per_cluster = get_num_points_per_cluster(total_points, config) + + ncols = config.cluster_centers.shape[1] + result = np.empty((total_points, ncols), dtype=np.float32) + write_idx = 0 + + iterator = tqdm( + range(config.nclusters), desc="Generating synthetic dataset" + ) + + for cluster_id in iterator: + n_points = int(points_per_cluster[cluster_id]) + if n_points <= 0: + continue + cluster_points = gen_cluster_gpu( + cluster_id, + n_points, + config, + return_cupy=False, + normalize=normalize, + ) + result[write_idx : write_idx + n_points] = cluster_points + write_idx += n_points + + # Periodically free GPU pool to keep fragmentation bounded across + # the long-running per-cluster loop. + if cluster_id % 500 == 499: + cp.get_default_memory_pool().free_all_blocks() + + cp.get_default_memory_pool().free_all_blocks() + + return result + + +def generate_synthetic_dataset_to_file( + config: ClusterConfig, + total_points: int, + output_path: str, + batch_size: int = 1_000_000, +) -> int: + """Stream a synthetic dataset directly to a fbin file. + + Generates clusters one at a time on the GPU, accumulates their points + into a small CPU-side double-buffer, and flushes ``batch_size``-row + chunks to disk in a background thread so disk I/O overlaps with the + next cluster's generation. Peak host memory stays bounded by roughly + ``2 * (batch_size + max_cluster_points) * ncols * 4`` bytes regardless + of ``total_points`` -- prefer this over + :func:`generate_synthetic_dataset` whenever the full target synthetic dataset + wouldn't comfortably fit in host RAM. + + The output file uses the canonical cuvs-bench fbin layout (uint32 + ``n_rows``, uint32 ``n_dim`` header followed by row-major float32 + data), readable by ``cuvs_bench.run`` and the rest of the toolchain. + + Parameters + ---------- + config : ClusterConfig + Fitted cluster fingerprint. + total_points : int + Number of synthetic vectors to generate. Capped at ``UINT32_MAX`` + because the cuvs-bench fbin reader uses a uint32 row-count header. + output_path : str + Destination ``.fbin`` path. Parent directories are created as needed. + batch_size : int + Flush threshold in rows. Higher = better disk throughput but more + host RAM. Default 1M. + + Returns + ------- + int + Number of rows written. Always equals ``total_points`` unless a + cluster yielded zero points. + """ + if total_points > UINT32_MAX: + raise ValueError( + f"total_points={total_points:,} exceeds the cuvs-bench fbin " + f"uint32 row-count cap of {UINT32_MAX:,}. Generate multiple " + f"shards if you need more rows." + ) + + out_dir = os.path.dirname(output_path) + if out_dir: + os.makedirs(out_dir, exist_ok=True) + + normalize = bool(config.is_normalized_data) + points_per_cluster = get_num_points_per_cluster(total_points, config) + ncols = int(config.cluster_centers.shape[1]) + + # Buffer must be large enough to absorb the cluster that triggers a + # flush without overflowing -- size it for batch_size + the largest + # single cluster plus a small safety margin. + max_cluster_pts = int(points_per_cluster.max()) + buf_capacity = max(int(batch_size * 1.1), batch_size + max_cluster_pts) + bufs = [ + np.empty((buf_capacity, ncols), dtype=np.float32) for _ in range(2) + ] + active_buf = 0 + buf_offset = 0 + rows_written = 0 + write_thread: threading.Thread | None = None + + def _wait_for_write() -> None: + nonlocal write_thread + if write_thread is not None: + write_thread.join() + write_thread = None + + def _flush_async(f, buf_view: np.ndarray) -> None: + nonlocal write_thread + write_thread = threading.Thread( + target=lambda: buf_view.tofile(f), daemon=True + ) + write_thread.start() + + iterator = tqdm( + range(config.nclusters), + desc="Streaming synthetic dataset", + total=config.nclusters, + ) + + with open(output_path, "wb") as f: + # Canonical cuvs-bench fbin header + np.asarray([total_points, ncols], dtype=np.uint32).tofile(f) + + for cluster_id in iterator: + n_points = int(points_per_cluster[cluster_id]) + if n_points <= 0: + continue + + cluster_points = gen_cluster_gpu( + cluster_id, + n_points, + config, + return_cupy=False, + normalize=normalize, + ) + + bufs[active_buf][buf_offset : buf_offset + n_points] = ( + cluster_points + ) + buf_offset += n_points + del cluster_points + + if buf_offset >= batch_size: + # Wait for the previous write to complete before reusing + # *its* buffer (the one we're about to swap to). + _wait_for_write() + _flush_async(f, bufs[active_buf][:buf_offset]) + rows_written += buf_offset + active_buf = 1 - active_buf + buf_offset = 0 + cp.get_default_memory_pool().free_all_blocks() + + # Drain: wait for any in-flight write, then synchronously flush + # whatever's left in the active buffer. + _wait_for_write() + if buf_offset > 0: + bufs[active_buf][:buf_offset].tofile(f) + rows_written += buf_offset + + cp.get_default_memory_pool().free_all_blocks() + + if rows_written != total_points: + print( + f" Note: wrote {rows_written:,}/{total_points:,} rows " + f"(some clusters yielded zero points)." + ) + + return rows_written diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_ground_truth.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_ground_truth.py new file mode 100644 index 0000000000..e02a86b4d3 --- /dev/null +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_ground_truth.py @@ -0,0 +1,267 @@ +# +# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION. +# SPDX-License-Identifier: Apache-2.0 +# +"""Query generation and ground-truth computation for the synthetic dataset. + +Two GT modes: + +- :func:`compute_groundtruth_exact` checks every cluster, computes brute-force + k-NN against the queries, and merges results across clusters. +- :func:`compute_groundtruth_nprobe` only checks the ``nprobes`` nearest + clusters per query (IVF-style). This is the cheap path that scales + to larger datasets. + +Queries are generated by adding a small noise jitter to points drawn from +the synthetic dataset. +""" + +from __future__ import annotations + +import time +from typing import Tuple + +import cupy as cp +import numpy as np +from cuvs.neighbors import brute_force as cuvs_brute_force +from tqdm import tqdm + +from ._config import ClusterConfig +from ._generate import gen_cluster_gpu, get_num_points_per_cluster + + +def _bf_knn_gpu( + database_gpu: cp.ndarray, + queries_gpu: cp.ndarray, + k: int, + metric: str = "sqeuclidean", +) -> Tuple[np.ndarray, np.ndarray]: + """Brute-force k-NN on GPU using cuvs.""" + index = cuvs_brute_force.build(database_gpu, metric=metric) + distances, indices = cuvs_brute_force.search(index, queries_gpu, k) + return indices.copy_to_host(), distances.copy_to_host() + + +def generate_queries( + nqueries: int, + total_rows: int, + config: ClusterConfig, + query_seed_offset: int = 999_999, +) -> np.ndarray: + """Sample ``nqueries`` query points from the synthetic distribution. + + For each query we pick a global index uniformly from ``range(total_rows)``, + determine which cluster it falls into, regenerate that cluster's points + deterministically, and grab the corresponding local index. Small Gaussian + noise is added at the end to avoid exact-match recall artefacts. + """ + normalize = bool(config.is_normalized_data) + points_per_cluster = get_num_points_per_cluster(total_rows, config) + cumsum = np.cumsum(points_per_cluster) + + rng = np.random.default_rng(config.seed + query_seed_offset) + global_indices = rng.choice(total_rows, size=nqueries, replace=False) + + # ``searchsorted(side='right')`` maps a global index to the cluster_id of + # the cluster whose cumulative range contains it. + cluster_ids = np.searchsorted(cumsum, global_indices, side="right") + + # Group queries by cluster so we generate each cluster only once. + cluster_to_queries: dict[int, list[tuple[int, int]]] = {} + for q_idx, (g_idx, c_id) in enumerate(zip(global_indices, cluster_ids)): + local_idx = g_idx if c_id == 0 else g_idx - cumsum[c_id - 1] + cluster_to_queries.setdefault(int(c_id), []).append( + (q_idx, int(local_idx)) + ) + + queries = np.zeros((nqueries, config.ncols), dtype=np.float32) + for c_id, qlist in tqdm( + cluster_to_queries.items(), + total=len(cluster_to_queries), + desc="Generating query points", + ): + n_points = int(points_per_cluster[c_id]) + cluster_points = gen_cluster_gpu( + c_id, + n_points, + config, + return_cupy=False, + normalize=normalize, + ) + for q_idx, local_idx in qlist: + queries[q_idx] = cluster_points[local_idx] + + # Small noise jitter to break exact-match ties between query and dataset. + noise_scale = float(np.std(queries) * 0.1) + queries += rng.normal(0, noise_scale, queries.shape).astype(np.float32) + + if normalize: + norms = np.linalg.norm(queries, axis=1, keepdims=True) + queries = queries / np.maximum(norms, 1e-8) + + return queries.astype(np.float32) + + +def _find_nearby_clusters( + queries: np.ndarray, + config: ClusterConfig, + nprobes: int, + metric: str = "sqeuclidean", +) -> np.ndarray: + """Return the ``nprobes`` nearest cluster ids for each query.""" + centers_gpu = cp.asarray(config.cluster_centers, dtype=cp.float32) + queries_gpu = cp.asarray(queries, dtype=cp.float32) + indices, _ = _bf_knn_gpu(centers_gpu, queries_gpu, nprobes, metric=metric) + return indices # (nqueries, nprobes) + + +def compute_groundtruth_exact( + queries: np.ndarray, + total_rows: int, + config: ClusterConfig, + k: int, + metric: str = "sqeuclidean", +) -> Tuple[np.ndarray, np.ndarray, dict]: + """Exact brute-force GT, computed by streaming every cluster. + Each cluster is regenerated, brute-forced against the queries, and the + running top-k is merged. + """ + normalize = bool(config.is_normalized_data) + nqueries = len(queries) + points_per_cluster = get_num_points_per_cluster(total_rows, config) + cumsum = np.cumsum(points_per_cluster) + + gt_indices = np.full((nqueries, k), -1, dtype=np.int64) + gt_distances = np.full((nqueries, k), np.inf, dtype=np.float32) + + queries_gpu = cp.asarray(queries, dtype=cp.float32) + + total_gen_time = 0.0 + total_bf_time = 0.0 + total_merge_time = 0.0 + + iterator = tqdm(range(config.nclusters), desc="Exact GT (streaming)") + + for cluster_id in iterator: + n_points = int(points_per_cluster[cluster_id]) + global_start = 0 if cluster_id == 0 else int(cumsum[cluster_id - 1]) + + t0 = time.perf_counter() + cluster_gpu = gen_cluster_gpu( + cluster_id, n_points, config, return_cupy=True, normalize=normalize + ) + total_gen_time += time.perf_counter() - t0 + + t0 = time.perf_counter() + k_cluster = min(k, n_points) + local_indices, local_dists = _bf_knn_gpu( + cluster_gpu, queries_gpu, k_cluster, metric=metric + ) + total_bf_time += time.perf_counter() - t0 + + global_indices = local_indices.astype(np.int64) + global_start + + t0 = time.perf_counter() + merged_idx = np.concatenate([gt_indices, global_indices], axis=1) + merged_dist = np.concatenate([gt_distances, local_dists], axis=1) + order = np.argsort(merged_dist, axis=1)[:, :k] + gt_indices = np.take_along_axis(merged_idx, order, axis=1) + gt_distances = np.take_along_axis(merged_dist, order, axis=1) + total_merge_time += time.perf_counter() - t0 + + # Free cluster's points before the next iteration. + del cluster_gpu + + timing = { + "gen_time": total_gen_time, + "bf_time": total_bf_time, + "merge_time": total_merge_time, + } + return gt_indices, gt_distances, timing + + +def compute_groundtruth_nprobe( + queries: np.ndarray, + total_rows: int, + config: ClusterConfig, + k: int, + nprobes: int, + metric: str = "sqeuclidean", +) -> Tuple[np.ndarray, np.ndarray, dict]: + """Cheap GT via cluster probing: only the ``nprobes`` nearest clusters + per query are regenerated and searched. + """ + normalize = bool(config.is_normalized_data) + nqueries = len(queries) + points_per_cluster = get_num_points_per_cluster(total_rows, config) + cumsum = np.cumsum(points_per_cluster) + + t0 = time.perf_counter() + nearby = _find_nearby_clusters(queries, config, nprobes, metric=metric) + find_clusters_time = time.perf_counter() - t0 + + gt_indices = np.full((nqueries, k), -1, dtype=np.int64) + gt_distances = np.full((nqueries, k), np.inf, dtype=np.float32) + + # Reverse mapping: cluster_id -> queries that probe it. + t0 = time.perf_counter() + cluster_to_queries: dict[int, list[int]] = {} + for q_idx in range(nqueries): + for c_id in nearby[q_idx]: + cluster_to_queries.setdefault(int(c_id), []).append(q_idx) + mapping_time = time.perf_counter() - t0 + + total_gen_time = 0.0 + total_bf_time = 0.0 + total_merge_time = 0.0 + + iterator = tqdm( + cluster_to_queries.items(), + desc="Nprobe GT", + total=len(cluster_to_queries), + ) + + for cluster_id, q_list in iterator: + n_points = int(points_per_cluster[cluster_id]) + global_start = 0 if cluster_id == 0 else int(cumsum[cluster_id - 1]) + q_idx_arr = np.asarray(q_list, dtype=np.int64) + batch_queries = queries[q_idx_arr] + batch_queries_gpu = cp.asarray(batch_queries, dtype=cp.float32) + + t0 = time.perf_counter() + cluster_gpu = gen_cluster_gpu( + cluster_id, n_points, config, return_cupy=True, normalize=normalize + ) + total_gen_time += time.perf_counter() - t0 + + t0 = time.perf_counter() + k_cluster = min(k, n_points) + local_indices, local_dists = _bf_knn_gpu( + cluster_gpu, batch_queries_gpu, k_cluster, metric=metric + ) + total_bf_time += time.perf_counter() - t0 + + global_indices = local_indices.astype(np.int64) + global_start + + t0 = time.perf_counter() + cur_idx = gt_indices[q_idx_arr] + cur_dist = gt_distances[q_idx_arr] + merged_idx = np.concatenate([cur_idx, global_indices], axis=1) + merged_dist = np.concatenate([cur_dist, local_dists], axis=1) + order = np.argsort(merged_dist, axis=1)[:, :k] + gt_indices[q_idx_arr] = np.take_along_axis(merged_idx, order, axis=1) + gt_distances[q_idx_arr] = np.take_along_axis( + merged_dist, order, axis=1 + ) + total_merge_time += time.perf_counter() - t0 + + del cluster_gpu + + timing = { + "find_clusters_time": find_clusters_time, + "mapping_time": mapping_time, + "gen_time": total_gen_time, + "bf_time": total_bf_time, + "merge_time": total_merge_time, + } + return gt_indices, gt_distances, timing diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_io.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_io.py new file mode 100644 index 0000000000..3aa439519d --- /dev/null +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_io.py @@ -0,0 +1,128 @@ +# +# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION. +# SPDX-License-Identifier: Apache-2.0 +# +"""Lightweight readers for the source datasets users want to fit against. + +Supported formats: ``.fbin`` (with an optional nrows cap), ``.npy``, and +``.pkl``. +""" + +from __future__ import annotations + +import os +import pickle +import struct +from typing import Tuple + +import numpy as np + + +def load_dataset( + path: str, + sample_size: int | None = None, + dtype: np.dtype = np.float32, +) -> np.ndarray: + """Load a real dataset for fitting. + + Supported formats: + - ``.fbin``: 8-byte uint32 header (``n_rows``, ``n_dim``) followed by raw data. + - ``.npy``: standard numpy array file. + - ``.pkl``: pickled numpy array (or anything ``np.array`` can convert). + + Parameters + ---------- + path : str + Path to the dataset file. + sample_size : int or None + If given and smaller than the on-disk row count, only the **first** + ``sample_size`` rows are loaded (no shuffling). The caller is + responsible for ensuring the head-of-file slice is representative + (e.g. by pre-shuffling the dataset on disk if it has any structural + ordering). + dtype : numpy dtype + Element dtype, used only for ``.fbin`` (the other formats carry their + own dtype). Defaults to float32. + + Returns + ------- + np.ndarray, shape (n, d) + """ + ext = os.path.splitext(path)[1].lower() + + if ext == ".npy": + data = np.load(path) + if sample_size is not None and sample_size < len(data): + data = data[:sample_size] + return np.ascontiguousarray(data.astype(np.float32)) + + if ext == ".pkl": + with open(path, "rb") as f: + data = pickle.load(f) + if not isinstance(data, np.ndarray): + data = np.array(data, dtype=np.float32) + if sample_size is not None and sample_size < len(data): + data = data[:sample_size] + return np.ascontiguousarray(data.astype(np.float32)) + + # Default: treat as fbin (covers ".fbin" and unknown extensions). + return _load_fbin(path, dtype=dtype, n_rows_cap=sample_size) + + +def _load_fbin( + path: str, dtype: np.dtype = np.float32, n_rows_cap: int | None = None +) -> np.ndarray: + """Load an fbin file with the cuvs-bench layout (uint32 header).""" + with open(path, "rb") as f: + header = f.read(8) + n_rows, n_dim = struct.unpack(" Tuple[int, int]: + """Return ``(n_rows, n_dim)`` for an fbin file without loading it.""" + with open(path, "rb") as f: + header = f.read(8) + n_rows, n_dim = struct.unpack(" bool: + """Cheaply check whether ``data`` rows are L2-unit-norm. + + Samples up to ``sample_size`` rows uniformly at random and returns ``True`` + iff every sampled row has ``|‖x‖ - 1| < tol``. + + Parameters + ---------- + data : np.ndarray, shape (n, d) + Real-data slice to inspect. Empty input returns ``False``. + sample_size : int + Number of random rows to sample (default: 10000). Capped at + ``len(data)``. + tol : float + Allowed deviation of each row's L2 norm from 1.0 (default: 1e-2). + seed : int + RNG seed for the row sample (default: 0). Fixed so the detection is + deterministic for a given input. + """ + n = len(data) + if n == 0: + return False + rng = np.random.default_rng(seed) + take = min(sample_size, n) + idx = rng.choice(n, size=take, replace=False) + norms = np.linalg.norm(data[idx].astype(np.float32), axis=1) + return bool(np.all(np.abs(norms - 1.0) < tol)) diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_stats_io.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_stats_io.py new file mode 100644 index 0000000000..950d18c0e5 --- /dev/null +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_stats_io.py @@ -0,0 +1,131 @@ +# +# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION. +# SPDX-License-Identifier: Apache-2.0 +# +"""NPZ I/O for the cluster fingerprint. + +The fingerprint is a NPZ file holding +the output of the ``fit`` step. It is the only artifact passed between the +fit and generate steps. + +File schema +----------- +- ``centroids`` : float32, shape (nclusters, ncols) +- ``densities`` : float64, shape (nclusters,) +- ``variances_per_dim`` : float32, shape (nclusters, ncols) +- ``pca_components_arr`` : object array of length nclusters; entry i is + either a (ncomp, ncols) float32 array or an empty + float32 array if cluster i fell back to diagonal. +- ``pca_explained_var_arr`` : object array of length nclusters, parallel to + ``pca_components_arr``; each entry is a (ncomp,) + float32 array. +- ``pca_noise_var`` : float32, shape (nclusters,) +- ``pca_n_components`` : int, scalar (the requested ncomp; actual ncomp per + cluster may be smaller if it had too few points). +- ``is_normalized_data`` : bool, scalar — whether the fit-time input was + detected as L2-unit-norm. Drives the default + ``normalize`` setting at generate/verify time. +""" + +import os +from typing import Any, Dict + +import numpy as np + +from ._config import ClusterConfig + + +def save_cluster_stats(filepath: str, stats: Dict[str, Any]) -> None: + """Save a fitted cluster fingerprint to an NPZ file. + + Parameters + ---------- + filepath : str + Output path. Parent directories are created as needed. + stats : dict + Dict with keys produced by :func:`fit_cluster_stats` (see schema in + the module docstring). + """ + out_dir = os.path.dirname(filepath) + if out_dir: + os.makedirs(out_dir, exist_ok=True) + + n_clusters = len(stats["centroids"]) + + components_arr = np.empty(n_clusters, dtype=object) + explained_var_arr = np.empty(n_clusters, dtype=object) + + for i in range(n_clusters): + comp = stats["pca_components_list"][i] + ev = stats["pca_explained_var_list"][i] + if comp is not None: + components_arr[i] = comp + explained_var_arr[i] = ev + else: + # Diagonal-fallback marker: empty array. + components_arr[i] = np.array([], dtype=np.float32) + explained_var_arr[i] = np.array([], dtype=np.float32) + + np.savez( + filepath, + centroids=stats["centroids"], + densities=stats["densities"], + variances_per_dim=stats["variances_per_dim"], + pca_components_arr=components_arr, + pca_explained_var_arr=explained_var_arr, + pca_noise_var=stats["pca_noise_var"], + pca_n_components=np.array([stats["pca_n_components"]]), + is_normalized_data=np.array([bool(stats["is_normalized_data"])]), + ) + + +def load_cluster_stats(filepath: str) -> Dict[str, Any]: + """Load a fitted cluster fingerprint from an NPZ file. + + Returns a dict with the same shape as :func:`fit_cluster_stats`. + """ + data = np.load(filepath, allow_pickle=True) + + n_clusters = len(data["centroids"]) + components_arr = data["pca_components_arr"] + explained_var_arr = data["pca_explained_var_arr"] + + pca_components_list = [] + pca_explained_var_list = [] + for i in range(n_clusters): + if len(components_arr[i]) > 0: + pca_components_list.append(components_arr[i]) + pca_explained_var_list.append(explained_var_arr[i]) + else: + pca_components_list.append(None) + pca_explained_var_list.append(None) + + return { + "centroids": data["centroids"], + "densities": data["densities"], + "variances_per_dim": data["variances_per_dim"], + "pca_components_list": pca_components_list, + "pca_explained_var_list": pca_explained_var_list, + "pca_noise_var": data["pca_noise_var"], + "pca_n_components": int(data["pca_n_components"][0]), + "is_normalized_data": bool(data["is_normalized_data"][0]), + } + + +def cluster_config_from_stats( + stats: Dict[str, Any], seed: int +) -> ClusterConfig: + """Build a :class:`ClusterConfig` from a loaded stats dict.""" + centroids = stats["centroids"] + return ClusterConfig( + nclusters=int(centroids.shape[0]), + ncols=int(centroids.shape[1]), + seed=seed, + cluster_centers=centroids, + cluster_variances=stats["variances_per_dim"], + cluster_densities=stats["densities"].astype(np.float64), + pca_components_list=stats["pca_components_list"], + pca_explained_var_list=stats["pca_explained_var_list"], + pca_noise_var=stats["pca_noise_var"], + is_normalized_data=bool(stats["is_normalized_data"]), + ) diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_verify.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_verify.py new file mode 100644 index 0000000000..b0b0dd22e9 --- /dev/null +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_verify.py @@ -0,0 +1,148 @@ +# +# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION. +# SPDX-License-Identifier: Apache-2.0 +# +"""Verify that the cluster-probing GT approximation is accurate enough. + +Generates queries from a synthetic dataset, computes both the cheap +nprobe GT and the exact GT, and reports recall of the former +against the latter. +""" + +from __future__ import annotations + +from typing import List, Tuple + +import numpy as np + +from ._config import ClusterConfig +from ._ground_truth import ( + compute_groundtruth_exact, + compute_groundtruth_nprobe, + generate_queries, +) + + +def _recall_with_ties( + pred_indices: np.ndarray, + pred_distances: np.ndarray, + gt_indices: np.ndarray, + gt_distances: np.ndarray, + rtol: float = 1e-5, + atol: float = 1e-5, +) -> Tuple[float, List[int]]: + """Recall@k that counts a tied distance as a match. + + Two indices at the same distance are interchangeable for ANN purposes, so + we count a hit when either the index matches or there exists a GT hit + with the same distance. + """ + nqueries, k = gt_indices.shape + matches = 0 + mismatched: List[int] = [] + + for i in range(nqueries): + gt_idx_set = set(gt_indices[i].tolist()) + gt_dists = gt_distances[i] + + per_query = 0 + for j in range(k): + p_idx = int(pred_indices[i, j]) + p_dist = float(pred_distances[i, j]) + if p_idx in gt_idx_set: + per_query += 1 + elif np.any(np.isclose(gt_dists, p_dist, rtol=rtol, atol=atol)): + per_query += 1 + matches += per_query + if per_query < k: + mismatched.append(i) + + return matches / (nqueries * k), mismatched + + +def verify_groundtruth( + config: ClusterConfig, + total_rows: int, + nqueries: int, + k: int, + nprobes: int, + metric: str = "sqeuclidean", +) -> dict: + """Compare nprobe GT vs exact GT at small scale. + + Parameters + ---------- + config : ClusterConfig + total_rows : int + Synthetic dataset size to verify against. + nqueries : int + Number of queries to draw. + k : int + Number of neighbors. + nprobes : int + Number of clusters each query probes for the nprobe GT. + + Returns + ------- + dict with: + - ``recall``: tie-aware recall of nprobe GT against exact GT + - ``simple_recall``: naive index-set recall (no tie awareness) + - ``mismatched_queries``: indices of queries that didn't match + - ``nprobe_timing``, ``exact_gt_timing``: per-step timing breakdowns + """ + print( + f"Verifying nprobe GT against exact GT at " + f"total_rows={total_rows:,}, nqueries={nqueries}, " + f"k={k}, nprobes={nprobes}..." + ) + + queries = generate_queries( + nqueries=nqueries, + total_rows=total_rows, + config=config, + ) + + nprobe_idx, nprobe_dist, nprobe_timing = compute_groundtruth_nprobe( + queries=queries, + total_rows=total_rows, + config=config, + k=k, + nprobes=nprobes, + metric=metric, + ) + + exact_idx, exact_dist, exact_gt_timing = compute_groundtruth_exact( + queries=queries, + total_rows=total_rows, + config=config, + k=k, + metric=metric, + ) + + recall, mismatched = _recall_with_ties( + nprobe_idx, nprobe_dist, exact_idx, exact_dist + ) + + # Naive recall without tie awareness, useful as a sanity check. + simple_hits = 0 + for i in range(nqueries): + simple_hits += len(set(nprobe_idx[i]) & set(exact_idx[i])) + simple_recall = simple_hits / (nqueries * k) + + print( + f" Recall (with ties): {recall:.4f} " + f"({len(mismatched)}/{nqueries} imperfect queries)" + ) + print(f" Recall (naive): {simple_recall:.4f}") + + return { + "recall": recall, + "simple_recall": simple_recall, + "mismatched_queries": mismatched, + "nprobe_timing": nprobe_timing, + "exact_gt_timing": exact_gt_timing, + "total_rows": total_rows, + "nqueries": nqueries, + "k": k, + "nprobes": nprobes, + } diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/figures/pipeline.png b/python/cuvs_bench/cuvs_bench/synthesize_dataset/figures/pipeline.png new file mode 100644 index 0000000000000000000000000000000000000000..ed7fc995e60c021e11280451756aa7bb0c8b1db2 GIT binary patch literal 769353 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

~EL9TMr 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≪(1N~X$Jy;aU2(m!fRjqyH{LxIRKn= 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�h#+S*nb1bN}>?*O+!`G zb#Gq}h1m1rByg>YPM*Yq+yakK16M;54!ooG^*sq+yVLpRG0@T8Nh_W zHkyPs#XsjLA(P<3gzoSPD)^~sp_WlRT3mx38D}a{dTo(1vX$BMsecqPTkJ-fGOn8k z+CX;qkm6OqGHwb}sZonj!3s5@_Rx!|^m*UCC#rBrD$?cTupJU}_qm|OEofPkG9N|a zG*&PogMi_tyz?Z_0iSD~>zwX5lDbspoBmH*vUvY4L`0cLy0pjO=UsLg7v_Tc<^@cV zC4-tZF5XBk3fd7E5Odw1z-vG7XkX6Gyc$CQ`tvIVQpDZ&>+g&<;ctw6sHR;Dg^M^c)BVSw?Utsd?^n2pXui^p2wm}$e~>&wZ}s_{67>*6=Qz<;v3#2`rIx`BYo*t}0(t~HWPPD$*_c!zqPb%uOUr9;Wi$rQ_;jUrRP@}4m#no~zD!yF( zG!|T_F|;9;EJb;RC@u0qtzL-N%{K9F=}1)()0&6g{eY$ig9_cnlMbuXo_BNS-pGgl z?P<9omvJNOG-qjy^Yhe+-=#9WtzZmq8I! zjwHq_Wk=*uiCnmRXgB`y4$N7odzAp>{{X{4Jij0V5xys{<5Ei!kytwP>hfS+{CGo{ zjS0d$hlpZZq8K(G!UKRCUyB6ML%j)cP&`ia%Ed8qB)(JD=vS1|$Wh=|1O~{}7e%5n z#o*#*|ImfUYl*TbXGGs*o11NsWcBmEgYkItwG?E_2BZ>dH9ggn0V2H#R$!q=G z6F=mEV33~-gZZo@&o6RrFxJu0`M?7YJ^$=;0Pyc;o|-&)k3N0-6)kJovZY@v`&=vl zA9V1+#~gPY01zi+9+Z;d1Er@?*B+(ma^FdW>ebEyj;O`OUDqpCthnc&4|KG*e)RE2 z^WS-gndXQwqkeGi4>E>Pv~3Z~W(>qV3rslnE>sAxP~=FKie5Z%Mge-j8)+{*0-nYK z5be0b7n!eUXq9`5xB!ptWuWupw-$`EEgv=6r78)Zf1l| z3Xe}nh`O$U^ePBZvXVZfQ+oPb=@n*0G9JdNN@NTOY}>A{?|$(wetGh#r!M&5gN++E zI1Vr5tA`F7GHK$(fej6A2ngLK7-Mr!m^)>U$?tzKf6LZw2FpyCFma!K_GXOjJAFUy z@It<7*zjSbtR5YA+;MyFJ@tbR-ru}+D>yWG@Q^8cPDTJ5ymRUd1`iwl{WH%#=D6d( z_+r`4olP~hHBdm)-+9VP2Ys^yWM@~?F-(0zhB=0`%c?0UntnN?XMoWau*o? zI6D}cg@n0|bLbKrz0ib%WKm3LMGzxDCySmhR(|J6bxK7sm zJ$xE9`@-7A?KJeWL3EQN0HWbXS>

PTvRpGXMaC1?q_=4E#+{!6XhpD=wva>AlPo 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

>&KBb+D^4C?o) zn-akI$%+!oL?9CyQvr2yHQHt&x)b4ItGAOrdi_sv|%yC7i zEfMM^hXw=1x9bd%^W2qL_Y;vI+I!yKd(Ye3?n(%XqR8IC3S+D8(U$!2f}V>Y2!s&r zZEf#9;ly{JaH89zK$HjiSrLhYo72``ORCyzJIOLHXa6VZ>?|W#&m)SQU;j6RNhwHa ztv6ep_Drb7BNb@XAdfLXC5B$(p1Onz%7WRq31J|jh(lvhhL+a5e�q1)X)y$)Lp= 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 %($fJ{bQzHt(LmW>GT=CRR3_A6HkF)X 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�d^B~5szVef6aJSxX?7gE9>7j%Aq*SvlGmDYL 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 AD*ylh literal 0 HcmV?d00001 From def7526b6edf156b829b84597025e3f675526bfc Mon Sep 17 00:00:00 2001 From: jinsolp Date: Tue, 26 May 2026 20:24:21 +0000 Subject: [PATCH 02/10] uint64 header support based on size --- python/cuvs_bench/cuvs_bench/_bin_format.py | 144 ++++++++++++++ .../cuvs_bench/cuvs_bench/backends/_utils.py | 30 ++- .../cuvs_bench/generate_groundtruth/utils.py | 83 +++++--- .../cuvs_bench/get_dataset/fbin_to_f16bin.py | 26 ++- .../cuvs_bench/get_dataset/hdf5_to_fbin.py | 10 +- .../cuvs_bench/cuvs_bench/tests/test_utils.py | 180 +++++++++++++++++- 6 files changed, 419 insertions(+), 54 deletions(-) create mode 100644 python/cuvs_bench/cuvs_bench/_bin_format.py diff --git a/python/cuvs_bench/cuvs_bench/_bin_format.py b/python/cuvs_bench/cuvs_bench/_bin_format.py new file mode 100644 index 0000000000..2611020fc5 --- /dev/null +++ b/python/cuvs_bench/cuvs_bench/_bin_format.py @@ -0,0 +1,144 @@ +# +# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION. +# SPDX-License-Identifier: Apache-2.0 +# + +""" +On-disk header helpers for the cuvs-bench binary file format. + +cuvs-bench inherits the big-ann-benchmarks binary layout: a small header +listing ``n_rows`` and ``n_cols`` followed by a dense ``n_rows * n_cols`` +array of the dtype implied by the file extension. Two layouts are supported: + +- **Legacy**: ``[uint32 n_rows, uint32 n_cols, data ...]`` (8-byte header). + This is what every existing ``.fbin`` / ``.ibin`` / ``.u8bin`` / ``.i8bin`` + / ``.f16bin`` / ``.hbin`` file on disk uses today. + +- **Extended**: ``[uint64 n_rows, uint64 n_cols, data ...]`` (16-byte header). + For datasets whose ``n_rows`` or ``n_cols`` exceeds ``UINT32_MAX`` (~4.29B). + +Detection is **size-based**: a well-formed cuvs-bench binary is exactly +``header_bytes + n_rows * n_cols * itemsize`` bytes long. :func:`read_bin_header` reads the first 16 bytes +of the file and: + +1. Tries the legacy layout (first 8 bytes as two ``uint32``s, 8-byte + header). The layout is accepted if ``8 + n_rows * n_cols * itemsize`` + matches the on-disk file size. +2. Otherwise tries the extended layout (first 16 bytes as two + ``uint64``s, 16-byte header). Accepted if + ``16 + n_rows * n_cols * itemsize`` matches the file size instead. +3. If neither layout matches, raises ``ValueError`` -- the file is + truncated, padded, or has a mismatched dtype extension. +""" + +from __future__ import annotations + +import os +import struct +from typing import BinaryIO, Tuple + +UINT32_MAX = (1 << 32) - 1 + +LEGACY_HEADER_BYTES = 8 +EXTENDED_HEADER_BYTES = 16 + + +def read_bin_header(path: str, itemsize: int) -> Tuple[int, int, int]: + """Read the header of a cuvs-bench binary file. + + Auto-detects the on-disk layout from the file size by checking which + of the two layouts (legacy 8-byte uint32 header, extended 16-byte uint64 + header) makes ``file_size == header_bytes + n_rows * n_cols * itemsize`` + balance. + + Parameters + ---------- + path : str + Path to the binary file. + itemsize : int + Per-element size in bytes (e.g. ``4`` for ``float32``, ``1`` for + ``int8``). Used purely for the size-equation check; the file + contents are not inspected. + + Returns + ------- + (n_rows, n_cols, header_bytes) : Tuple[int, int, int] + Row count, column count, and the number of bytes the header + occupies on disk (``8`` for legacy, ``16`` for extended). Callers + seeking to the data start should use ``header_bytes`` rather than + a hardcoded offset. + + Raises + ------ + ValueError + If neither the legacy nor the extended interpretation matches. + FileNotFoundError + If ``path`` does not exist. + """ + file_size = os.path.getsize(path) + with open(path, "rb") as f: + head = f.read(EXTENDED_HEADER_BYTES) + + if len(head) < LEGACY_HEADER_BYTES: + raise ValueError( + f"File too small to contain a valid header (expected at least " + f"{LEGACY_HEADER_BYTES} bytes, got {len(head)}): {path}" + ) + + n_rows_32, n_cols_32 = struct.unpack(" int: + """Write the canonical cuvs-bench binary header at the current position. + + The legacy 8-byte uint32 layout is used whenever both ``n_rows`` and + ``n_cols`` fit in a ``uint32``. The 16-byte uint64 layout is used + otherwise, or when explicitly requested via ``force_uint64=True``. + + Parameters + ---------- + f : BinaryIO + Open binary file handle, positioned where the header should go. + n_rows, n_cols : int + Header values to write. Must be non-negative. + force_uint64 : bool + If ``True``, always write the 16-byte uint64 layout regardless of + whether the values fit in ``uint32``. Defaults to ``False``. + + Returns + ------- + int + Number of bytes written (``8`` for legacy, ``16`` for extended). + """ + if n_rows < 0 or n_cols < 0: + raise ValueError( + f"n_rows and n_cols must be non-negative, got ({n_rows}, {n_cols})" + ) + if force_uint64 or n_rows > UINT32_MAX or n_cols > UINT32_MAX: + f.write(struct.pack(" np.ndarray: """ Read a binary vector file into a numpy array. - Supports the standard big-ann-bench binary format used by cuvs-bench - datasets: a 4-byte uint32 ``n_rows``, a 4-byte uint32 ``n_cols``, - followed by ``n_rows * n_cols`` elements of the dtype inferred from - the file extension via ``dtype_from_filename``. + Supports the cuvs-bench binary format with either the legacy 8-byte + ``[uint32 n_rows, uint32 n_cols]`` header or the extended 16-byte + ``[uint64 n_rows, uint64 n_cols]`` header used for datasets with more + than ``UINT32_MAX`` rows or columns. The layout is auto-detected from + the file size by :func:`cuvs_bench._bin_format.read_bin_header`. Parameters ---------- @@ -93,27 +96,22 @@ def load_vectors(path: str, subset_size: Optional[int] = None) -> np.ndarray: or the file is truncated. """ dtype = dtype_from_filename(path) + itemsize = np.dtype(dtype).itemsize if subset_size is not None and subset_size < 1: raise ValueError( f"subset_size must be a positive integer, got {subset_size}" ) + n_rows, n_cols, header_bytes = read_bin_header(path, itemsize) + if subset_size is not None: + n_rows = min(n_rows, subset_size) with open(path, "rb") as f: - header = f.read(8) - if len(header) < 8: - raise ValueError( - f"File too small to contain a valid header (expected 8 bytes, " - f"got {len(header)}): {path}" - ) - n_rows = int(np.frombuffer(header[:4], dtype=np.uint32)[0]) - n_cols = int(np.frombuffer(header[4:], dtype=np.uint32)[0]) - if subset_size is not None: - n_rows = min(n_rows, subset_size) - expected_bytes = n_rows * n_cols * np.dtype(dtype).itemsize + f.seek(header_bytes) + expected_bytes = n_rows * n_cols * itemsize raw = f.read(expected_bytes) if len(raw) < expected_bytes: raise ValueError( f"File is truncated: expected {expected_bytes} bytes of data " - f"({n_rows} rows x {n_cols} cols x {np.dtype(dtype).itemsize} bytes), " + f"({n_rows} rows x {n_cols} cols x {itemsize} bytes), " f"got {len(raw)}: {path}" ) data = np.frombuffer(raw, dtype=dtype) diff --git a/python/cuvs_bench/cuvs_bench/generate_groundtruth/utils.py b/python/cuvs_bench/cuvs_bench/generate_groundtruth/utils.py index 8742388652..e3ca1b7527 100644 --- a/python/cuvs_bench/cuvs_bench/generate_groundtruth/utils.py +++ b/python/cuvs_bench/cuvs_bench/generate_groundtruth/utils.py @@ -7,6 +7,8 @@ import numpy as np +from cuvs_bench._bin_format import read_bin_header, write_bin_header + def is_l2_normalized( data, @@ -65,29 +67,56 @@ def suffix_from_dtype(dtype): def memmap_bin_file( - bin_file, dtype, shape=None, mode="r", size_dtype=np.uint32 + bin_file, dtype, shape=None, mode="r", *, force_uint64=False ): - extent_itemsize = np.dtype(size_dtype).itemsize - offset = int(extent_itemsize) * 2 + """Memory-map a cuvs-bench binary file. + + Supports both the legacy 8-byte ``[uint32 n_rows, uint32 n_cols]`` and + the extended 16-byte ``[uint64 n_rows, uint64 n_cols]`` headers. In read + mode the layout is auto-detected from the file size; in write mode the + legacy layout is used unless ``force_uint64=True`` or one of the shape + dimensions exceeds ``UINT32_MAX``. + + Parameters + ---------- + bin_file : str or None + Path to the binary file. ``None`` short-circuits and returns ``None`` + (preserves the historical "skip optional file" behavior). + dtype : numpy dtype or None + Element dtype. If ``None``, inferred from the file extension via + :func:`dtype_from_filename`. + shape : tuple or None + Read mode: optionally override ``(n_rows, n_cols)`` from the header; + any ``None`` entries are filled in from the header value. Write mode: + required ``(n_rows, n_cols)`` of the file to create. + mode : str + Standard ``np.memmap`` mode string (``"r"``, ``"r+"``, ``"w+"``). + force_uint64 : bool + Write mode only: force the extended uint64 header even when the + shape would fit in uint32. Ignored in read mode (auto-detected). + """ if bin_file is None: return None if dtype is None: dtype = dtype_from_filename(bin_file) + itemsize = np.dtype(dtype).itemsize if mode[0] == "r": - a = np.memmap(bin_file, mode=mode, dtype=size_dtype, shape=(2,)) + n_rows, n_cols, header_bytes = read_bin_header(bin_file, itemsize) if shape is None: - shape = (a[0], a[1]) + final_shape = (n_rows, n_cols) else: - shape = tuple( - [ - aval if sval is None else sval - for aval, sval in zip(a, shape) - ] + header_dims = (n_rows, n_cols) + final_shape = tuple( + aval if sval is None else sval + for aval, sval in zip(header_dims, shape) ) - return np.memmap( - bin_file, mode=mode, dtype=dtype, offset=offset, shape=shape + bin_file, + mode=mode, + dtype=dtype, + offset=header_bytes, + shape=final_shape, ) elif mode[0] == "w": if shape is None: @@ -97,19 +126,29 @@ def memmap_bin_file( dirname = os.path.dirname(bin_file) if len(dirname) > 0: os.makedirs(dirname, exist_ok=True) - a = np.memmap(bin_file, mode=mode, dtype=size_dtype, shape=(2,)) - a[0] = shape[0] - a[1] = shape[1] - a.flush() - del a - fp = np.memmap( - bin_file, mode="r+", dtype=dtype, offset=offset, shape=shape + with open(bin_file, "wb") as f: + header_bytes = write_bin_header( + f, shape[0], shape[1], force_uint64=force_uint64 + ) + return np.memmap( + bin_file, + mode="r+", + dtype=dtype, + offset=header_bytes, + shape=shape, ) - return fp -def write_bin(fname, data): +def write_bin(fname, data, *, force_uint64=False): + """Write a 2-D numpy array to a cuvs-bench binary file. + + The legacy 8-byte uint32 header is used by default; pass + ``force_uint64=True`` (or supply a shape with a dimension exceeding + ``UINT32_MAX``) to write the extended 16-byte uint64 header instead. + """ print("writing", fname, data.shape, data.dtype, "...") with open(fname, "wb") as f: - np.asarray(data.shape, dtype=np.uint32).tofile(f) + write_bin_header( + f, data.shape[0], data.shape[1], force_uint64=force_uint64 + ) data.tofile(f) diff --git a/python/cuvs_bench/cuvs_bench/get_dataset/fbin_to_f16bin.py b/python/cuvs_bench/cuvs_bench/get_dataset/fbin_to_f16bin.py index 5647ece771..19c14e8aa8 100644 --- a/python/cuvs_bench/cuvs_bench/get_dataset/fbin_to_f16bin.py +++ b/python/cuvs_bench/cuvs_bench/get_dataset/fbin_to_f16bin.py @@ -1,5 +1,5 @@ # -# SPDX-FileCopyrightText: Copyright (c) 2024, NVIDIA CORPORATION. +# SPDX-FileCopyrightText: Copyright (c) 2024-2026, NVIDIA CORPORATION. # SPDX-License-Identifier: Apache-2.0 @@ -9,21 +9,29 @@ import numpy as np +from cuvs_bench._bin_format import read_bin_header, write_bin_header + def read_fbin(fname): - shape = np.fromfile(fname, dtype=np.uint32, count=2) - if float(shape[0]) * shape[1] * 4 > 2_000_000_000: - data = np.memmap(fname, dtype=np.float32, offset=8, mode="r").reshape( - shape - ) + itemsize = np.dtype(np.float32).itemsize + n_rows, n_cols, header_bytes = read_bin_header(fname, itemsize) + shape = (n_rows, n_cols) + if float(n_rows) * n_cols * itemsize > 2_000_000_000: + data = np.memmap( + fname, dtype=np.float32, offset=header_bytes, mode="r" + ).reshape(shape) else: - data = np.fromfile(fname, dtype=np.float32, offset=8).reshape(shape) + data = np.fromfile( + fname, dtype=np.float32, offset=header_bytes + ).reshape(shape) return data -def write_bin(fname, data): +def write_bin(fname, data, *, force_uint64=False): with open(fname, "wb") as f: - np.asarray(data.shape, dtype=np.uint32).tofile(f) + write_bin_header( + f, data.shape[0], data.shape[1], force_uint64=force_uint64 + ) data.tofile(f) diff --git a/python/cuvs_bench/cuvs_bench/get_dataset/hdf5_to_fbin.py b/python/cuvs_bench/cuvs_bench/get_dataset/hdf5_to_fbin.py index af6a7aac31..34abacbf6d 100644 --- a/python/cuvs_bench/cuvs_bench/get_dataset/hdf5_to_fbin.py +++ b/python/cuvs_bench/cuvs_bench/get_dataset/hdf5_to_fbin.py @@ -1,5 +1,5 @@ # -# SPDX-FileCopyrightText: Copyright (c) 2024, NVIDIA CORPORATION. +# SPDX-FileCopyrightText: Copyright (c) 2024-2026, NVIDIA CORPORATION. # SPDX-License-Identifier: Apache-2.0 @@ -8,15 +8,19 @@ import h5py import numpy as np +from cuvs_bench._bin_format import write_bin_header + def normalize(x): norm = np.linalg.norm(x, axis=1) return (x.T / norm).T -def write_bin(fname, data): +def write_bin(fname, data, *, force_uint64=False): with open(fname, "wb") as f: - np.asarray(data.shape, dtype=np.uint32).tofile(f) + write_bin_header( + f, data.shape[0], data.shape[1], force_uint64=force_uint64 + ) data.tofile(f) diff --git a/python/cuvs_bench/cuvs_bench/tests/test_utils.py b/python/cuvs_bench/cuvs_bench/tests/test_utils.py index db1fd7b137..a009684723 100644 --- a/python/cuvs_bench/cuvs_bench/tests/test_utils.py +++ b/python/cuvs_bench/cuvs_bench/tests/test_utils.py @@ -6,10 +6,19 @@ Unit tests for shared backend utilities and Dataset transparent loading. """ +import struct + import numpy as np import pytest import yaml +from cuvs_bench._bin_format import ( + EXTENDED_HEADER_BYTES, + LEGACY_HEADER_BYTES, + UINT32_MAX, + read_bin_header, + write_bin_header, +) from cuvs_bench.backends import Dataset from cuvs_bench.backends._utils import ( compute_recall, @@ -20,10 +29,12 @@ from cuvs_bench.orchestrator.config_loaders import CppGBenchConfigLoader -def _write_test_bin(path, data): - """Write a numpy array in big-ann-bench binary format.""" +def _write_test_bin(path, data, *, force_uint64=False): + """Write a numpy array in cuvs-bench binary format.""" with open(path, "wb") as f: - np.asarray(data.shape, dtype=np.uint32).tofile(f) + write_bin_header( + f, data.shape[0], data.shape[1], force_uint64=force_uint64 + ) data.tofile(f) @@ -170,7 +181,7 @@ def test_truncated_data(self, tmp_path): np.array([10, 4], dtype=np.uint32).tofile(f) np.random.rand(5, 4).astype(np.float32).tofile(f) - with pytest.raises(ValueError, match="File is truncated"): + with pytest.raises(ValueError, match="does not match either"): load_vectors(path) def test_file_not_found(self): @@ -178,6 +189,167 @@ def test_file_not_found(self): with pytest.raises(FileNotFoundError): load_vectors("/nonexistent/path/vectors.fbin") + def test_load_uint64_header(self, tmp_path): + """``load_vectors`` reads files written with the extended uint64 header.""" + data = np.random.rand(40, 16).astype(np.float32) + path = str(tmp_path / "test.fbin") + _write_test_bin(path, data, force_uint64=True) + + # Sanity check: file really uses the extended layout. + assert ( + tmp_path.joinpath("test.fbin").stat().st_size + == EXTENDED_HEADER_BYTES + data.nbytes + ) + loaded = load_vectors(path) + np.testing.assert_array_equal(loaded, data) + + def test_load_uint64_header_with_subset(self, tmp_path): + """``subset_size`` works regardless of which header layout was used.""" + data = np.random.rand(50, 8).astype(np.float32) + path = str(tmp_path / "test.fbin") + _write_test_bin(path, data, force_uint64=True) + + loaded = load_vectors(path, subset_size=12) + assert loaded.shape == (12, 8) + np.testing.assert_array_equal(loaded, data[:12]) + + @pytest.mark.parametrize( + "ext, dtype, force_uint64", + [ + (".fbin", np.float32, False), + (".fbin", np.float32, True), + (".ibin", np.int32, False), + (".ibin", np.int32, True), + (".u8bin", np.uint8, False), + (".u8bin", np.uint8, True), + (".i8bin", np.int8, False), + (".i8bin", np.int8, True), + ], + ) + def test_load_roundtrip_all_dtypes( + self, tmp_path, ext, dtype, force_uint64 + ): + """Round-trip every supported dtype through both header layouts.""" + if np.issubdtype(dtype, np.integer): + info = np.iinfo(dtype) + data = np.random.randint( + info.min, info.max, size=(25, 7), dtype=dtype + ) + else: + data = np.random.rand(25, 7).astype(dtype) + path = str(tmp_path / f"test{ext}") + _write_test_bin(path, data, force_uint64=force_uint64) + + loaded = load_vectors(path) + np.testing.assert_array_equal(loaded, data) + + +class TestBinHeaderHelpers: + """Tests for ``cuvs_bench._bin_format.read_bin_header`` / ``write_bin_header``.""" + + def test_write_legacy_returns_8_bytes(self, tmp_path): + """Small shapes should write the 8-byte uint32 header by default.""" + path = tmp_path / "h.bin" + with open(path, "wb") as f: + n = write_bin_header(f, 7, 3) + assert n == LEGACY_HEADER_BYTES + assert path.stat().st_size == LEGACY_HEADER_BYTES + + def test_write_force_uint64_returns_16_bytes(self, tmp_path): + """``force_uint64=True`` should write the 16-byte uint64 header.""" + path = tmp_path / "h.bin" + with open(path, "wb") as f: + n = write_bin_header(f, 7, 3, force_uint64=True) + assert n == EXTENDED_HEADER_BYTES + assert path.stat().st_size == EXTENDED_HEADER_BYTES + + def test_write_auto_promotes_to_uint64_when_overflowing(self, tmp_path): + """Shapes that don't fit in uint32 should auto-promote to uint64.""" + path = tmp_path / "h.bin" + with open(path, "wb") as f: + n = write_bin_header(f, UINT32_MAX + 1, 4) + assert n == EXTENDED_HEADER_BYTES + + def test_write_negative_raises(self, tmp_path): + """Negative dimensions are rejected.""" + path = tmp_path / "h.bin" + with open(path, "wb") as f: + with pytest.raises(ValueError, match="non-negative"): + write_bin_header(f, -1, 4) + + def test_read_legacy_round_trip(self, tmp_path): + """Legacy round-trip: write 8-byte header, read it back.""" + path = tmp_path / "x.fbin" + data = np.random.rand(11, 5).astype(np.float32) + with open(path, "wb") as f: + write_bin_header(f, data.shape[0], data.shape[1]) + data.tofile(f) + n_rows, n_cols, hbytes = read_bin_header(str(path), itemsize=4) + assert (n_rows, n_cols, hbytes) == (11, 5, LEGACY_HEADER_BYTES) + + def test_read_extended_round_trip(self, tmp_path): + """Extended round-trip: write 16-byte header, read it back.""" + path = tmp_path / "x.fbin" + data = np.random.rand(11, 5).astype(np.float32) + with open(path, "wb") as f: + write_bin_header( + f, data.shape[0], data.shape[1], force_uint64=True + ) + data.tofile(f) + n_rows, n_cols, hbytes = read_bin_header(str(path), itemsize=4) + assert (n_rows, n_cols, hbytes) == (11, 5, EXTENDED_HEADER_BYTES) + + def test_read_synthesized_huge_extended_header(self, tmp_path): + """A hand-crafted extended-header file with >UINT32_MAX rows reads correctly. + + We can't materialize the data section (>16 GB just for the dummy + bytes), so write only the header and pad with the exact number of + zero bytes ``read_bin_header`` expects to balance the size equation + -- using ``n_cols=0`` so the data section is empty. + """ + path = tmp_path / "huge.fbin" + n_rows = UINT32_MAX + 17 + n_cols = 0 + with open(path, "wb") as f: + write_bin_header(f, n_rows, n_cols) + assert path.stat().st_size == EXTENDED_HEADER_BYTES + + got_rows, got_cols, hbytes = read_bin_header(str(path), itemsize=4) + assert got_rows == n_rows + assert got_cols == n_cols + assert hbytes == EXTENDED_HEADER_BYTES + + def test_read_file_too_small_raises(self, tmp_path): + """A file shorter than the legacy header raises a clear error.""" + path = tmp_path / "x.fbin" + path.write_bytes(b"\x00\x00\x00") + with pytest.raises(ValueError, match="File too small"): + read_bin_header(str(path), itemsize=4) + + def test_read_size_mismatch_raises(self, tmp_path): + """Header values that don't balance the file size are rejected.""" + path = tmp_path / "x.fbin" + with open(path, "wb") as f: + f.write(struct.pack(" Date: Tue, 26 May 2026 20:52:02 +0000 Subject: [PATCH 03/10] uint64 support in synthesize data --- .../synthesize_dataset/_generate.py | 26 +++++++------------ 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_generate.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_generate.py index 8f7425f987..3cff8dc7dd 100644 --- a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_generate.py +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_generate.py @@ -28,10 +28,9 @@ import numpy as np from tqdm import tqdm +from .._bin_format import write_bin_header from ._config import ClusterConfig -UINT32_MAX = (1 << 32) - 1 - ArrayLike = Union[np.ndarray, cp.ndarray] @@ -221,17 +220,20 @@ def generate_synthetic_dataset_to_file( :func:`generate_synthetic_dataset` whenever the full target synthetic dataset wouldn't comfortably fit in host RAM. - The output file uses the canonical cuvs-bench fbin layout (uint32 - ``n_rows``, uint32 ``n_dim`` header followed by row-major float32 - data), readable by ``cuvs_bench.run`` and the rest of the toolchain. + The output file uses the canonical cuvs-bench fbin layout (``n_rows``, + ``n_dim`` header followed by row-major float32 data), readable by + ``cuvs_bench.run`` and the rest of the toolchain. The header is + auto-promoted from the legacy 8-byte uint32 layout to the 16-byte + uint64 layout when ``total_points`` or ``n_dim`` exceeds + ``UINT32_MAX`` (see :mod:`cuvs_bench._bin_format`). Parameters ---------- config : ClusterConfig Fitted cluster fingerprint. total_points : int - Number of synthetic vectors to generate. Capped at ``UINT32_MAX`` - because the cuvs-bench fbin reader uses a uint32 row-count header. + Number of synthetic vectors to generate. Values above + ``UINT32_MAX`` (~4.29B) trigger the extended uint64 header. output_path : str Destination ``.fbin`` path. Parent directories are created as needed. batch_size : int @@ -244,13 +246,6 @@ def generate_synthetic_dataset_to_file( Number of rows written. Always equals ``total_points`` unless a cluster yielded zero points. """ - if total_points > UINT32_MAX: - raise ValueError( - f"total_points={total_points:,} exceeds the cuvs-bench fbin " - f"uint32 row-count cap of {UINT32_MAX:,}. Generate multiple " - f"shards if you need more rows." - ) - out_dir = os.path.dirname(output_path) if out_dir: os.makedirs(out_dir, exist_ok=True) @@ -292,8 +287,7 @@ def _flush_async(f, buf_view: np.ndarray) -> None: ) with open(output_path, "wb") as f: - # Canonical cuvs-bench fbin header - np.asarray([total_points, ncols], dtype=np.uint32).tofile(f) + write_bin_header(f, total_points, ncols) for cluster_id in iterator: n_points = int(points_per_cluster[cluster_id]) From 788e8851818e8ea43d63cce04aaee1d9fa6295a5 Mon Sep 17 00:00:00 2001 From: jinsolp Date: Tue, 26 May 2026 21:11:52 +0000 Subject: [PATCH 04/10] add experiment result sin readme --- .../cuvs_bench/synthesize_dataset/README.md | 49 ++++++++++++++++++ .../figures/diskann_bigann.png | Bin 0 -> 163108 bytes .../figures/diskann_falcon.png | Bin 0 -> 177525 bytes .../figures/diskann_wiki.png | Bin 0 -> 135813 bytes 4 files changed, 49 insertions(+) create mode 100644 python/cuvs_bench/cuvs_bench/synthesize_dataset/figures/diskann_bigann.png create mode 100644 python/cuvs_bench/cuvs_bench/synthesize_dataset/figures/diskann_falcon.png create mode 100644 python/cuvs_bench/cuvs_bench/synthesize_dataset/figures/diskann_wiki.png diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/README.md b/python/cuvs_bench/cuvs_bench/synthesize_dataset/README.md index 5808af3537..9e57d198ef 100644 --- a/python/cuvs_bench/cuvs_bench/synthesize_dataset/README.md +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/README.md @@ -277,6 +277,55 @@ For a single overlaid plot, load the search CSVs directly — they live at `$RAP For your first comparison run, generate the synthetic dataset *at parity* — i.e. at the **same `total_rows` as the real dataset** (set `--total_rows` in Step 4 to the real row count, so SF=100 still holds for your fitting sample). At parity the only difference between the two benchmark runs is real-vs-synth data, not size-vs-size, so any gap between the Pareto curves is cleanly attributable to the fingerprint. If the curves don't match at parity, increasing `total_rows` won't fix it — go back to Step 1 and revisit the fingerprint knobs (`ncomp`, `n_clusters`, `sample_size`). Once they match at parity, scale `--total_rows` up freely. +# Experiments + +We plan to ship pre-fit fingerprints for three commonly-benchmarked datasets — **Falcon** (960M x 1024d), **BigANN** (1B x 128d), and **Wiki** (88M x 768d). Each will be a single `.npz` you can pass straight to Step 4 (`--stats .npz`) and skip Steps 1–3. The experiments below were produced with those fingerprints. + +In the plots below, **SS** = *sample size* (rows from the real dataset used to fit the fingerprint in Steps 1–3) and **TS** = *target size* (`--total_rows` passed to Step 4, i.e. the number of synthetic rows generated). + + +### Falcon — DiskANN, synth vs real (960M, 1024d) + +![Falcon — DiskANN synth-vs-real Pareto](figures/diskann_falcon.png) + +*Setup:* synthetic dataset generated from `falcon` fingerprint using the command below, compared against the real Falcon 960M and subsets on the same DiskANN build/search sweep, k=10. + +```bash +python -m cuvs_bench.synthesize_dataset generate \ + --stats path/to/falcon_10M_nc100000_ncomp32_fingerprint.npz \ + --total_rows 960000000 \ + --gt_mode exact +``` + + +### BigANN — synth vs real (1B, 128d) + +![Falcon — DiskANN synth-vs-real Pareto](figures/diskann_bigann.png) + +*Setup:* synthetic dataset generated from `bigann` fingerprint using the command below, compared against the real BigANN 1B and subsets on the same build/search sweep, k=10. + +```bash +python -m cuvs_bench.synthesize_dataset generate \ + --stats path/to/bigann_10M_nc100000_ncomp32_fingerprint.npz \ + --total_rows 1000000000 \ + --gt_mode exact +``` + + +### Wiki — synth vs real (88M, 768d) + +![Falcon — DiskANN synth-vs-real Pareto](figures/diskann_wiki.png) + +*Setup:* synthetic dataset generated from `wiki` fingerprint using the command below, compared against the real Wiki 88M and subsets on the same build/search sweep, k=10. + +```bash +python -m cuvs_bench.synthesize_dataset generate \ + --stats path/to/wiki_880K_nc8800_ncomp32_fingerprint.npz \ + --total_rows 88000000 \ + --gt_mode exact +``` + + ## Caveats - The synthetic data is calibrated to reproduce **how a vector index behaves on your real data** (recall, throughput, build time), not the raw distance values themselves. Use it to compare *index configurations*, not as a substitute for distance-correctness tests. diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/figures/diskann_bigann.png b/python/cuvs_bench/cuvs_bench/synthesize_dataset/figures/diskann_bigann.png new file mode 100644 index 0000000000000000000000000000000000000000..351add0aa827fc5e727fd2c236cab83555edd6cb GIT binary patch literal 163108 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%0A9R75M5%_)`$Y{ir_(fvw3Xo(C}cx%R4<_ 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 _zmC7?-N+z0DrOmE_5^2W}J$4I?E3U_^0~ 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

Vx06xa>`w`U{)QF#51K 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

mk| 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 literal 0 HcmV?d00001 diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/figures/diskann_wiki.png b/python/cuvs_bench/cuvs_bench/synthesize_dataset/figures/diskann_wiki.png new file mode 100644 index 0000000000000000000000000000000000000000..7d3e16010caa08d2d4639fbbe5d4fbf3591e135e GIT binary patch literal 135813 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 literal 0 HcmV?d00001 From fd187622a00b75fd1ba264bb811418c0324fcc3d Mon Sep 17 00:00:00 2001 From: jinsolp Date: Tue, 9 Jun 2026 00:27:50 +0000 Subject: [PATCH 05/10] rm norm flag --- .../cuvs_bench/synthesize_dataset/__main__.py | 27 +----- .../cuvs_bench/synthesize_dataset/_fit.py | 85 +------------------ 2 files changed, 7 insertions(+), 105 deletions(-) diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/__main__.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/__main__.py index 7aafa219fd..88e6b3f2dc 100644 --- a/python/cuvs_bench/cuvs_bench/synthesize_dataset/__main__.py +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/__main__.py @@ -60,10 +60,9 @@ def _add_fit_parser(subparsers: argparse._SubParsersAction) -> None: help=( "Path to write the fingerprint NPZ. Defaults to " "'{dataset_stem}_nc{n_clusters}_ncomp{pca_components}" - "[_ss{sample_size}]_seed{seed}[_nonorm].npz' in the current " + "[_ss{sample_size}]_seed{seed}.npz' in the current " "working directory. '_ss{sample_size}' is included only when " - "--sample_size is passed, and '_nonorm' only when " - "--no-normalize-for-clustering is passed." + "--sample_size is passed." ), ) p.add_argument( @@ -102,22 +101,6 @@ def _add_fit_parser(subparsers: argparse._SubParsersAction) -> None: default=300, help="Maximum KMeans iterations (default: 300).", ) - p.add_argument( - "--no-normalize-for-clustering", - dest="no_normalize_for_clustering", - action="store_true", - help=( - "Skip the on-the-fly L2 normalization " - "before KMeans. Default behavior (recommended) auto-detects " - "whether the input is already unit-norm and normalizes it iff " - "not, so KMeans always clusters on normalized data. Pass this " - "only for an ablation where you specifically want KMeans to run " - "on the raw input. Centroids, per-dim variances, and PCA are " - "always computed in the original space and the " - "downstream `is_normalized_data` flag is unaffected, so the " - "benchmark still matches the real data's normalization." - ), - ) def _add_generate_parser(subparsers: argparse._SubParsersAction) -> None: @@ -225,19 +208,15 @@ def _cmd_fit(args: argparse.Namespace) -> int: pca_components=args.pca_components, seed=args.seed, max_iter=args.max_iter, - normalize_for_clustering=( - False if args.no_normalize_for_clustering else None - ), ) output_path = args.output if output_path is None: stem = os.path.splitext(os.path.basename(args.dataset))[0] ss_tag = "" if args.sample_size is None else f"_ss{args.sample_size}" - nonorm_tag = "_nonorm" if args.no_normalize_for_clustering else "" output_path = ( f"{stem}_nc{args.n_clusters}_ncomp{args.pca_components}" - f"{ss_tag}_seed{args.seed}{nonorm_tag}.npz" + f"{ss_tag}_seed{args.seed}.npz" ) save_cluster_stats(output_path, stats) print(f"Saved cluster fingerprint to {output_path}") diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_fit.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_fit.py index 73def6613d..0fc03fb842 100644 --- a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_fit.py +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_fit.py @@ -7,17 +7,10 @@ Pipeline: 1. Detect whether the input is L2-normalized. The result is stored in the fingerprint as ``is_normalized_data`` and is used at generate/verify time. -2. Decide whether to L2-normalize the sample on-the-fly for KMeans (centroids, - variances, and PCA are always computed in the original space, regardless). - Governed by the ``normalize_for_clustering`` argument (CLI: - ``--no-normalize-for-clustering``): when left at its default ``None``, it - follows the step-1 detection (enable iff the input was not already - L2-normalized); pass ``True``/``False`` (or set the CLI flag to force - ``False``) to override. -3. Run KMeans (``cuvs.cluster.kmeans``) to partition the sample. -4. For each cluster, fit a rank-``ncomp`` PCA (``cuvs.preprocessing.pca``) on +2. Run KMeans (``cuvs.cluster.kmeans``) on the sample. +3. For each cluster, fit a rank-``ncomp`` PCA (``cuvs.preprocessing.pca``) on the cluster's residuals, capturing the dominant intra-cluster correlations. -5. Estimate a residual noise variance per cluster (the variance not captured +4. Estimate a residual noise variance per cluster (the variance not captured by the top-``ncomp`` components). The output dict can be saved with :func:`save_cluster_stats`. @@ -37,33 +30,6 @@ from ._io import is_l2_normalized -def _normalize_batched_gpu( - data: np.ndarray, batch_size: int = 1_000_000 -) -> np.ndarray: - """L2-normalize host data in batches via cupy.""" - n_rows = len(data) - n_batches = (n_rows + batch_size - 1) // batch_size - out = np.empty_like(data) - - print( - f" Normalizing {n_rows:,} vectors on GPU " - f"({n_batches} batches of {batch_size:,})..." - ) - - for b in range(n_batches): - s = b * batch_size - e = min(s + batch_size, n_rows) - d_gpu = cp.asarray(data[s:e]) - norms = cp.linalg.norm(d_gpu, axis=1, keepdims=True) - norms = cp.maximum(norms, 1e-12) - d_gpu /= norms - out[s:e] = cp.asnumpy(d_gpu) - del d_gpu, norms - cp.get_default_memory_pool().free_all_blocks() - - return out - - def _run_kmeans( data: np.ndarray, n_clusters: int, @@ -119,7 +85,6 @@ def fit_cluster_stats( pca_components: int, seed: int = 42, max_iter: int = 300, - normalize_for_clustering: bool | None = None, ) -> Dict[str, Any]: """Fit a cluster fingerprint to a real dataset sample. @@ -135,12 +100,6 @@ def fit_cluster_stats( Random seed for KMeans initialization. max_iter : int KMeans max iterations. - normalize_for_clustering : bool or None - Whether to L2-normalize the sample before KMeans (centroids, variances, - and PCA still computed in the original space). When ``None`` (default), - this is decided automatically: enabled iff the input is detected as - not-L2-normalized. Pass ``True``/``False`` to override. Exposed on the - CLI as ``--no-normalize-for-clustering`` (sets this to ``False``). Returns ------- @@ -169,43 +128,7 @@ def fit_cluster_stats( + ")." ) - if normalize_for_clustering is None: - normalize_for_clustering = not is_normalized_data - print( - f" normalize_for_clustering=auto -> " - f"{normalize_for_clustering} " - f"(skipped for already-normalized data, " - f"enabled otherwise)." - ) - - if normalize_for_clustering: - print( - "Normalizing sample for clustering (stats stay in original " - "space)..." - ) - clustering_data = _normalize_batched_gpu(data_sample) - else: - clustering_data = data_sample - - labels, centroids = _run_kmeans( - clustering_data, n_clusters, seed, max_iter - ) - - # If we clustered on normalized data, recompute centroids from the - # original-space points belonging to each cluster. - if normalize_for_clustering: - print("Recomputing centroids in original (unnormalized) space...") - centroids = np.zeros((n_clusters, n_dim), dtype=np.float32) - for i in tqdm( - range(n_clusters), - desc="Recomputing centroids", - ): - mask = labels == i - if mask.any(): - cluster_gpu = cp.asarray(data_sample[mask]) - centroids[i] = cp.asnumpy(cp.mean(cluster_gpu, axis=0)) - del cluster_gpu - cp.get_default_memory_pool().free_all_blocks() + labels, centroids = _run_kmeans(data_sample, n_clusters, seed, max_iter) print( f"Fitting per-cluster PCA (ncomp={pca_components}) for " From c44a24542391f8750332f21c9590f00a066f6d88 Mon Sep 17 00:00:00 2001 From: jinsolp Date: Tue, 16 Jun 2026 20:54:50 +0000 Subject: [PATCH 06/10] cleanup --- .../cuvs_bench/get_dataset/fbin_to_f16bin.py | 2 +- .../cuvs_bench/get_dataset/hdf5_to_fbin.py | 2 +- .../synthesize_dataset/_generate.py | 12 +++--- .../cuvs_bench/synthesize_dataset/_io.py | 38 +++++-------------- 4 files changed, 17 insertions(+), 37 deletions(-) diff --git a/python/cuvs_bench/cuvs_bench/get_dataset/fbin_to_f16bin.py b/python/cuvs_bench/cuvs_bench/get_dataset/fbin_to_f16bin.py index add263e9cc..0fba915cae 100644 --- a/python/cuvs_bench/cuvs_bench/get_dataset/fbin_to_f16bin.py +++ b/python/cuvs_bench/cuvs_bench/get_dataset/fbin_to_f16bin.py @@ -27,7 +27,7 @@ def read_fbin(fname): return data -def write_bin(fname, data, *, force_uint64=False): +def write_bin(fname, data): with open(fname, "wb") as f: write_bin_header(f, data.shape[0], data.shape[1]) data.tofile(f) diff --git a/python/cuvs_bench/cuvs_bench/get_dataset/hdf5_to_fbin.py b/python/cuvs_bench/cuvs_bench/get_dataset/hdf5_to_fbin.py index 6419af74c9..2998a5dcb2 100644 --- a/python/cuvs_bench/cuvs_bench/get_dataset/hdf5_to_fbin.py +++ b/python/cuvs_bench/cuvs_bench/get_dataset/hdf5_to_fbin.py @@ -16,7 +16,7 @@ def normalize(x): return (x.T / norm).T -def write_bin(fname, data, *, force_uint64=False): +def write_bin(fname, data): with open(fname, "wb") as f: write_bin_header(f, data.shape[0], data.shape[1]) data.tofile(f) diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_generate.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_generate.py index 3cff8dc7dd..408123420b 100644 --- a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_generate.py +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_generate.py @@ -35,7 +35,7 @@ def get_cluster_seed(base_seed: int, cluster_id: int) -> int: - """Deterministic per-cluster seed. Multiply the base seed by 1000000 for different sequences for different base_seeds.""" + """Map ``(base_seed, cluster_id)`` to a deterministic per-cluster seed.""" return base_seed * 1_000_000 + int(cluster_id) @@ -86,15 +86,15 @@ def gen_cluster_gpu( centered = projected + noise - # Per-dimension scaling for variance matching - # Only apply if we have enough points for reliable variance estimation + # Per-dimension scaling for variance matching, applied only when we + # have enough points for a reliable empirical variance estimate. if n_random >= 10: target_var = cp.asarray(config.cluster_variances[cluster_id]) actual_var = cp.var(centered, axis=0) + # Floor the actual variance at noise_var (the minimum expected + # variance) so we never divide by an unreliably small estimate. scale = cp.sqrt(target_var / cp.maximum(actual_var, noise_var)) - # Scale each dimension separately - # Use noise_var as floor since that's the minimum expected variance - # Cap scale_factors to 5x to prevent blowup from unreliable variance estimates + # Cap the scale at 5x to prevent blowup from noisy estimates. scale = cp.minimum(scale, 5.0) centered = ( centered * scale diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_io.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_io.py index 3aa439519d..39e7f65b79 100644 --- a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_io.py +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_io.py @@ -12,11 +12,11 @@ import os import pickle -import struct -from typing import Tuple import numpy as np +from ..generate_groundtruth.utils import memmap_bin_file + def load_dataset( path: str, @@ -26,7 +26,8 @@ def load_dataset( """Load a real dataset for fitting. Supported formats: - - ``.fbin``: 8-byte uint32 header (``n_rows``, ``n_dim``) followed by raw data. + - ``.fbin``: cuvs-bench binary header (``n_rows``, ``n_dim``; legacy + uint32 or extended uint64, auto-detected) followed by raw data. - ``.npy``: standard numpy array file. - ``.pkl``: pickled numpy array (or anything ``np.array`` can convert). @@ -66,32 +67,11 @@ def load_dataset( return np.ascontiguousarray(data.astype(np.float32)) # Default: treat as fbin (covers ".fbin" and unknown extensions). - return _load_fbin(path, dtype=dtype, n_rows_cap=sample_size) - - -def _load_fbin( - path: str, dtype: np.dtype = np.float32, n_rows_cap: int | None = None -) -> np.ndarray: - """Load an fbin file with the cuvs-bench layout (uint32 header).""" - with open(path, "rb") as f: - header = f.read(8) - n_rows, n_dim = struct.unpack(" Tuple[int, int]: - """Return ``(n_rows, n_dim)`` for an fbin file without loading it.""" - with open(path, "rb") as f: - header = f.read(8) - n_rows, n_dim = struct.unpack(" Date: Tue, 16 Jun 2026 23:32:22 +0000 Subject: [PATCH 07/10] cleanup and rename --- .../generate_groundtruth/__main__.py | 14 +- .../cuvs_bench/generate_groundtruth/utils.py | 20 ++- .../cuvs_bench/synthesize_dataset/__init__.py | 18 +-- .../cuvs_bench/synthesize_dataset/__main__.py | 100 ++++++------ .../{_config.py => _fingerprint.py} | 35 ++-- .../cuvs_bench/synthesize_dataset/_fit.py | 21 +-- .../synthesize_dataset/_generate.py | 152 +++++++++--------- .../synthesize_dataset/_ground_truth.py | 74 +-------- .../cuvs_bench/synthesize_dataset/_io.py | 132 +++++++++++---- .../synthesize_dataset/_stats_io.py | 131 --------------- .../cuvs_bench/synthesize_dataset/_verify.py | 84 ++-------- 11 files changed, 287 insertions(+), 494 deletions(-) rename python/cuvs_bench/cuvs_bench/synthesize_dataset/{_config.py => _fingerprint.py} (62%) delete mode 100644 python/cuvs_bench/cuvs_bench/synthesize_dataset/_stats_io.py diff --git a/python/cuvs_bench/cuvs_bench/generate_groundtruth/__main__.py b/python/cuvs_bench/cuvs_bench/generate_groundtruth/__main__.py index a42fe52a0d..6008baf545 100644 --- a/python/cuvs_bench/cuvs_bench/generate_groundtruth/__main__.py +++ b/python/cuvs_bench/cuvs_bench/generate_groundtruth/__main__.py @@ -10,6 +10,7 @@ import warnings from .utils import ( + add_jitter, is_l2_normalized, groundtruth_neighbors_filename, memmap_bin_file, @@ -131,19 +132,8 @@ def choose_random_queries_with_jitter(dataset, n_queries, seed=12345): sampled = dataset[query_idx, :].astype(_np.float32, copy=True) normalize = is_l2_normalized(sampled) - if normalize: - print( - " Dataset appears L2-normalized; will re-normalize jittered queries" - ) - - noise_scale = float(_np.std(sampled)) * 0.1 - sampled += rng.normal(0, noise_scale, sampled.shape).astype(_np.float32) - - if normalize: - norms = _np.linalg.norm(sampled, axis=1, keepdims=True) - sampled = sampled / _np.maximum(norms, 1e-8) - return sampled + return add_jitter(sampled, rng, normalize) def cpu_search(dataset, queries, k, metric="squeclidean"): diff --git a/python/cuvs_bench/cuvs_bench/generate_groundtruth/utils.py b/python/cuvs_bench/cuvs_bench/generate_groundtruth/utils.py index 062a0e0f11..f6a62361d3 100644 --- a/python/cuvs_bench/cuvs_bench/generate_groundtruth/utils.py +++ b/python/cuvs_bench/cuvs_bench/generate_groundtruth/utils.py @@ -20,10 +20,6 @@ def is_l2_normalized( Samples up to ``sample_size`` rows uniformly at random and returns ``True`` iff every sampled row has ``|‖x‖ - 1| < tol``. - - Duplicated from ``cuvs_bench.synthesize_dataset._io.is_l2_normalized`` so - we don't trigger that package's heavy ``cuvs.preprocessing.pca`` import - at module load time. """ n = len(data) if n == 0: @@ -35,6 +31,22 @@ def is_l2_normalized( return bool(np.all(np.abs(norms - 1.0) < tol)) +def add_jitter( + queries: np.ndarray, + rng: np.random.Generator, + normalize: bool, +) -> np.ndarray: + """Add Gaussian jitter to query vectors and optionally re-normalize.""" + noise_scale = float(np.std(queries)) * 0.1 + queries = queries + rng.normal(0, noise_scale, queries.shape).astype( + np.float32 + ) + if normalize: + norms = np.linalg.norm(queries, axis=1, keepdims=True) + queries = queries / np.maximum(norms, 1e-8) + return queries.astype(np.float32) + + def dtype_from_filename(filename): ext = os.path.splitext(filename)[1] if ext == ".fbin": diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/__init__.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/__init__.py index 13f89eb9be..741dcaddd1 100644 --- a/python/cuvs_bench/cuvs_bench/synthesize_dataset/__init__.py +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/__init__.py @@ -3,10 +3,11 @@ # SPDX-License-Identifier: Apache-2.0 # -from ._config import ClusterConfig +from ._fingerprint import Fingerprint from ._fit import fit_cluster_stats from ._generate import ( gen_cluster_gpu, + generate_queries, generate_synthetic_dataset, generate_synthetic_dataset_to_file, get_cluster_seed, @@ -15,18 +16,16 @@ from ._ground_truth import ( compute_groundtruth_exact, compute_groundtruth_nprobe, - generate_queries, ) -from ._stats_io import ( - cluster_config_from_stats, - load_cluster_stats, - save_cluster_stats, +from ._io import ( + load_fingerprint, + save_fingerprint, ) from ._verify import verify_groundtruth __all__ = [ - "ClusterConfig", - "cluster_config_from_stats", + "Fingerprint", + "load_fingerprint", "compute_groundtruth_nprobe", "compute_groundtruth_exact", "fit_cluster_stats", @@ -36,7 +35,6 @@ "generate_synthetic_dataset_to_file", "get_cluster_seed", "get_num_points_per_cluster", - "load_cluster_stats", - "save_cluster_stats", + "save_fingerprint", "verify_groundtruth", ] diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/__main__.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/__main__.py index 88e6b3f2dc..ef627b061a 100644 --- a/python/cuvs_bench/cuvs_bench/synthesize_dataset/__main__.py +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/__main__.py @@ -4,15 +4,12 @@ # """Command-line entry point for the synthesize_dataset module. -Three subcommands: - - ``fit``: extract a cluster fingerprint (.npz) from a real dataset. -- ``generate``: turn a fingerprint into a benchmarkable - ``base.fbin`` / ``queries.fbin`` / ``groundtruth.{neighbors,distances}.{ibin,fbin}`` - bundle. +- ``generate``: turn a fingerprint into a ``base.fbin`` / ``queries.fbin`` / +``groundtruth.{neighbors,distances}.{ibin,fbin}`` bundle. - ``verify``: validate the chosen ``nprobes``. -Run ``python -m cuvs_bench.synthesize_dataset --help`` for the full surface. +Run ``python -m cuvs_bench.synthesize_dataset --help`` for help. """ from __future__ import annotations @@ -25,17 +22,15 @@ from ..generate_groundtruth.utils import write_bin from ._fit import fit_cluster_stats -from ._generate import generate_synthetic_dataset_to_file +from ._generate import generate_queries, generate_synthetic_dataset_to_file from ._ground_truth import ( compute_groundtruth_nprobe, compute_groundtruth_exact, - generate_queries, ) from ._io import load_dataset -from ._stats_io import ( - cluster_config_from_stats, - load_cluster_stats, - save_cluster_stats, +from ._io import ( + load_fingerprint, + save_fingerprint, ) from ._verify import verify_groundtruth @@ -45,7 +40,7 @@ def _add_fit_parser(subparsers: argparse._SubParsersAction) -> None: "fit", help="Extract a dataset fingerprint from a real dataset.", description=( - "Run KMeans + per-cluster PCA on a sample of your real " + "Run KMeans + per-cluster PCA on a sample of the real " "dataset and save the resulting fingerprint as an NPZ file." ), ) @@ -72,7 +67,7 @@ def _add_fit_parser(subparsers: argparse._SubParsersAction) -> None: help=( "Use only the FIRST `sample_size` rows of the input " "(default: use entire input). No shuffling is performed, so " - "make sure your dataset's head-of-file slice is representative " + "make sure the dataset's head-of-file slice is representative " "(pre-shuffle the file beforehand if it has any structural " "ordering, e.g. by class or time)." ), @@ -95,12 +90,6 @@ def _add_fit_parser(subparsers: argparse._SubParsersAction) -> None: default=42, help="RNG seed for KMeans init and PCA (default: 42).", ) - p.add_argument( - "--max_iter", - type=int, - default=300, - help="Maximum KMeans iterations (default: 300).", - ) def _add_generate_parser(subparsers: argparse._SubParsersAction) -> None: @@ -130,8 +119,13 @@ def _add_generate_parser(subparsers: argparse._SubParsersAction) -> None: p.add_argument( "--nprobes", type=int, - default=10, - help="Clusters probed per query for nprobe GT (default: 10).", + default=None, + help=( + "Clusters probed per query for nprobe GT. Must be smaller than " + "the number of clusters used to fit the fingerprint. " + "Defaults to 5%% of the fingerprint's cluster count unless specified when " + "--gt_mode=nprobe." + ), ) p.add_argument( "--gt_mode", @@ -159,7 +153,15 @@ def _add_generate_parser(subparsers: argparse._SubParsersAction) -> None: def _add_verify_parser(subparsers: argparse._SubParsersAction) -> None: p = subparsers.add_parser( "verify", - help="Validate that nprobe GT matches exact GT at small scale.", + help="Validate that nprobe GT matches exact GT.", + description=( + "Check whether the chosen nprobes (relative to the number of " + "clusters in the fingerprint) is sufficient to produce a " + "high-quality ground truth. Runs nprobe GT and exact GT on a " + "synthetic dataset and compares recall. Use a small --total_rows " + "for a quick sanity check before committing to " + "a full-scale generate run using ``generate''." + ), ) p.add_argument("--stats", required=True, help="Path to fingerprint NPZ.") p.add_argument( @@ -183,10 +185,11 @@ def _add_verify_parser(subparsers: argparse._SubParsersAction) -> None: p.add_argument( "--nprobes", type=int, - default=10, + default=None, help=( - "Clusters probed per query for the nprobe GT being verified " - "(default: 10)." + "Clusters probed per query for the nprobe GT being verified. " + "Must be smaller than the number of clusters in the fingerprint. " + "Defaults to 5%% of the fingerprint's cluster count." ), ) p.add_argument( @@ -207,7 +210,6 @@ def _cmd_fit(args: argparse.Namespace) -> int: n_clusters=args.n_clusters, pca_components=args.pca_components, seed=args.seed, - max_iter=args.max_iter, ) output_path = args.output @@ -218,34 +220,28 @@ def _cmd_fit(args: argparse.Namespace) -> int: f"{stem}_nc{args.n_clusters}_ncomp{args.pca_components}" f"{ss_tag}_seed{args.seed}.npz" ) - save_cluster_stats(output_path, stats) + save_fingerprint(output_path, stats) print(f"Saved cluster fingerprint to {output_path}") return 0 def _cmd_generate(args: argparse.Namespace) -> int: print(f"Loading fingerprint from {args.stats}...") - stats = load_cluster_stats(args.stats) - config = cluster_config_from_stats(stats, seed=args.seed) + config = load_fingerprint(args.stats, seed=args.seed) print( f" {config.nclusters} clusters, {config.ncols} dims, " - f"ncomp={stats['pca_n_components']}, " + f"ncomp={config.pca_n_components}, " f"is_normalized_data={config.is_normalized_data} (from fit)" ) os.makedirs(args.output_dir, exist_ok=True) base_path = os.path.join(args.output_dir, "base.fbin") - print( - f"Streaming {args.total_rows:,} synthetic vectors to {base_path} " - f"(host RAM stays bounded regardless of total_rows)..." - ) generate_synthetic_dataset_to_file( config=config, total_points=args.total_rows, output_path=base_path, ) - print(f"Sampling {args.n_queries} queries...") queries = generate_queries( nqueries=args.n_queries, total_rows=args.total_rows, @@ -254,14 +250,20 @@ def _cmd_generate(args: argparse.Namespace) -> int: queries_path = os.path.join(args.output_dir, "queries.fbin") write_bin(queries_path, queries) - print(f"Computing ground truth in '{args.gt_mode}' mode...") + nprobes = args.nprobes + if args.gt_mode == "nprobe" and nprobes is None: + nprobes = max(1, round(config.nclusters * 0.05)) + print( + f" nprobes not set; using 5% of {config.nclusters} clusters = {nprobes}." + ) + if args.gt_mode == "nprobe": gt_idx, gt_dist, _ = compute_groundtruth_nprobe( queries=queries, total_rows=args.total_rows, config=config, k=args.k, - nprobes=args.nprobes, + nprobes=nprobes, ) else: gt_idx, gt_dist, _ = compute_groundtruth_exact( @@ -288,8 +290,13 @@ def _cmd_generate(args: argparse.Namespace) -> int: def _cmd_verify(args: argparse.Namespace) -> int: print(f"Loading fingerprint from {args.stats}...") - stats = load_cluster_stats(args.stats) - config = cluster_config_from_stats(stats, seed=args.seed) + config = load_fingerprint(args.stats, seed=args.seed) + nprobes = args.nprobes + if nprobes is None: + nprobes = max(1, round(config.nclusters * 0.05)) + print( + f" nprobes not set; using 5% of {config.nclusters} clusters = {nprobes}." + ) print( f" {config.nclusters} clusters, {config.ncols} dims, " f"is_normalized_data={config.is_normalized_data} (from fit)" @@ -300,25 +307,20 @@ def _cmd_verify(args: argparse.Namespace) -> int: total_rows=args.total_rows, nqueries=args.n_queries, k=args.k, - nprobes=args.nprobes, + nprobes=nprobes, ) print("\n" + "=" * 60) print("Verification Result") print("=" * 60) - print(f" Recall (with ties): {result['recall']:.4f}") - print(f" Recall (naive): {result['simple_recall']:.4f}") - print( - f" Imperfect queries: {len(result['mismatched_queries'])}" - f" / {result['nqueries']}" - ) + print(f" Recall: {result['recall']:.4f}") if result["recall"] >= 0.999: print( - f"\n nprobes={args.nprobes} is safe at total_rows={args.total_rows:,}." + f"\n nprobes={nprobes} is safe at total_rows={args.total_rows:,}." ) else: print( - f"\n nprobes={args.nprobes} drops accuracy below 0.999 -- " + f"\n nprobes={nprobes} drops recall below 0.999 -- " f"consider increasing nprobes." ) return 0 diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_config.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_fingerprint.py similarity index 62% rename from python/cuvs_bench/cuvs_bench/synthesize_dataset/_config.py rename to python/cuvs_bench/cuvs_bench/synthesize_dataset/_fingerprint.py index 78a71f345c..6f8db304de 100644 --- a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_config.py +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_fingerprint.py @@ -2,14 +2,7 @@ # SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION. # SPDX-License-Identifier: Apache-2.0 # -"""ClusterConfig: in-memory representation of a fitted cluster fingerprint. - -This is the only configuration type the synthesize_dataset module exposes. -It holds the pieces needed to deterministically generate per-cluster Gaussian -samples: centroids, densities, per-dimension variances, and the per-cluster -PCA components (``ncomp`` principal directions, ``ncomp`` explained variances, -and a residual noise variance per cluster). -""" +"""Fingerprint: in-memory representation of a fitted cluster fingerprint.""" from dataclasses import dataclass from typing import List, Optional @@ -18,28 +11,26 @@ @dataclass -class ClusterConfig: - """Configuration for cluster-based synthetic data generation. +class Fingerprint: + """In-memory representation of a fitted cluster fingerprint. - Holds the fitted cluster fingerprint produced by ``cuvs_bench.synthesize_dataset.fit``. + Produced by ``cuvs_bench.synthesize_dataset.fit``. Parameters ---------- nclusters : int Number of KMeans clusters fitted on the real-data sample. ncols : int - Dimensionality of the data (number of features). + Dimensionality of the data. seed : int - Random seed used for deterministic per-cluster generation. Combined - with ``cluster_id`` to produce a unique seed per cluster. + Random seed used for deterministic per-cluster generation. cluster_centers : np.ndarray, shape (nclusters, ncols) - Cluster centroids in the original (unnormalized) space. + Cluster centroids. cluster_variances : np.ndarray, shape (nclusters, ncols) Per-dimension variance per cluster, used for variance matching when rescaling generated points. cluster_densities : np.ndarray, shape (nclusters,) - Relative density per cluster (fraction of sample points per cluster). - Normalized to sum to 1 in ``__post_init__``. + Relative density per cluster. Normalized to sum to 1 in ``__post_init__``. pca_components_list : list[Optional[np.ndarray]] Per-cluster principal directions, each of shape ``(ncomp, ncols)``. Entries may be ``None`` for clusters that fell back to diagonal-only @@ -48,14 +39,15 @@ class ClusterConfig: Per-cluster variance along each principal direction, each of shape ``(ncomp,)``. ``None`` for diagonal-fallback clusters. pca_noise_var : np.ndarray, shape (nclusters,) - Residual noise variance per cluster (the variance not captured by the - top-``ncomp`` PCA components). Used as the variance of an isotropic + Residual noise variance per cluster. Used as the variance of an isotropic Gaussian added to every generated point. + pca_n_components : int + The requested number of PCA components per cluster as specified at + fit time. is_normalized_data : bool Whether the fit-time real-data slice was detected as L2-unit-norm. ``generate``, ``verify``, and the streaming - GT routines read this directly to decide whether to re-normalize - the synthetic output. + GT routines use this to decide whether to re-normalize the synthetic output. """ nclusters: int @@ -68,6 +60,7 @@ class ClusterConfig: pca_components_list: List[Optional[np.ndarray]] pca_explained_var_list: List[Optional[np.ndarray]] pca_noise_var: np.ndarray + pca_n_components: int is_normalized_data: bool diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_fit.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_fit.py index 0fc03fb842..88e4e7b107 100644 --- a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_fit.py +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_fit.py @@ -5,15 +5,13 @@ """Fit a cluster fingerprint from a sample of real data. Pipeline: -1. Detect whether the input is L2-normalized. The result is stored in the - fingerprint as ``is_normalized_data`` and is used at generate/verify time. -2. Run KMeans (``cuvs.cluster.kmeans``) on the sample. -3. For each cluster, fit a rank-``ncomp`` PCA (``cuvs.preprocessing.pca``) on +1. Run KMeans (``cuvs.cluster.kmeans``) on the sample. +2. For each cluster, fit a rank-``ncomp`` PCA (``cuvs.preprocessing.pca``) on the cluster's residuals, capturing the dominant intra-cluster correlations. -4. Estimate a residual noise variance per cluster (the variance not captured +3. Estimate a residual noise variance per cluster (the variance not captured by the top-``ncomp`` components). -The output dict can be saved with :func:`save_cluster_stats`. +The output dict can be saved with :func:`save_fingerprint`. """ from __future__ import annotations @@ -27,25 +25,23 @@ from cuvs.preprocessing import pca as cuvs_pca from tqdm import tqdm -from ._io import is_l2_normalized +from ..generate_groundtruth.utils import is_l2_normalized def _run_kmeans( data: np.ndarray, n_clusters: int, seed: int, - max_iter: int, ): """Run cuvs KMeans, returning ``(labels, centroids)`` as numpy arrays.""" params = cuvs_kmeans.KMeansParams( n_clusters=n_clusters, - max_iter=max_iter, init_size=len(data), ) print( f" Running cuvs KMeans (n_clusters={n_clusters}, " - f"max_iter={max_iter}, init_size={len(data):,})..." + f"init_size={len(data):,})..." ) t0 = time.perf_counter() @@ -84,7 +80,6 @@ def fit_cluster_stats( n_clusters: int, pca_components: int, seed: int = 42, - max_iter: int = 300, ) -> Dict[str, Any]: """Fit a cluster fingerprint to a real dataset sample. @@ -98,8 +93,6 @@ def fit_cluster_stats( Number of principal directions per cluster. seed : int Random seed for KMeans initialization. - max_iter : int - KMeans max iterations. Returns ------- @@ -128,7 +121,7 @@ def fit_cluster_stats( + ")." ) - labels, centroids = _run_kmeans(data_sample, n_clusters, seed, max_iter) + labels, centroids = _run_kmeans(data_sample, n_clusters, seed) print( f"Fitting per-cluster PCA (ncomp={pca_components}) for " diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_generate.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_generate.py index 408123420b..5ea63a684f 100644 --- a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_generate.py +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_generate.py @@ -12,10 +12,6 @@ After projection-plus-noise, we rescale per-dimension so the empirical variance of the generated batch matches the cluster's per-dimension target. - -Generation is deterministic in ``(cluster_id, config.seed)`` so the same call -always produces the same points -- this is essential for the ``nprobe`` GT -trick where the same cluster gets regenerated from scratch on each query. """ from __future__ import annotations @@ -29,7 +25,8 @@ from tqdm import tqdm from .._bin_format import write_bin_header -from ._config import ClusterConfig +from ..generate_groundtruth.utils import add_jitter +from ._fingerprint import Fingerprint ArrayLike = Union[np.ndarray, cp.ndarray] @@ -42,25 +39,14 @@ def get_cluster_seed(base_seed: int, cluster_id: int) -> int: def gen_cluster_gpu( cluster_id: int, n_points: int, - config: ClusterConfig, + config: Fingerprint, return_cupy: bool = True, normalize: bool = True, ) -> ArrayLike: - """Generate ``n_points`` points for one cluster on the GPU""" + """Generate ``n_points`` points for one cluster on the GPU.""" center = cp.asarray(config.cluster_centers[cluster_id]) - - if n_points == 1: - points = center.reshape(1, -1) - if normalize: - norms = cp.linalg.norm(points, axis=1, keepdims=True) - points = points / cp.maximum(norms, 1e-8) - if return_cupy: - return points.astype(cp.float32) - return cp.asnumpy(points).astype(np.float32) - seed = get_cluster_seed(config.seed, cluster_id) rng = cp.random.RandomState(seed) - n_random = n_points - 1 components_host = config.pca_components_list[cluster_id] explained_var_host = config.pca_explained_var_list[cluster_id] @@ -72,14 +58,14 @@ def gen_cluster_gpu( k = len(explained_var) z = rng.standard_normal( - size=(n_random, k), dtype=cp.float32 + size=(n_points, k), dtype=cp.float32 ) * cp.sqrt(cp.maximum(explained_var, 0.0)) projected = z @ components noise_std = float(cp.sqrt(max(noise_var, 0.0))) noise = ( rng.standard_normal( - size=(n_random, config.ncols), dtype=cp.float32 + size=(n_points, config.ncols), dtype=cp.float32 ) * noise_std ) @@ -88,7 +74,7 @@ def gen_cluster_gpu( # Per-dimension scaling for variance matching, applied only when we # have enough points for a reliable empirical variance estimate. - if n_random >= 10: + if n_points >= 10: target_var = cp.asarray(config.cluster_variances[cluster_id]) actual_var = cp.var(centered, axis=0) # Floor the actual variance at noise_var (the minimum expected @@ -96,23 +82,17 @@ def gen_cluster_gpu( scale = cp.sqrt(target_var / cp.maximum(actual_var, noise_var)) # Cap the scale at 5x to prevent blowup from noisy estimates. scale = cp.minimum(scale, 5.0) - centered = ( - centered * scale - ) # broadcasts (n_random, ncols) * (ncols,) + centered = centered * scale - random_points = center + centered + points = (center + centered).astype(cp.float32) else: # Diagonal fallback (in-place for memory efficiency at scale). scale = cp.sqrt(cp.asarray(config.cluster_variances[cluster_id])) - random_points = rng.standard_normal( - size=(n_random, config.ncols), dtype=cp.float32 + points = rng.standard_normal( + size=(n_points, config.ncols), dtype=cp.float32 ) - random_points *= scale - random_points += center - - points = cp.vstack([center.reshape(1, -1), random_points]).astype( - cp.float32 - ) + points *= scale + points += center if normalize: norms = cp.linalg.norm(points, axis=1, keepdims=True) @@ -125,7 +105,7 @@ def gen_cluster_gpu( def get_num_points_per_cluster( total_points: int, - config: ClusterConfig, + config: Fingerprint, min_points_per_cluster: int = 1, ) -> np.ndarray: """Allocate ``total_points`` across clusters proportional to densities. @@ -160,7 +140,7 @@ def get_num_points_per_cluster( def generate_synthetic_dataset( - config: ClusterConfig, + config: Fingerprint, total_points: int, ) -> np.ndarray: """Materialize a full ``(total_points, ncols)`` synthetic dataset. @@ -193,58 +173,29 @@ def generate_synthetic_dataset( result[write_idx : write_idx + n_points] = cluster_points write_idx += n_points - # Periodically free GPU pool to keep fragmentation bounded across - # the long-running per-cluster loop. - if cluster_id % 500 == 499: - cp.get_default_memory_pool().free_all_blocks() - cp.get_default_memory_pool().free_all_blocks() return result def generate_synthetic_dataset_to_file( - config: ClusterConfig, + config: Fingerprint, total_points: int, output_path: str, batch_size: int = 1_000_000, -) -> int: +) -> None: """Stream a synthetic dataset directly to a fbin file. - Generates clusters one at a time on the GPU, accumulates their points - into a small CPU-side double-buffer, and flushes ``batch_size``-row - chunks to disk in a background thread so disk I/O overlaps with the - next cluster's generation. Peak host memory stays bounded by roughly - ``2 * (batch_size + max_cluster_points) * ncols * 4`` bytes regardless - of ``total_points`` -- prefer this over - :func:`generate_synthetic_dataset` whenever the full target synthetic dataset - wouldn't comfortably fit in host RAM. - - The output file uses the canonical cuvs-bench fbin layout (``n_rows``, - ``n_dim`` header followed by row-major float32 data), readable by - ``cuvs_bench.run`` and the rest of the toolchain. The header is - auto-promoted from the legacy 8-byte uint32 layout to the 16-byte - uint64 layout when ``total_points`` or ``n_dim`` exceeds - ``UINT32_MAX`` (see :mod:`cuvs_bench._bin_format`). - Parameters ---------- - config : ClusterConfig + config : Fingerprint Fitted cluster fingerprint. total_points : int - Number of synthetic vectors to generate. Values above - ``UINT32_MAX`` (~4.29B) trigger the extended uint64 header. + Number of synthetic vectors to generate. output_path : str Destination ``.fbin`` path. Parent directories are created as needed. batch_size : int - Flush threshold in rows. Higher = better disk throughput but more - host RAM. Default 1M. - - Returns - ------- - int - Number of rows written. Always equals ``total_points`` unless a - cluster yielded zero points. + Number of rows for a flush threshold. """ out_dir = os.path.dirname(output_path) if out_dir: @@ -255,10 +206,8 @@ def generate_synthetic_dataset_to_file( ncols = int(config.cluster_centers.shape[1]) # Buffer must be large enough to absorb the cluster that triggers a - # flush without overflowing -- size it for batch_size + the largest - # single cluster plus a small safety margin. - max_cluster_pts = int(points_per_cluster.max()) - buf_capacity = max(int(batch_size * 1.1), batch_size + max_cluster_pts) + # flush without overflowing + buf_capacity = batch_size + int(points_per_cluster.max()) bufs = [ np.empty((buf_capacity, ncols), dtype=np.float32) for _ in range(2) ] @@ -310,7 +259,7 @@ def _flush_async(f, buf_view: np.ndarray) -> None: if buf_offset >= batch_size: # Wait for the previous write to complete before reusing - # *its* buffer (the one we're about to swap to). + # its buffer _wait_for_write() _flush_async(f, bufs[active_buf][:buf_offset]) rows_written += buf_offset @@ -318,8 +267,7 @@ def _flush_async(f, buf_view: np.ndarray) -> None: buf_offset = 0 cp.get_default_memory_pool().free_all_blocks() - # Drain: wait for any in-flight write, then synchronously flush - # whatever's left in the active buffer. + # wait for any in-flight write, then flush whatever's left in the active buffer. _wait_for_write() if buf_offset > 0: bufs[active_buf][:buf_offset].tofile(f) @@ -333,4 +281,54 @@ def _flush_async(f, buf_view: np.ndarray) -> None: f"(some clusters yielded zero points)." ) - return rows_written + +def generate_queries( + nqueries: int, + total_rows: int, + config: Fingerprint, + query_seed_offset: int = 999_999, +) -> np.ndarray: + """Sample ``nqueries`` query points from the synthetic distribution. + + For each query we pick a global index uniformly from ``range(total_rows)``, + determine which cluster it falls into, regenerate that cluster's points + deterministically, and grab the corresponding local index. Small Gaussian + noise is added at the end to avoid exact-match recall artefacts. + """ + normalize = bool(config.is_normalized_data) + points_per_cluster = get_num_points_per_cluster(total_rows, config) + cumsum = np.cumsum(points_per_cluster) + + rng = np.random.default_rng(config.seed + query_seed_offset) + global_indices = rng.choice(total_rows, size=nqueries, replace=False) + + # ``searchsorted(side='right')`` maps a global index to the cluster_id of + # the cluster whose cumulative range contains it. + cluster_ids = np.searchsorted(cumsum, global_indices, side="right") + + # Group queries by cluster so we generate each cluster only once. + cluster_to_queries: dict[int, list[tuple[int, int]]] = {} + for q_idx, (g_idx, c_id) in enumerate(zip(global_indices, cluster_ids)): + local_idx = g_idx if c_id == 0 else g_idx - cumsum[c_id - 1] + cluster_to_queries.setdefault(int(c_id), []).append( + (q_idx, int(local_idx)) + ) + + queries = np.zeros((nqueries, config.ncols), dtype=np.float32) + for c_id, qlist in tqdm( + cluster_to_queries.items(), + total=len(cluster_to_queries), + desc="Generating query points", + ): + n_points = int(points_per_cluster[c_id]) + cluster_points = gen_cluster_gpu( + c_id, + n_points, + config, + return_cupy=False, + normalize=normalize, + ) + for q_idx, local_idx in qlist: + queries[q_idx] = cluster_points[local_idx] + + return add_jitter(queries, rng, normalize) diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_ground_truth.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_ground_truth.py index e02a86b4d3..6b3421cab1 100644 --- a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_ground_truth.py +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_ground_truth.py @@ -9,11 +9,7 @@ - :func:`compute_groundtruth_exact` checks every cluster, computes brute-force k-NN against the queries, and merges results across clusters. - :func:`compute_groundtruth_nprobe` only checks the ``nprobes`` nearest - clusters per query (IVF-style). This is the cheap path that scales - to larger datasets. - -Queries are generated by adding a small noise jitter to points drawn from -the synthetic dataset. + clusters per query (IVF-style). """ from __future__ import annotations @@ -26,7 +22,7 @@ from cuvs.neighbors import brute_force as cuvs_brute_force from tqdm import tqdm -from ._config import ClusterConfig +from ._fingerprint import Fingerprint from ._generate import gen_cluster_gpu, get_num_points_per_cluster @@ -42,69 +38,9 @@ def _bf_knn_gpu( return indices.copy_to_host(), distances.copy_to_host() -def generate_queries( - nqueries: int, - total_rows: int, - config: ClusterConfig, - query_seed_offset: int = 999_999, -) -> np.ndarray: - """Sample ``nqueries`` query points from the synthetic distribution. - - For each query we pick a global index uniformly from ``range(total_rows)``, - determine which cluster it falls into, regenerate that cluster's points - deterministically, and grab the corresponding local index. Small Gaussian - noise is added at the end to avoid exact-match recall artefacts. - """ - normalize = bool(config.is_normalized_data) - points_per_cluster = get_num_points_per_cluster(total_rows, config) - cumsum = np.cumsum(points_per_cluster) - - rng = np.random.default_rng(config.seed + query_seed_offset) - global_indices = rng.choice(total_rows, size=nqueries, replace=False) - - # ``searchsorted(side='right')`` maps a global index to the cluster_id of - # the cluster whose cumulative range contains it. - cluster_ids = np.searchsorted(cumsum, global_indices, side="right") - - # Group queries by cluster so we generate each cluster only once. - cluster_to_queries: dict[int, list[tuple[int, int]]] = {} - for q_idx, (g_idx, c_id) in enumerate(zip(global_indices, cluster_ids)): - local_idx = g_idx if c_id == 0 else g_idx - cumsum[c_id - 1] - cluster_to_queries.setdefault(int(c_id), []).append( - (q_idx, int(local_idx)) - ) - - queries = np.zeros((nqueries, config.ncols), dtype=np.float32) - for c_id, qlist in tqdm( - cluster_to_queries.items(), - total=len(cluster_to_queries), - desc="Generating query points", - ): - n_points = int(points_per_cluster[c_id]) - cluster_points = gen_cluster_gpu( - c_id, - n_points, - config, - return_cupy=False, - normalize=normalize, - ) - for q_idx, local_idx in qlist: - queries[q_idx] = cluster_points[local_idx] - - # Small noise jitter to break exact-match ties between query and dataset. - noise_scale = float(np.std(queries) * 0.1) - queries += rng.normal(0, noise_scale, queries.shape).astype(np.float32) - - if normalize: - norms = np.linalg.norm(queries, axis=1, keepdims=True) - queries = queries / np.maximum(norms, 1e-8) - - return queries.astype(np.float32) - - def _find_nearby_clusters( queries: np.ndarray, - config: ClusterConfig, + config: Fingerprint, nprobes: int, metric: str = "sqeuclidean", ) -> np.ndarray: @@ -118,7 +54,7 @@ def _find_nearby_clusters( def compute_groundtruth_exact( queries: np.ndarray, total_rows: int, - config: ClusterConfig, + config: Fingerprint, k: int, metric: str = "sqeuclidean", ) -> Tuple[np.ndarray, np.ndarray, dict]: @@ -183,7 +119,7 @@ def compute_groundtruth_exact( def compute_groundtruth_nprobe( queries: np.ndarray, total_rows: int, - config: ClusterConfig, + config: Fingerprint, k: int, nprobes: int, metric: str = "sqeuclidean", diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_io.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_io.py index 39e7f65b79..c3f2495b10 100644 --- a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_io.py +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_io.py @@ -2,20 +2,41 @@ # SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION. # SPDX-License-Identifier: Apache-2.0 # -"""Lightweight readers for the source datasets users want to fit against. - -Supported formats: ``.fbin`` (with an optional nrows cap), ``.npy``, and -``.pkl``. +"""Dataset loading and fingerprint NPZ I/O. + +Supported dataset formats for :func:`load_dataset`: ``.fbin``, ``.npy``, +and ``.pkl``. + +Fingerprint NPZ file schema (written by :func:`save_fingerprint`, read by +:func:`load_fingerprint`): + +- ``centroids`` : float32, shape (nclusters, ncols) +- ``densities`` : float64, shape (nclusters,) +- ``variances_per_dim`` : float32, shape (nclusters, ncols) +- ``pca_components_arr`` : object array of length nclusters; entry i is + either a (ncomp, ncols) float32 array or an empty + float32 array if cluster i fell back to diagonal. +- ``pca_explained_var_arr`` : object array of length nclusters, parallel to + ``pca_components_arr``; each entry is a (ncomp,) + float32 array. +- ``pca_noise_var`` : float32, shape (nclusters,) +- ``pca_n_components`` : int, scalar (the requested ncomp; actual ncomp per + cluster may be smaller if it had too few points). +- ``is_normalized_data`` : bool, scalar — whether the fit-time input was + detected as L2-unit-norm. Drives the default + ``normalize`` setting at generate/verify time. """ from __future__ import annotations import os import pickle +from typing import Any, Dict import numpy as np from ..generate_groundtruth.utils import memmap_bin_file +from ._fingerprint import Fingerprint def load_dataset( @@ -38,9 +59,7 @@ def load_dataset( sample_size : int or None If given and smaller than the on-disk row count, only the **first** ``sample_size`` rows are loaded (no shuffling). The caller is - responsible for ensuring the head-of-file slice is representative - (e.g. by pre-shuffling the dataset on disk if it has any structural - ordering). + responsible for ensuring the head-of-file slice is representative. dtype : numpy dtype Element dtype, used only for ``.fbin`` (the other formats carry their own dtype). Defaults to float32. @@ -74,35 +93,78 @@ def load_dataset( return np.ascontiguousarray(mm) -def is_l2_normalized( - data: np.ndarray, - sample_size: int = 10_000, - tol: float = 1e-2, - seed: int = 0, -) -> bool: - """Cheaply check whether ``data`` rows are L2-unit-norm. - - Samples up to ``sample_size`` rows uniformly at random and returns ``True`` - iff every sampled row has ``|‖x‖ - 1| < tol``. +def save_fingerprint(filepath: str, stats: Dict[str, Any]) -> None: + """Save a fitted cluster fingerprint to an NPZ file. Parameters ---------- - data : np.ndarray, shape (n, d) - Real-data slice to inspect. Empty input returns ``False``. - sample_size : int - Number of random rows to sample (default: 10000). Capped at - ``len(data)``. - tol : float - Allowed deviation of each row's L2 norm from 1.0 (default: 1e-2). - seed : int - RNG seed for the row sample (default: 0). Fixed so the detection is - deterministic for a given input. + filepath : str + Output path. Parent directories are created as needed. + stats : dict + Dict with keys produced by :func:`fit_cluster_stats`. """ - n = len(data) - if n == 0: - return False - rng = np.random.default_rng(seed) - take = min(sample_size, n) - idx = rng.choice(n, size=take, replace=False) - norms = np.linalg.norm(data[idx].astype(np.float32), axis=1) - return bool(np.all(np.abs(norms - 1.0) < tol)) + out_dir = os.path.dirname(filepath) + if out_dir: + os.makedirs(out_dir, exist_ok=True) + + n_clusters = len(stats["centroids"]) + + components_arr = np.empty(n_clusters, dtype=object) + explained_var_arr = np.empty(n_clusters, dtype=object) + + for i in range(n_clusters): + comp = stats["pca_components_list"][i] + ev = stats["pca_explained_var_list"][i] + if comp is not None: + components_arr[i] = comp + explained_var_arr[i] = ev + else: + # Diagonal-fallback marker: empty array. + components_arr[i] = np.array([], dtype=np.float32) + explained_var_arr[i] = np.array([], dtype=np.float32) + + np.savez( + filepath, + centroids=stats["centroids"], + densities=stats["densities"], + variances_per_dim=stats["variances_per_dim"], + pca_components_arr=components_arr, + pca_explained_var_arr=explained_var_arr, + pca_noise_var=stats["pca_noise_var"], + pca_n_components=np.array([stats["pca_n_components"]]), + is_normalized_data=np.array([bool(stats["is_normalized_data"])]), + ) + + +def load_fingerprint(filepath: str, seed: int) -> Fingerprint: + """Load a fitted cluster fingerprint from an NPZ file into a Fingerprint.""" + data = np.load(filepath, allow_pickle=True) + + n_clusters = len(data["centroids"]) + components_arr = data["pca_components_arr"] + explained_var_arr = data["pca_explained_var_arr"] + + pca_components_list = [] + pca_explained_var_list = [] + for i in range(n_clusters): + if len(components_arr[i]) > 0: + pca_components_list.append(components_arr[i]) + pca_explained_var_list.append(explained_var_arr[i]) + else: + pca_components_list.append(None) + pca_explained_var_list.append(None) + + centroids = data["centroids"] + return Fingerprint( + nclusters=int(centroids.shape[0]), + ncols=int(centroids.shape[1]), + seed=seed, + cluster_centers=centroids, + cluster_variances=data["variances_per_dim"], + cluster_densities=data["densities"].astype(np.float64), + pca_components_list=pca_components_list, + pca_explained_var_list=pca_explained_var_list, + pca_noise_var=data["pca_noise_var"], + pca_n_components=int(data["pca_n_components"][0]), + is_normalized_data=bool(data["is_normalized_data"][0]), + ) diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_stats_io.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_stats_io.py deleted file mode 100644 index 950d18c0e5..0000000000 --- a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_stats_io.py +++ /dev/null @@ -1,131 +0,0 @@ -# -# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION. -# SPDX-License-Identifier: Apache-2.0 -# -"""NPZ I/O for the cluster fingerprint. - -The fingerprint is a NPZ file holding -the output of the ``fit`` step. It is the only artifact passed between the -fit and generate steps. - -File schema ------------ -- ``centroids`` : float32, shape (nclusters, ncols) -- ``densities`` : float64, shape (nclusters,) -- ``variances_per_dim`` : float32, shape (nclusters, ncols) -- ``pca_components_arr`` : object array of length nclusters; entry i is - either a (ncomp, ncols) float32 array or an empty - float32 array if cluster i fell back to diagonal. -- ``pca_explained_var_arr`` : object array of length nclusters, parallel to - ``pca_components_arr``; each entry is a (ncomp,) - float32 array. -- ``pca_noise_var`` : float32, shape (nclusters,) -- ``pca_n_components`` : int, scalar (the requested ncomp; actual ncomp per - cluster may be smaller if it had too few points). -- ``is_normalized_data`` : bool, scalar — whether the fit-time input was - detected as L2-unit-norm. Drives the default - ``normalize`` setting at generate/verify time. -""" - -import os -from typing import Any, Dict - -import numpy as np - -from ._config import ClusterConfig - - -def save_cluster_stats(filepath: str, stats: Dict[str, Any]) -> None: - """Save a fitted cluster fingerprint to an NPZ file. - - Parameters - ---------- - filepath : str - Output path. Parent directories are created as needed. - stats : dict - Dict with keys produced by :func:`fit_cluster_stats` (see schema in - the module docstring). - """ - out_dir = os.path.dirname(filepath) - if out_dir: - os.makedirs(out_dir, exist_ok=True) - - n_clusters = len(stats["centroids"]) - - components_arr = np.empty(n_clusters, dtype=object) - explained_var_arr = np.empty(n_clusters, dtype=object) - - for i in range(n_clusters): - comp = stats["pca_components_list"][i] - ev = stats["pca_explained_var_list"][i] - if comp is not None: - components_arr[i] = comp - explained_var_arr[i] = ev - else: - # Diagonal-fallback marker: empty array. - components_arr[i] = np.array([], dtype=np.float32) - explained_var_arr[i] = np.array([], dtype=np.float32) - - np.savez( - filepath, - centroids=stats["centroids"], - densities=stats["densities"], - variances_per_dim=stats["variances_per_dim"], - pca_components_arr=components_arr, - pca_explained_var_arr=explained_var_arr, - pca_noise_var=stats["pca_noise_var"], - pca_n_components=np.array([stats["pca_n_components"]]), - is_normalized_data=np.array([bool(stats["is_normalized_data"])]), - ) - - -def load_cluster_stats(filepath: str) -> Dict[str, Any]: - """Load a fitted cluster fingerprint from an NPZ file. - - Returns a dict with the same shape as :func:`fit_cluster_stats`. - """ - data = np.load(filepath, allow_pickle=True) - - n_clusters = len(data["centroids"]) - components_arr = data["pca_components_arr"] - explained_var_arr = data["pca_explained_var_arr"] - - pca_components_list = [] - pca_explained_var_list = [] - for i in range(n_clusters): - if len(components_arr[i]) > 0: - pca_components_list.append(components_arr[i]) - pca_explained_var_list.append(explained_var_arr[i]) - else: - pca_components_list.append(None) - pca_explained_var_list.append(None) - - return { - "centroids": data["centroids"], - "densities": data["densities"], - "variances_per_dim": data["variances_per_dim"], - "pca_components_list": pca_components_list, - "pca_explained_var_list": pca_explained_var_list, - "pca_noise_var": data["pca_noise_var"], - "pca_n_components": int(data["pca_n_components"][0]), - "is_normalized_data": bool(data["is_normalized_data"][0]), - } - - -def cluster_config_from_stats( - stats: Dict[str, Any], seed: int -) -> ClusterConfig: - """Build a :class:`ClusterConfig` from a loaded stats dict.""" - centroids = stats["centroids"] - return ClusterConfig( - nclusters=int(centroids.shape[0]), - ncols=int(centroids.shape[1]), - seed=seed, - cluster_centers=centroids, - cluster_variances=stats["variances_per_dim"], - cluster_densities=stats["densities"].astype(np.float64), - pca_components_list=stats["pca_components_list"], - pca_explained_var_list=stats["pca_explained_var_list"], - pca_noise_var=stats["pca_noise_var"], - is_normalized_data=bool(stats["is_normalized_data"]), - ) diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_verify.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_verify.py index b0b0dd22e9..9846b95a5b 100644 --- a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_verify.py +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_verify.py @@ -2,77 +2,33 @@ # SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION. # SPDX-License-Identifier: Apache-2.0 # -"""Verify that the cluster-probing GT approximation is accurate enough. - -Generates queries from a synthetic dataset, computes both the cheap -nprobe GT and the exact GT, and reports recall of the former -against the latter. -""" +"""Verify that the cluster-probing GT approximation is accurate enough.""" from __future__ import annotations -from typing import List, Tuple - -import numpy as np -from ._config import ClusterConfig +from ..backends._utils import compute_recall +from ._fingerprint import Fingerprint +from ._generate import generate_queries from ._ground_truth import ( compute_groundtruth_exact, compute_groundtruth_nprobe, - generate_queries, ) -def _recall_with_ties( - pred_indices: np.ndarray, - pred_distances: np.ndarray, - gt_indices: np.ndarray, - gt_distances: np.ndarray, - rtol: float = 1e-5, - atol: float = 1e-5, -) -> Tuple[float, List[int]]: - """Recall@k that counts a tied distance as a match. - - Two indices at the same distance are interchangeable for ANN purposes, so - we count a hit when either the index matches or there exists a GT hit - with the same distance. - """ - nqueries, k = gt_indices.shape - matches = 0 - mismatched: List[int] = [] - - for i in range(nqueries): - gt_idx_set = set(gt_indices[i].tolist()) - gt_dists = gt_distances[i] - - per_query = 0 - for j in range(k): - p_idx = int(pred_indices[i, j]) - p_dist = float(pred_distances[i, j]) - if p_idx in gt_idx_set: - per_query += 1 - elif np.any(np.isclose(gt_dists, p_dist, rtol=rtol, atol=atol)): - per_query += 1 - matches += per_query - if per_query < k: - mismatched.append(i) - - return matches / (nqueries * k), mismatched - - def verify_groundtruth( - config: ClusterConfig, + config: Fingerprint, total_rows: int, nqueries: int, k: int, nprobes: int, metric: str = "sqeuclidean", ) -> dict: - """Compare nprobe GT vs exact GT at small scale. + """Compare nprobe GT vs exact GT. Parameters ---------- - config : ClusterConfig + config : Fingerprint total_rows : int Synthetic dataset size to verify against. nqueries : int @@ -85,9 +41,7 @@ def verify_groundtruth( Returns ------- dict with: - - ``recall``: tie-aware recall of nprobe GT against exact GT - - ``simple_recall``: naive index-set recall (no tie awareness) - - ``mismatched_queries``: indices of queries that didn't match + - ``recall``: recall of nprobe GT against exact GT - ``nprobe_timing``, ``exact_gt_timing``: per-step timing breakdowns """ print( @@ -102,7 +56,7 @@ def verify_groundtruth( config=config, ) - nprobe_idx, nprobe_dist, nprobe_timing = compute_groundtruth_nprobe( + nprobe_idx, _, nprobe_timing = compute_groundtruth_nprobe( queries=queries, total_rows=total_rows, config=config, @@ -111,7 +65,7 @@ def verify_groundtruth( metric=metric, ) - exact_idx, exact_dist, exact_gt_timing = compute_groundtruth_exact( + exact_idx, _, exact_gt_timing = compute_groundtruth_exact( queries=queries, total_rows=total_rows, config=config, @@ -119,26 +73,12 @@ def verify_groundtruth( metric=metric, ) - recall, mismatched = _recall_with_ties( - nprobe_idx, nprobe_dist, exact_idx, exact_dist - ) - - # Naive recall without tie awareness, useful as a sanity check. - simple_hits = 0 - for i in range(nqueries): - simple_hits += len(set(nprobe_idx[i]) & set(exact_idx[i])) - simple_recall = simple_hits / (nqueries * k) + recall = compute_recall(nprobe_idx, exact_idx, k) - print( - f" Recall (with ties): {recall:.4f} " - f"({len(mismatched)}/{nqueries} imperfect queries)" - ) - print(f" Recall (naive): {simple_recall:.4f}") + print(f" Recall: {recall:.4f}") return { "recall": recall, - "simple_recall": simple_recall, - "mismatched_queries": mismatched, "nprobe_timing": nprobe_timing, "exact_gt_timing": exact_gt_timing, "total_rows": total_rows, From 8fcb3b29851210ee3fdb8f3f7daf7e581dc510e4 Mon Sep 17 00:00:00 2001 From: jinsolp Date: Wed, 17 Jun 2026 00:26:27 +0000 Subject: [PATCH 08/10] cleanup readme --- .../generate_groundtruth/__main__.py | 4 - .../cuvs_bench/synthesize_dataset/README.md | 81 ++++++------------- .../cuvs_bench/synthesize_dataset/__main__.py | 4 +- 3 files changed, 26 insertions(+), 63 deletions(-) diff --git a/python/cuvs_bench/cuvs_bench/generate_groundtruth/__main__.py b/python/cuvs_bench/cuvs_bench/generate_groundtruth/__main__.py index 6008baf545..60fce2e97a 100644 --- a/python/cuvs_bench/cuvs_bench/generate_groundtruth/__main__.py +++ b/python/cuvs_bench/cuvs_bench/generate_groundtruth/__main__.py @@ -117,10 +117,6 @@ def choose_random_queries_with_jitter(dataset, n_queries, seed=12345): """Pick ``n_queries`` random rows from ``dataset``, add Gaussian jitter at scale ``0.1 * std(sample)``, and re-normalize to unit norm iff the original dataset rows already are. - - Mirrors the query-generation step of ``cuvs_bench.synthesize_dataset`` - (see ``_ground_truth.generate_queries``), but operates on a real on-disk - dataset memmap instead of a fingerprint. """ import numpy as _np diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/README.md b/python/cuvs_bench/cuvs_bench/synthesize_dataset/README.md index 9e57d198ef..52e5c8eb68 100644 --- a/python/cuvs_bench/cuvs_bench/synthesize_dataset/README.md +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/README.md @@ -2,11 +2,10 @@ Generates a synthetic dataset of arbitrary size from a small sample of a real dataset, for benchmarking vector indexes at scales (100M, 1B, 10B+) where the real dataset isn't available at the target size. Purely random vectors aren't a substitute — the clustering structure, neighbor density, and intrinsic dimensionality of real embeddings are what dominate ANN index behavior, and random data has none of those. -The synthetic dataset approximates the real dataset's behavior under ANN search rather than its raw vector content. When you build the same index on both and sweep the same search-effort knob (CAGRA's `itopk_size`, HNSW's `efSearch`, DiskANN's `L`, …), the recall–throughput Pareto curves track each other and relative algorithm rankings carry over. Distance values are not preserved; only the search trade-off is. +The synthetic dataset approximates the real dataset's behavior under ANN search rather than its raw vector content. When you build the same index on both and sweep the same search-effort knob (CAGRA's `itopk_size`, HNSW's `efSearch`, DiskANN's `L`, …), the recall–throughput Pareto curves track each other and relative algorithm rankings carry over. Ground truth is generated alongside the data and can be computed at any target size without storing the full dataset on disk. See [How it works](#how-it-works) for the mechanism. -The matching is index-agnostic. The approximated property is the data distribution itself, so the same fingerprint works whether you benchmark CAGRA, IVF-PQ, HNSW, DiskANN, or any other ANN index. # When to use this @@ -31,8 +30,9 @@ The `fit` step learns the small fingerprint highlighted in blue above. The `gene The `fit` step produces a single NPZ file holding only per-cluster aggregate statistics: - `centroids` — means over each cluster's points. -- `pca_components` — eigenvectors of the per-cluster residual covariance (linear functionals of the cluster, not raw rows). -- `pca_explained_var`, `pca_noise_var` — eigenvalues and residual variance scalars. +- `pca_components_arr` — eigenvectors of the per-cluster residual covariance (linear functionals of the cluster, not raw rows). +- `pca_explained_var_arr`, `pca_noise_var` — eigenvalues and residual variance scalars. +- `pca_n_components` — the requested number of PCA components. - `variances_per_dim` — per-dim variance per cluster. - `densities` — per-cluster point counts, normalized. - `is_normalized_data` — single bool: whether the fit-time input was L2-unit-norm. Drives whether the synthetic data is L2-normalized at `generate`/`verify` time so the output matches the real data's normalization. @@ -104,9 +104,9 @@ Supported input formats: `.fbin` (cuvs-bench layout), `.npy`, `.pkl`. `nprobes` is how many nearest clusters each ground-truth query probes when computing GT. We don't search the whole synthetic dataset for each query — that would be O(`total_rows`) per query and takes long at multi-billion scale. Instead, for each query we re-generate only the `nprobes` clusters whose centroids are closest to the query and run brute-force k-NN against just those points. -By construction `nprobes ≤ n_clusters` (probing more clusters than exist is meaningless). **Recommended starting point: `nprobes ≈ 5% of n_clusters`.** For the fit recipe in Step 1 (`n_clusters=10K` at 100M targets, `100K` at 1B), that lands at `nprobes=500` and `5000` respectively. Empirically this keeps Step 3's recall above 0.99, i.e. the cheap nprobe GT and the exact GT agree on more than 99% of true neighbors. Higher `nprobes` is more accurate but linearly more expensive at GT time, so this is the operating point where returns flatten. +By construction `nprobes ≤ n_clusters` (probing more clusters than exist is meaningless). **Recommended starting point: `nprobes ≈ 5% of n_clusters`.** For the fit recipe in Step 1 (`n_clusters=10K` at 100M targets, `100K` at 1B), that lands at `nprobes=500` and `5000` respectively. Empirically this keeps Step 3's recall above 0.999, i.e. the cheap nprobe GT and the exact GT agree on more than 99.9% of true neighbors. Higher `nprobes` is more accurate but linearly more expensive at GT time. -> **What "recall" means in this step.** The recall reported by `verify` is *internal to the GT pipeline* — it measures how well the cheap nprobe GT agrees with the exact streaming GT on a small dummy dataset built from the same fingerprint. It is **not** the recall of any ANN index you'll later benchmark on the synthetic data. That index recall is the thing Step 6 measures, and it's the actual quantity the whole synthetic pipeline is designed to preserve. Don't conflate the two. +> **What "recall" means in this step.** The recall reported by `verify` is *internal to the GT pipeline* — it measures how well the cheap nprobe GT agrees with the exact streaming GT. It is **not** the recall of any ANN index you'll later benchmark on the synthetic data. **`nprobes` requirements *shrink* with `total_rows`, not grow.** A fingerprint has a fixed `n_clusters`, so at larger `total_rows` each cluster holds proportionally more points (same `densities`, just more samples each). For a fixed `k`, a query's top-`k` true neighbors then concentrate in *fewer* nearby clusters than they would at a smaller scale — both because each cluster contributes more candidates and because the k-th nearest distance shrinks as overall density grows. So an `nprobes` calibrated at a small `total_rows` is a **safe upper bound** for the same fingerprint at larger target sizes — it can only over-probe at the larger scale, never under-probe. @@ -121,12 +121,12 @@ python -m cuvs_bench.synthesize_dataset verify \ --nprobes 500 # ~5% of n_clusters=10K ``` -If GT-vs-GT recall ≥ 0.99, that `nprobes` is safe to reuse in Step 4 at any larger `total_rows` — Step 3 conservatively over-estimates what you actually need at scale, so the value carries over without re-tuning. If recall is lower, bump `nprobes` and re-run Step 3 (cheap). Do this once per fingerprint — it's much cheaper than re-running the expensive generation step with a wrong `nprobes`. +If GT-vs-GT recall ≥ 0.999, that `nprobes` is safe to reuse in Step 4 at any larger `total_rows` — Step 3 conservatively over-estimates what you actually need at scale, so the value carries over without re-tuning. If recall is lower, bump `nprobes` and re-run Step 3 (cheap). ### Step 4 — Generate the synthetic dataset + queries + GT #### **Option 1 (Fast path): nprobe GT.** -Uses the `nprobes` you settled on in Step 3 — only the `nprobes` clusters nearest each query are regenerated and brute-forced. As mentioned in the previous step, using about 5% of `n_clusters` is a safe heuristic to reach ≥ 0.999. +Uses the `nprobes` you settled on in Step 3 — only the `nprobes` clusters nearest each query are regenerated and brute-forced. As mentioned in the previous step, using about 5% of `n_clusters` is a good heuristic to reach ≥ 0.999. ```bash python -m cuvs_bench.synthesize_dataset generate \ @@ -213,7 +213,7 @@ The run drops results under `$RAPIDS_DATASET_ROOT_DIR//result/{bui ### Step 7 — *(Optional validation)* Compare against the real dataset -If you *also* have the real dataset at the same `total_rows`, you can validate that the synthetic-data benchmark numbers are a faithful stand-in for the real ones. The recall-vs-throughput Pareto curves are the right thing to compare — if the synthetic dataset is doing its job, both curves should overlap closely across the algorithms you ran. Repeat Steps 5–6 with the real dataset, then compare. +If you *also* have the real dataset at the same `total_rows`, you can validate that the synthetic-data benchmark numbers are a faithful stand-in for the real ones. If the synthetic dataset is built with the right parameters, both curves should overlap closely across the algorithms you ran. Repeat Steps 5–6 with the real dataset, then compare. > **Use random-jitter queries on the real dataset too.** The synthetic dataset's queries are random-jitter by construction (sampled from the data and perturbed with a small Gaussian — see [Query generation](#query-generation-random-jitter)), so the synthetic benchmark already measures index behavior under a *data-query distribution* where queries sit on the data manifold. To make the real-vs-synth comparison apples-to-apples, the real dataset's queries should follow the same scheme — otherwise you'd be comparing two different query distributions on top of two different data distributions, and any gap in the curves could be either effect. Generate them with: > @@ -230,48 +230,6 @@ If you *also* have the real dataset at the same `total_rows`, you can validate t > > If the real dataset already ships with a fixed benchmark query set you specifically want to evaluate on, you can use that instead — but the comparison is then no longer a clean test of the data-distribution match alone, so you'll likely need to **re-tune the synthetic fingerprint** (loop back to Step 1). Do the tuning *at parity* — generate the synthetic dataset at the same `total_rows` as the real dataset, plot real-vs-synth, and adjust the knobs until the curves overlap before scaling `--total_rows` up. This is the same loop the [Sanity check before scaling up](#sanity-check-before-scaling-up) paragraph below describes. -**1. Register the real dataset** alongside the synthetic one (same `my_datasets.yaml`, same `$RAPIDS_DATASET_ROOT_DIR/`): - -```text -$RAPIDS_DATASET_ROOT_DIR/ -├── my_real_data/ # ← your original real dataset -│ ├── base.fbin -│ ├── query.fbin -│ └── groundtruth.neighbors.ibin -└── my_real_data_synth_100M/ - └── … -``` - -```yaml -- name: my_real_data - dims: 768 - distance: euclidean - base_file: my_real_data/base.fbin - query_file: my_real_data/query.fbin - groundtruth_neighbors_file: my_real_data/groundtruth.neighbors.ibin -``` - -**2. Run and plot the same algorithms on the real dataset:** - -```bash -python -m cuvs_bench.run \ - --dataset my_real_data \ - --dataset-path $RAPIDS_DATASET_ROOT_DIR \ - --dataset-configuration ./my_datasets.yaml \ - --algorithms cuvs_cagra,cuvs_ivf_pq,hnswlib \ - --build --search - -python -m cuvs_bench.plot \ - --dataset my_real_data \ - --dataset-path $RAPIDS_DATASET_ROOT_DIR \ - --algorithms cuvs_cagra,cuvs_ivf_pq,hnswlib \ - --output-filepath ./plots/ -``` - -**3. Compare the two Pareto curves.** Place the two PNGs side-by-side and inspect: per-algorithm curves should be visually close, and *relative* algorithm rankings (which algorithm wins at which recall bucket) should be identical. That's the property the matching metric guarantees. - -For a single overlaid plot, load the search CSVs directly — they live at `$RAPIDS_DATASET_ROOT_DIR//result/search/.csv` and contain `recall`, `qps`, and per-config columns. Plot the real curve in solid and the synthetic in dashed on the same axes. - #### Sanity check before scaling up For your first comparison run, generate the synthetic dataset *at parity* — i.e. at the **same `total_rows` as the real dataset** (set `--total_rows` in Step 4 to the real row count, so SF=100 still holds for your fitting sample). At parity the only difference between the two benchmark runs is real-vs-synth data, not size-vs-size, so any gap between the Pareto curves is cleanly attributable to the fingerprint. If the curves don't match at parity, increasing `total_rows` won't fix it — go back to Step 1 and revisit the fingerprint knobs (`ncomp`, `n_clusters`, `sample_size`). Once they match at parity, scale `--total_rows` up freely. @@ -294,7 +252,8 @@ In the plots below, **SS** = *sample size* (rows from the real dataset used to f python -m cuvs_bench.synthesize_dataset generate \ --stats path/to/falcon_10M_nc100000_ncomp32_fingerprint.npz \ --total_rows 960000000 \ - --gt_mode exact + --gt_mode exact \ + --output_dir synthetic_falcon_960M/ ``` @@ -308,7 +267,8 @@ python -m cuvs_bench.synthesize_dataset generate \ python -m cuvs_bench.synthesize_dataset generate \ --stats path/to/bigann_10M_nc100000_ncomp32_fingerprint.npz \ --total_rows 1000000000 \ - --gt_mode exact + --gt_mode exact \ + --output_dir synthetic_bigann_1B/ ``` @@ -322,7 +282,8 @@ python -m cuvs_bench.synthesize_dataset generate \ python -m cuvs_bench.synthesize_dataset generate \ --stats path/to/wiki_880K_nc8800_ncomp32_fingerprint.npz \ --total_rows 88000000 \ - --gt_mode exact + --gt_mode exact \ + --output_dir synthetic_wiki_88M/ ``` @@ -345,9 +306,15 @@ The CLI is a thin wrapper. For programmatic use: ```python from cuvs_bench.synthesize_dataset import ( - fit_cluster_stats, save_cluster_stats, load_cluster_stats, - cluster_config_from_stats, generate_synthetic_dataset, - generate_queries, compute_groundtruth_nprobe, verify_groundtruth, + Fingerprint, + fit_cluster_stats, + save_fingerprint, + load_fingerprint, + generate_synthetic_dataset, + generate_queries, + compute_groundtruth_nprobe, + compute_groundtruth_exact, + verify_groundtruth, ) ``` diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/__main__.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/__main__.py index ef627b061a..e261f9dcce 100644 --- a/python/cuvs_bench/cuvs_bench/synthesize_dataset/__main__.py +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/__main__.py @@ -76,13 +76,13 @@ def _add_fit_parser(subparsers: argparse._SubParsersAction) -> None: "--n_clusters", type=int, required=True, - help="Number of KMeans clusters (the `nc` parameter).", + help="Number of KMeans clusters.", ) p.add_argument( "--pca_components", type=int, required=True, - help="Number of PCA components per cluster (the `ncomp` parameter).", + help="Number of PCA components per cluster.", ) p.add_argument( "--seed", From bbbcfe5e29abf32d563ec34d09c08a914f430f0a Mon Sep 17 00:00:00 2001 From: jinsolp Date: Thu, 25 Jun 2026 20:40:47 +0000 Subject: [PATCH 09/10] norm quantiles --- .../generate_groundtruth/__main__.py | 15 ++--- .../cuvs_bench/generate_groundtruth/utils.py | 21 ------ .../cuvs_bench/synthesize_dataset/__init__.py | 2 + .../cuvs_bench/synthesize_dataset/__main__.py | 10 ++- .../synthesize_dataset/_fingerprint.py | 18 +++-- .../cuvs_bench/synthesize_dataset/_fit.py | 65 +++++++++++++++---- .../synthesize_dataset/_generate.py | 54 +++++++++++---- .../synthesize_dataset/_ground_truth.py | 6 +- .../cuvs_bench/synthesize_dataset/_io.py | 27 ++++++-- 9 files changed, 144 insertions(+), 74 deletions(-) diff --git a/python/cuvs_bench/cuvs_bench/generate_groundtruth/__main__.py b/python/cuvs_bench/cuvs_bench/generate_groundtruth/__main__.py index 60fce2e97a..68a86a33b5 100644 --- a/python/cuvs_bench/cuvs_bench/generate_groundtruth/__main__.py +++ b/python/cuvs_bench/cuvs_bench/generate_groundtruth/__main__.py @@ -11,7 +11,6 @@ from .utils import ( add_jitter, - is_l2_normalized, groundtruth_neighbors_filename, memmap_bin_file, offset_neighbor_indices, @@ -114,9 +113,8 @@ def choose_random_queries(dataset, n_queries): def choose_random_queries_with_jitter(dataset, n_queries, seed=12345): - """Pick ``n_queries`` random rows from ``dataset``, add Gaussian jitter at - scale ``0.1 * std(sample)``, and re-normalize to unit norm iff the - original dataset rows already are. + """Pick ``n_queries`` random rows from ``dataset`` and add Gaussian jitter + at scale ``0.1 * std(sample)``. """ import numpy as _np @@ -127,9 +125,7 @@ def choose_random_queries_with_jitter(dataset, n_queries, seed=12345): query_idx = _np.sort(rng.choice(n_rows, size=n_queries, replace=False)) sampled = dataset[query_idx, :].astype(_np.float32, copy=True) - normalize = is_l2_normalized(sampled) - - return add_jitter(sampled, rng, normalize) + return add_jitter(sampled, rng, normalize=False) def cpu_search(dataset, queries, k, metric="squeclidean"): @@ -284,9 +280,8 @@ def main(): help="Queries file name, or one of 'random-choice', 'random-jitter', " "or 'random' (default). 'random-choice': select n_queries vectors " "from the input dataset. 'random-jitter': same as 'random-choice', " - "but add std-relative Gaussian noise to each query and re-normalize " - "if the dataset rows are unit-norm. 'random': generate n_queries " - "as uniform random numbers.", + "but add std-relative Gaussian noise to each query. 'random': generate " + "n_queries as uniform random numbers.", ) parser.add_argument( "--output", diff --git a/python/cuvs_bench/cuvs_bench/generate_groundtruth/utils.py b/python/cuvs_bench/cuvs_bench/generate_groundtruth/utils.py index f6a62361d3..b46c9ed84e 100644 --- a/python/cuvs_bench/cuvs_bench/generate_groundtruth/utils.py +++ b/python/cuvs_bench/cuvs_bench/generate_groundtruth/utils.py @@ -10,27 +10,6 @@ from cuvs_bench._bin_format import read_bin_header, write_bin_header -def is_l2_normalized( - data, - sample_size: int = 10_000, - tol: float = 1e-2, - seed: int = 0, -) -> bool: - """Cheaply check whether ``data`` rows are L2-unit-norm. - - Samples up to ``sample_size`` rows uniformly at random and returns ``True`` - iff every sampled row has ``|‖x‖ - 1| < tol``. - """ - n = len(data) - if n == 0: - return False - rng = np.random.default_rng(seed) - take = min(sample_size, n) - idx = rng.choice(n, size=take, replace=False) - norms = np.linalg.norm(data[idx].astype(np.float32), axis=1) - return bool(np.all(np.abs(norms - 1.0) < tol)) - - def add_jitter( queries: np.ndarray, rng: np.random.Generator, diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/__init__.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/__init__.py index 741dcaddd1..55f62eff21 100644 --- a/python/cuvs_bench/cuvs_bench/synthesize_dataset/__init__.py +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/__init__.py @@ -12,6 +12,7 @@ generate_synthetic_dataset_to_file, get_cluster_seed, get_num_points_per_cluster, + resolve_norm_scheme, ) from ._ground_truth import ( compute_groundtruth_exact, @@ -35,6 +36,7 @@ "generate_synthetic_dataset_to_file", "get_cluster_seed", "get_num_points_per_cluster", + "resolve_norm_scheme", "save_fingerprint", "verify_groundtruth", ] diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/__main__.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/__main__.py index e261f9dcce..373e87c1d1 100644 --- a/python/cuvs_bench/cuvs_bench/synthesize_dataset/__main__.py +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/__main__.py @@ -22,7 +22,11 @@ from ..generate_groundtruth.utils import write_bin from ._fit import fit_cluster_stats -from ._generate import generate_queries, generate_synthetic_dataset_to_file +from ._generate import ( + generate_queries, + generate_synthetic_dataset_to_file, + resolve_norm_scheme, +) from ._ground_truth import ( compute_groundtruth_nprobe, compute_groundtruth_exact, @@ -231,7 +235,7 @@ def _cmd_generate(args: argparse.Namespace) -> int: print( f" {config.nclusters} clusters, {config.ncols} dims, " f"ncomp={config.pca_n_components}, " - f"is_normalized_data={config.is_normalized_data} (from fit)" + f"norm_scheme={resolve_norm_scheme(config)} " ) os.makedirs(args.output_dir, exist_ok=True) @@ -299,7 +303,7 @@ def _cmd_verify(args: argparse.Namespace) -> int: ) print( f" {config.nclusters} clusters, {config.ncols} dims, " - f"is_normalized_data={config.is_normalized_data} (from fit)" + f"norm_scheme={resolve_norm_scheme(config)}" ) result = verify_groundtruth( diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_fingerprint.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_fingerprint.py index 6f8db304de..d6533eb80b 100644 --- a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_fingerprint.py +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_fingerprint.py @@ -44,10 +44,17 @@ class Fingerprint: pca_n_components : int The requested number of PCA components per cluster as specified at fit time. - is_normalized_data : bool - Whether the fit-time real-data slice was detected as L2-unit-norm. - ``generate``, ``verify``, and the streaming - GT routines use this to decide whether to re-normalize the synthetic output. + norm_quantiles : np.ndarray, optional + Per-cluster empirical inverse-CDF of the real vector norms, shape + ``(nclusters, 256)`` -- one 256-point quantile grid per cluster, + produced at fit time. Used by the ``"percentile"`` norm scheme to draw + a per-vector target norm via inverse-CDF sampling from that vector's + cluster grid, so each cluster reproduces its own real radial spread. + ``None`` for grid-less fingerprints (those fall back to ``"off"`` norm + rescaling at generate time. + norm_unit : bool + Set at fit time when the real vectors are essentially unit-norm. Generation + L2-normalizes instead of inverse-CDF sampling using norm_quantiles. """ nclusters: int @@ -62,7 +69,8 @@ class Fingerprint: pca_noise_var: np.ndarray pca_n_components: int - is_normalized_data: bool + norm_quantiles: Optional[np.ndarray] = None + norm_unit: bool = False def __post_init__(self): total = float(self.cluster_densities.sum()) diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_fit.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_fit.py index 88e4e7b107..c21ba036a2 100644 --- a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_fit.py +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_fit.py @@ -10,6 +10,8 @@ the cluster's residuals, capturing the dominant intra-cluster correlations. 3. Estimate a residual noise variance per cluster (the variance not captured by the top-``ncomp`` components). +4. Compute a per-cluster norm inverse-CDF (quantile grid) if needed, which is stored as + ``norm_quantiles`` and used by the "percentile" norm scheme at generate time. The output dict can be saved with :func:`save_fingerprint`. """ @@ -25,7 +27,12 @@ from cuvs.preprocessing import pca as cuvs_pca from tqdm import tqdm -from ..generate_groundtruth.utils import is_l2_normalized +# Number of points in each per-cluster norm inverse-CDF quantile grid. +_NORM_QUANTILE_COUNT = 256 + +# Tolerance for checking if the real vectors are essentially unit-norm (mean ~1, tiny spread). +_NORM_UNIT_MEAN_TOL = 0.02 +_NORM_UNIT_CV_TOL = 0.05 def _run_kmeans( @@ -104,22 +111,40 @@ def fit_cluster_stats( ``pca_explained_var_list`` : list of (ncomp,) float32 arrays or None ``pca_noise_var`` : (n_clusters,) float32 ``pca_n_components`` : int (the requested ncomp) - ``is_normalized_data`` : bool — whether the fit input was - already L2-unit-norm. ``generate`` and - ``verify`` use this to default their - ``normalize`` setting. + ``norm_quantiles`` : (n_clusters, 256) float32 — per-cluster + empirical inverse-CDF of the real vector + norms. """ n_dim = data.shape[1] data_sample = np.ascontiguousarray(data.astype(np.float32)) - is_normalized_data = is_l2_normalized(data_sample) - print( - "Detected input as " - + ("L2-normalized" if is_normalized_data else "non-L2-normalized") - + " (sampled rows have norms " - + ("≈ 1.0" if is_normalized_data else "≠ 1.0") - + ")." + # Norm quantiles for the "percentile" norm scheme at generate time + quantile_levels = np.linspace(0.0, 1.0, _NORM_QUANTILE_COUNT) + norms_gpu = cp.linalg.norm(cp.asarray(data_sample), axis=1) + data_sample_norms = cp.asnumpy(norms_gpu).astype(np.float32) + norm_mean = float(norms_gpu.mean()) + norm_cv = float(norms_gpu.std() / max(norm_mean, 1e-12)) + global_norm_quantiles = cp.asnumpy( + cp.quantile(norms_gpu, cp.asarray(quantile_levels)) + ).astype(np.float32) + del norms_gpu + cp.get_default_memory_pool().free_all_blocks() + + norm_unit = ( + abs(norm_mean - 1.0) <= _NORM_UNIT_MEAN_TOL + and norm_cv <= _NORM_UNIT_CV_TOL ) + if norm_unit: + print( + f" Real vector-norm distribution: mean={norm_mean:.4f}, " + f"CV={norm_cv:.4f} -> ~unit-norm; storing norm_unit flag " + ) + else: + print( + f" Real vector-norm distribution: mean={norm_mean:.4f}, " + f"CV={norm_cv:.4f} (stored as per-cluster " + f"{_NORM_QUANTILE_COUNT}-point quantile grids)." + ) labels, centroids = _run_kmeans(data_sample, n_clusters, seed) @@ -133,6 +158,11 @@ def fit_cluster_stats( pca_components_list: list = [] pca_explained_var_list: list = [] pca_noise_var = np.zeros(n_clusters, dtype=np.float32) + norm_quantiles = ( + None + if norm_unit + else np.empty((n_clusters, _NORM_QUANTILE_COUNT), dtype=np.float32) + ) for i in tqdm(range(n_clusters), desc="Per-cluster PCA"): mask = labels == i @@ -140,6 +170,14 @@ def fit_cluster_stats( n_points = len(cluster_points) densities[i] = n_points / len(data_sample) + if not norm_unit: + if n_points >= 1: + norm_quantiles[i] = np.quantile( + data_sample_norms[mask], quantile_levels + ).astype(np.float32) + else: + norm_quantiles[i] = global_norm_quantiles + if n_points < pca_components + 1: # Diagonal fallback: too few points for a rank-ncomp PCA. if n_points > 1: @@ -178,5 +216,6 @@ def fit_cluster_stats( "pca_explained_var_list": pca_explained_var_list, "pca_noise_var": pca_noise_var.astype(np.float32), "pca_n_components": int(pca_components), - "is_normalized_data": bool(is_normalized_data), + "norm_quantiles": norm_quantiles, + "norm_unit": norm_unit, } diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_generate.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_generate.py index 5ea63a684f..222b2dfb02 100644 --- a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_generate.py +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_generate.py @@ -36,12 +36,50 @@ def get_cluster_seed(base_seed: int, cluster_id: int) -> int: return base_seed * 1_000_000 + int(cluster_id) +def resolve_norm_scheme(config: Fingerprint) -> str: + """Norm-rescaling scheme for generation, derived purely from the fingerprint. + + - ``"unit"``: fit flagged the data as unit-norm -> L2-normalize (fast path). + - ``"percentile"``: fit stored a per-cluster norm-quantile grid -> each cluster + reproduces its own real radial spread via inverse-CDF sampling. + - ``"off"``: neither -> vectors keep their natural generated magnitude. + + Not a user knob -- it follows the fit. + """ + if getattr(config, "norm_unit", False): + return "unit" + has_quantiles = getattr(config, "norm_quantiles", None) is not None + return "percentile" if has_quantiles else "off" + + +def _rescale_to_scheme( + points: cp.ndarray, + scheme: str, + config: Fingerprint, + cluster_id: int, + rng: cp.random.RandomState, +) -> cp.ndarray: + if scheme == "off" or points.shape[0] == 0: + return points + + cur = cp.maximum(cp.linalg.norm(points, axis=1, keepdims=True), 1e-8) + if scheme == "unit": + return points / cur + + # "percentile": draw each vector's target norm from its cluster's inverse-CDF. + quantiles = cp.asarray(config.norm_quantiles[cluster_id], dtype=cp.float32) + u = rng.random_sample(size=points.shape[0], dtype=cp.float32) + grid = cp.linspace(0.0, 1.0, len(quantiles), dtype=cp.float32) + target = cp.interp(u, grid, quantiles).astype(cp.float32)[:, None] + + return points * (target / cur) + + def gen_cluster_gpu( cluster_id: int, n_points: int, config: Fingerprint, return_cupy: bool = True, - normalize: bool = True, ) -> ArrayLike: """Generate ``n_points`` points for one cluster on the GPU.""" center = cp.asarray(config.cluster_centers[cluster_id]) @@ -94,9 +132,8 @@ def gen_cluster_gpu( points *= scale points += center - if normalize: - norms = cp.linalg.norm(points, axis=1, keepdims=True) - points = points / cp.maximum(norms, 1e-8) + scheme = resolve_norm_scheme(config) + points = _rescale_to_scheme(points, scheme, config, cluster_id, rng) if return_cupy: return points @@ -148,7 +185,6 @@ def generate_synthetic_dataset( For very large ``total_points``, prefer :func:`generate_synthetic_dataset_to_file` to keep host RAM bounded. """ - normalize = bool(config.is_normalized_data) points_per_cluster = get_num_points_per_cluster(total_points, config) ncols = config.cluster_centers.shape[1] @@ -168,7 +204,6 @@ def generate_synthetic_dataset( n_points, config, return_cupy=False, - normalize=normalize, ) result[write_idx : write_idx + n_points] = cluster_points write_idx += n_points @@ -201,7 +236,6 @@ def generate_synthetic_dataset_to_file( if out_dir: os.makedirs(out_dir, exist_ok=True) - normalize = bool(config.is_normalized_data) points_per_cluster = get_num_points_per_cluster(total_points, config) ncols = int(config.cluster_centers.shape[1]) @@ -248,7 +282,6 @@ def _flush_async(f, buf_view: np.ndarray) -> None: n_points, config, return_cupy=False, - normalize=normalize, ) bufs[active_buf][buf_offset : buf_offset + n_points] = ( @@ -295,7 +328,7 @@ def generate_queries( deterministically, and grab the corresponding local index. Small Gaussian noise is added at the end to avoid exact-match recall artefacts. """ - normalize = bool(config.is_normalized_data) + scheme = resolve_norm_scheme(config) points_per_cluster = get_num_points_per_cluster(total_rows, config) cumsum = np.cumsum(points_per_cluster) @@ -326,9 +359,8 @@ def generate_queries( n_points, config, return_cupy=False, - normalize=normalize, ) for q_idx, local_idx in qlist: queries[q_idx] = cluster_points[local_idx] - return add_jitter(queries, rng, normalize) + return add_jitter(queries, rng, normalize=(scheme == "unit")) diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_ground_truth.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_ground_truth.py index 6b3421cab1..d5973313ef 100644 --- a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_ground_truth.py +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_ground_truth.py @@ -62,7 +62,6 @@ def compute_groundtruth_exact( Each cluster is regenerated, brute-forced against the queries, and the running top-k is merged. """ - normalize = bool(config.is_normalized_data) nqueries = len(queries) points_per_cluster = get_num_points_per_cluster(total_rows, config) cumsum = np.cumsum(points_per_cluster) @@ -84,7 +83,7 @@ def compute_groundtruth_exact( t0 = time.perf_counter() cluster_gpu = gen_cluster_gpu( - cluster_id, n_points, config, return_cupy=True, normalize=normalize + cluster_id, n_points, config, return_cupy=True ) total_gen_time += time.perf_counter() - t0 @@ -127,7 +126,6 @@ def compute_groundtruth_nprobe( """Cheap GT via cluster probing: only the ``nprobes`` nearest clusters per query are regenerated and searched. """ - normalize = bool(config.is_normalized_data) nqueries = len(queries) points_per_cluster = get_num_points_per_cluster(total_rows, config) cumsum = np.cumsum(points_per_cluster) @@ -166,7 +164,7 @@ def compute_groundtruth_nprobe( t0 = time.perf_counter() cluster_gpu = gen_cluster_gpu( - cluster_id, n_points, config, return_cupy=True, normalize=normalize + cluster_id, n_points, config, return_cupy=True ) total_gen_time += time.perf_counter() - t0 diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_io.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_io.py index c3f2495b10..ad6287594d 100644 --- a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_io.py +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_io.py @@ -22,9 +22,8 @@ - ``pca_noise_var`` : float32, shape (nclusters,) - ``pca_n_components`` : int, scalar (the requested ncomp; actual ncomp per cluster may be smaller if it had too few points). -- ``is_normalized_data`` : bool, scalar — whether the fit-time input was - detected as L2-unit-norm. Drives the default - ``normalize`` setting at generate/verify time. +- ``norm_quantiles`` : float32, shape (nclusters, 256) — per-cluster + empirical inverse-CDF of the real vector norms. """ from __future__ import annotations @@ -123,8 +122,7 @@ def save_fingerprint(filepath: str, stats: Dict[str, Any]) -> None: components_arr[i] = np.array([], dtype=np.float32) explained_var_arr[i] = np.array([], dtype=np.float32) - np.savez( - filepath, + to_save = dict( centroids=stats["centroids"], densities=stats["densities"], variances_per_dim=stats["variances_per_dim"], @@ -132,8 +130,14 @@ def save_fingerprint(filepath: str, stats: Dict[str, Any]) -> None: pca_explained_var_arr=explained_var_arr, pca_noise_var=stats["pca_noise_var"], pca_n_components=np.array([stats["pca_n_components"]]), - is_normalized_data=np.array([bool(stats["is_normalized_data"])]), + norm_unit=np.array([bool(stats.get("norm_unit", False))]), ) + # Unit-norm fingerprints carry no quantile grids (generation L2-normalizes). + if stats.get("norm_quantiles") is not None: + to_save["norm_quantiles"] = np.asarray( + stats["norm_quantiles"], dtype=np.float32 + ) + np.savez(filepath, **to_save) def load_fingerprint(filepath: str, seed: int) -> Fingerprint: @@ -155,6 +159,14 @@ def load_fingerprint(filepath: str, seed: int) -> Fingerprint: pca_explained_var_list.append(None) centroids = data["centroids"] + norm_quantiles = ( + np.asarray(data["norm_quantiles"], dtype=np.float32) + if "norm_quantiles" in data.files + else None + ) + norm_unit = ( + bool(data["norm_unit"][0]) if "norm_unit" in data.files else False + ) return Fingerprint( nclusters=int(centroids.shape[0]), ncols=int(centroids.shape[1]), @@ -166,5 +178,6 @@ def load_fingerprint(filepath: str, seed: int) -> Fingerprint: pca_explained_var_list=pca_explained_var_list, pca_noise_var=data["pca_noise_var"], pca_n_components=int(data["pca_n_components"][0]), - is_normalized_data=bool(data["is_normalized_data"][0]), + norm_quantiles=norm_quantiles, + norm_unit=norm_unit, ) From d144ecc838dd6002d0b7a211f48e9fbc4b13d91b Mon Sep 17 00:00:00 2001 From: jinsolp Date: Thu, 25 Jun 2026 22:23:46 +0000 Subject: [PATCH 10/10] coderabbit reviews --- .../generate_groundtruth/__main__.py | 2 +- .../cuvs_bench/synthesize_dataset/README.md | 23 ++++--- .../cuvs_bench/synthesize_dataset/__init__.py | 4 +- .../cuvs_bench/synthesize_dataset/__main__.py | 68 +++++++++++++++---- .../synthesize_dataset/_fingerprint.py | 12 ++++ .../cuvs_bench/synthesize_dataset/_fit.py | 4 +- .../synthesize_dataset/_generate.py | 23 +++++-- .../synthesize_dataset/_ground_truth.py | 17 +++++ .../cuvs_bench/synthesize_dataset/_io.py | 54 ++++++++++----- 9 files changed, 155 insertions(+), 52 deletions(-) diff --git a/python/cuvs_bench/cuvs_bench/generate_groundtruth/__main__.py b/python/cuvs_bench/cuvs_bench/generate_groundtruth/__main__.py index 68a86a33b5..7dd82d3955 100644 --- a/python/cuvs_bench/cuvs_bench/generate_groundtruth/__main__.py +++ b/python/cuvs_bench/cuvs_bench/generate_groundtruth/__main__.py @@ -381,7 +381,7 @@ def main(): ) queries_filename = os.path.join( - args.output, "queries" + suffix_from_dtype(dtype) + args.output, "queries" + suffix_from_dtype(queries.dtype) ) print("Writing queries file", queries_filename) write_bin(queries_filename, queries) diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/README.md b/python/cuvs_bench/cuvs_bench/synthesize_dataset/README.md index 52e5c8eb68..e7640e2cd3 100644 --- a/python/cuvs_bench/cuvs_bench/synthesize_dataset/README.md +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/README.md @@ -35,7 +35,8 @@ The `fit` step produces a single NPZ file holding only per-cluster aggregate sta - `pca_n_components` — the requested number of PCA components. - `variances_per_dim` — per-dim variance per cluster. - `densities` — per-cluster point counts, normalized. -- `is_normalized_data` — single bool: whether the fit-time input was L2-unit-norm. Drives whether the synthetic data is L2-normalized at `generate`/`verify` time so the output matches the real data's normalization. +- `norm_unit` — single bool: whether the fit-time input was (≈) L2-unit-norm. +- `norm_quantiles` — per-cluster norm inverse-CDF: a `(n_clusters, 256)` grid of the real vector-norm distribution within each cluster. At generate time each vector draws a target norm from its cluster's grid (inverse-CDF sampling), so the synthetic data reproduces each cluster's real *radial spread*. No individual row of the original data is stored anywhere in the fingerprint, and the synthetic data emitted at generate-time is `centroid + RNG`, never a copy of a real row. @@ -93,10 +94,10 @@ python -m cuvs_bench.synthesize_dataset fit \ --sample_size 1000000 \ --n_clusters 10000 \ --pca_components 32 \ - --output stats.npz + --output fingerprint.npz ``` -The output `stats.npz` can be reused for any target size. +The output `fingerprint.npz` can be reused for any target size. Supported input formats: `.fbin` (cuvs-bench layout), `.npy`, `.pkl`. @@ -114,7 +115,7 @@ Before paying for the full-scale generation, run the cheap nprobe GT against the ```bash python -m cuvs_bench.synthesize_dataset verify \ - --stats stats.npz \ + --fingerprint fingerprint.npz \ --total_rows 1000000 \ --n_queries 1000 \ --k 10 \ @@ -130,7 +131,7 @@ Uses the `nprobes` you settled on in Step 3 — only the `nprobes` clusters near ```bash python -m cuvs_bench.synthesize_dataset generate \ - --stats stats.npz \ + --fingerprint fingerprint.npz \ --total_rows 1000000000 \ --n_queries 10000 \ --k 10 \ @@ -144,7 +145,7 @@ Set `--gt_mode exact` for exact GT — every cluster is regenerated on the GPU a ```bash python -m cuvs_bench.synthesize_dataset generate \ - --stats stats.npz \ + --fingerprint fingerprint.npz \ --total_rows 1000000000 \ --n_queries 10000 \ --k 10 \ @@ -237,7 +238,7 @@ For your first comparison run, generate the synthetic dataset *at parity* — i. # Experiments -We plan to ship pre-fit fingerprints for three commonly-benchmarked datasets — **Falcon** (960M x 1024d), **BigANN** (1B x 128d), and **Wiki** (88M x 768d). Each will be a single `.npz` you can pass straight to Step 4 (`--stats .npz`) and skip Steps 1–3. The experiments below were produced with those fingerprints. +We plan to ship pre-fit fingerprints for three commonly-benchmarked datasets — **Falcon** (960M x 1024d), **BigANN** (1B x 128d), and **Wiki** (88M x 768d). Each will be a single `.npz` you can pass straight to Step 4 (`--fingerprint .npz`) and skip Steps 1–3. The experiments below were produced with those fingerprints. In the plots below, **SS** = *sample size* (rows from the real dataset used to fit the fingerprint in Steps 1–3) and **TS** = *target size* (`--total_rows` passed to Step 4, i.e. the number of synthetic rows generated). @@ -250,7 +251,7 @@ In the plots below, **SS** = *sample size* (rows from the real dataset used to f ```bash python -m cuvs_bench.synthesize_dataset generate \ - --stats path/to/falcon_10M_nc100000_ncomp32_fingerprint.npz \ + --fingerprint path/to/falcon_10M_nc100000_ncomp32_fingerprint.npz \ --total_rows 960000000 \ --gt_mode exact \ --output_dir synthetic_falcon_960M/ @@ -265,7 +266,7 @@ python -m cuvs_bench.synthesize_dataset generate \ ```bash python -m cuvs_bench.synthesize_dataset generate \ - --stats path/to/bigann_10M_nc100000_ncomp32_fingerprint.npz \ + --fingerprint path/to/bigann_10M_nc100000_ncomp32_fingerprint.npz \ --total_rows 1000000000 \ --gt_mode exact \ --output_dir synthetic_bigann_1B/ @@ -280,7 +281,7 @@ python -m cuvs_bench.synthesize_dataset generate \ ```bash python -m cuvs_bench.synthesize_dataset generate \ - --stats path/to/wiki_880K_nc8800_ncomp32_fingerprint.npz \ + --fingerprint path/to/wiki_880K_nc8800_ncomp32_fingerprint.npz \ --total_rows 88000000 \ --gt_mode exact \ --output_dir synthetic_wiki_88M/ @@ -307,7 +308,7 @@ The CLI is a thin wrapper. For programmatic use: ```python from cuvs_bench.synthesize_dataset import ( Fingerprint, - fit_cluster_stats, + fit_fingerprint, save_fingerprint, load_fingerprint, generate_synthetic_dataset, diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/__init__.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/__init__.py index 55f62eff21..34b92f6fc6 100644 --- a/python/cuvs_bench/cuvs_bench/synthesize_dataset/__init__.py +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/__init__.py @@ -4,7 +4,7 @@ # from ._fingerprint import Fingerprint -from ._fit import fit_cluster_stats +from ._fit import fit_fingerprint from ._generate import ( gen_cluster_gpu, generate_queries, @@ -29,7 +29,7 @@ "load_fingerprint", "compute_groundtruth_nprobe", "compute_groundtruth_exact", - "fit_cluster_stats", + "fit_fingerprint", "gen_cluster_gpu", "generate_queries", "generate_synthetic_dataset", diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/__main__.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/__main__.py index 373e87c1d1..da0f6e372d 100644 --- a/python/cuvs_bench/cuvs_bench/synthesize_dataset/__main__.py +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/__main__.py @@ -21,7 +21,7 @@ import numpy as np from ..generate_groundtruth.utils import write_bin -from ._fit import fit_cluster_stats +from ._fit import fit_fingerprint from ._generate import ( generate_queries, generate_synthetic_dataset_to_file, @@ -31,8 +31,8 @@ compute_groundtruth_nprobe, compute_groundtruth_exact, ) -from ._io import load_dataset from ._io import ( + load_dataset, load_fingerprint, save_fingerprint, ) @@ -71,9 +71,7 @@ def _add_fit_parser(subparsers: argparse._SubParsersAction) -> None: help=( "Use only the FIRST `sample_size` rows of the input " "(default: use entire input). No shuffling is performed, so " - "make sure the dataset's head-of-file slice is representative " - "(pre-shuffle the file beforehand if it has any structural " - "ordering, e.g. by class or time)." + "make sure the dataset's head-of-file slice is representative." ), ) p.add_argument( @@ -101,7 +99,9 @@ def _add_generate_parser(subparsers: argparse._SubParsersAction) -> None: "generate", help="Materialize a synthetic dataset + queries + GT from a fingerprint.", ) - p.add_argument("--stats", required=True, help="Path to fingerprint NPZ.") + p.add_argument( + "--fingerprint", required=True, help="Path to fingerprint NPZ." + ) p.add_argument( "--total_rows", type=int, @@ -167,7 +167,9 @@ def _add_verify_parser(subparsers: argparse._SubParsersAction) -> None: "a full-scale generate run using ``generate''." ), ) - p.add_argument("--stats", required=True, help="Path to fingerprint NPZ.") + p.add_argument( + "--fingerprint", required=True, help="Path to fingerprint NPZ." + ) p.add_argument( "--total_rows", type=int, @@ -209,7 +211,7 @@ def _cmd_fit(args: argparse.Namespace) -> int: data = load_dataset(args.dataset, sample_size=args.sample_size) print(f"Loaded data shape: {data.shape}") - stats = fit_cluster_stats( + fingerprint = fit_fingerprint( data=data, n_clusters=args.n_clusters, pca_components=args.pca_components, @@ -224,14 +226,19 @@ def _cmd_fit(args: argparse.Namespace) -> int: f"{stem}_nc{args.n_clusters}_ncomp{args.pca_components}" f"{ss_tag}_seed{args.seed}.npz" ) - save_fingerprint(output_path, stats) - print(f"Saved cluster fingerprint to {output_path}") + save_fingerprint(output_path, fingerprint) + print(f"Saved fingerprint to {output_path}") return 0 def _cmd_generate(args: argparse.Namespace) -> int: - print(f"Loading fingerprint from {args.stats}...") - config = load_fingerprint(args.stats, seed=args.seed) + print(f"Loading fingerprint from {args.fingerprint}...") + config = load_fingerprint(args.fingerprint, seed=args.seed) + if args.nprobes is not None and args.nprobes > config.nclusters: + sys.exit( + f"--nprobes ({args.nprobes}) must be <= the fingerprint's cluster " + f"count ({config.nclusters})." + ) print( f" {config.nclusters} clusters, {config.ncols} dims, " f"ncomp={config.pca_n_components}, " @@ -293,8 +300,13 @@ def _cmd_generate(args: argparse.Namespace) -> int: def _cmd_verify(args: argparse.Namespace) -> int: - print(f"Loading fingerprint from {args.stats}...") - config = load_fingerprint(args.stats, seed=args.seed) + print(f"Loading fingerprint from {args.fingerprint}...") + config = load_fingerprint(args.fingerprint, seed=args.seed) + if args.nprobes is not None and args.nprobes > config.nclusters: + sys.exit( + f"--nprobes ({args.nprobes}) must be <= the fingerprint's cluster " + f"count ({config.nclusters})." + ) nprobes = args.nprobes if nprobes is None: nprobes = max(1, round(config.nclusters * 0.05)) @@ -345,6 +357,34 @@ def main(argv: list[str] | None = None) -> int: _add_verify_parser(subparsers) args = parser.parse_args(argv) + + if args.command == "fit": + if args.sample_size is not None and args.sample_size <= 0: + parser.error( + f"--sample_size must be > 0 when provided " + f"(got {args.sample_size})." + ) + if args.n_clusters <= 0: + parser.error(f"--n_clusters must be > 0 (got {args.n_clusters}).") + if args.pca_components <= 0: + parser.error( + f"--pca_components must be > 0 (got {args.pca_components})." + ) + elif args.command in ("generate", "verify"): + if args.total_rows <= 0: + parser.error(f"--total_rows must be > 0 (got {args.total_rows}).") + if args.n_queries <= 0: + parser.error(f"--n_queries must be > 0 (got {args.n_queries}).") + if args.n_queries > args.total_rows: + parser.error( + f"--n_queries ({args.n_queries}) must be <= --total_rows " + f"({args.total_rows}) for sampling without replacement." + ) + if args.k <= 0: + parser.error(f"--k must be > 0 (got {args.k}).") + if args.nprobes is not None and args.nprobes <= 0: + parser.error(f"--nprobes must be > 0 (got {args.nprobes}).") + if args.command == "fit": return _cmd_fit(args) if args.command == "generate": diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_fingerprint.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_fingerprint.py index d6533eb80b..b555c706fe 100644 --- a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_fingerprint.py +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_fingerprint.py @@ -73,6 +73,18 @@ class Fingerprint: norm_unit: bool = False def __post_init__(self): + if self.cluster_densities.shape != (self.nclusters,): + raise ValueError( + f"cluster_densities shape {self.cluster_densities.shape} does " + f"not match expected ({self.nclusters},)." + ) + if not np.isfinite(self.cluster_densities).all(): + raise ValueError( + "cluster_densities must contain only finite values " + "(no NaN/Inf)." + ) + if (self.cluster_densities < 0).any(): + raise ValueError("cluster_densities must be non-negative.") total = float(self.cluster_densities.sum()) if total <= 0.0: raise ValueError("cluster_densities must sum to a positive value") diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_fit.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_fit.py index c21ba036a2..8fe86d57cc 100644 --- a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_fit.py +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_fit.py @@ -79,10 +79,12 @@ def _fit_cluster_pca( explained_var = cp.asnumpy(cp.asarray(out.explained_var)).astype( np.float32 ) + + del residuals_gpu, out return components, explained_var -def fit_cluster_stats( +def fit_fingerprint( data: np.ndarray, n_clusters: int, pca_components: int, diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_generate.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_generate.py index 222b2dfb02..3620f5469e 100644 --- a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_generate.py +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_generate.py @@ -37,14 +37,12 @@ def get_cluster_seed(base_seed: int, cluster_id: int) -> int: def resolve_norm_scheme(config: Fingerprint) -> str: - """Norm-rescaling scheme for generation, derived purely from the fingerprint. + """Norm-rescaling scheme for generation, derived from the fingerprint. - - ``"unit"``: fit flagged the data as unit-norm -> L2-normalize (fast path). + - ``"unit"``: fit flagged the data as unit-norm -> L2-normalize. - ``"percentile"``: fit stored a per-cluster norm-quantile grid -> each cluster reproduces its own real radial spread via inverse-CDF sampling. - ``"off"``: neither -> vectors keep their natural generated magnitude. - - Not a user knob -- it follows the fit. """ if getattr(config, "norm_unit", False): return "unit" @@ -132,6 +130,7 @@ def gen_cluster_gpu( points *= scale points += center + # rescale norm to match radial distribution scheme = resolve_norm_scheme(config) points = _rescale_to_scheme(points, scheme, config, cluster_id, rng) @@ -249,17 +248,29 @@ def generate_synthetic_dataset_to_file( buf_offset = 0 rows_written = 0 write_thread: threading.Thread | None = None + write_exception: Exception | None = None def _wait_for_write() -> None: - nonlocal write_thread + nonlocal write_thread, write_exception if write_thread is not None: write_thread.join() write_thread = None + if write_exception is not None: + exc = write_exception + write_exception = None + raise exc + + def _write_buffer(f, buf_view: np.ndarray) -> None: + nonlocal write_exception + try: + buf_view.tofile(f) + except Exception as exc: + write_exception = exc def _flush_async(f, buf_view: np.ndarray) -> None: nonlocal write_thread write_thread = threading.Thread( - target=lambda: buf_view.tofile(f), daemon=True + target=lambda: _write_buffer(f, buf_view), daemon=True ) write_thread.start() diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_ground_truth.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_ground_truth.py index d5973313ef..7f41c3887c 100644 --- a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_ground_truth.py +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_ground_truth.py @@ -62,6 +62,12 @@ def compute_groundtruth_exact( Each cluster is regenerated, brute-forced against the queries, and the running top-k is merged. """ + if total_rows <= 0: + raise ValueError(f"total_rows must be > 0, got {total_rows}.") + if not 1 <= k <= total_rows: + raise ValueError( + f"k must be in [1, total_rows]; got k={k}, total_rows={total_rows}. " + ) nqueries = len(queries) points_per_cluster = get_num_points_per_cluster(total_rows, config) cumsum = np.cumsum(points_per_cluster) @@ -126,6 +132,17 @@ def compute_groundtruth_nprobe( """Cheap GT via cluster probing: only the ``nprobes`` nearest clusters per query are regenerated and searched. """ + if total_rows <= 0: + raise ValueError(f"total_rows must be > 0, got {total_rows}.") + if not 1 <= k <= total_rows: + raise ValueError( + f"k must be in [1, total_rows]; got k={k}, total_rows={total_rows}. " + ) + if not 1 <= nprobes <= config.nclusters: + raise ValueError( + f"nprobes must be in [1, nclusters]; got nprobes={nprobes}, " + f"nclusters={config.nclusters}." + ) nqueries = len(queries) points_per_cluster = get_num_points_per_cluster(total_rows, config) cumsum = np.cumsum(points_per_cluster) diff --git a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_io.py b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_io.py index ad6287594d..6c1074a2ed 100644 --- a/python/cuvs_bench/cuvs_bench/synthesize_dataset/_io.py +++ b/python/cuvs_bench/cuvs_bench/synthesize_dataset/_io.py @@ -38,6 +38,20 @@ from ._fingerprint import Fingerprint +def _finalize_dataset(data: np.ndarray) -> np.ndarray: + """Validate a loaded dataset and return it as contiguous float32.""" + if data.ndim != 2: + raise ValueError( + f"dataset must be 2D (n_rows, n_cols); got ndim={data.ndim}, " + f"shape={data.shape}." + ) + if data.shape[1] == 0: + raise ValueError( + f"dataset must have n_cols > 0; got shape={data.shape}." + ) + return np.ascontiguousarray(data.astype(np.float32)) + + def load_dataset( path: str, sample_size: int | None = None, @@ -67,13 +81,19 @@ def load_dataset( ------- np.ndarray, shape (n, d) """ + + if sample_size is not None and sample_size <= 0: + raise ValueError( + f"sample_size must be > 0 when provided, got {sample_size}." + ) + ext = os.path.splitext(path)[1].lower() if ext == ".npy": data = np.load(path) if sample_size is not None and sample_size < len(data): data = data[:sample_size] - return np.ascontiguousarray(data.astype(np.float32)) + return _finalize_dataset(data) if ext == ".pkl": with open(path, "rb") as f: @@ -82,38 +102,38 @@ def load_dataset( data = np.array(data, dtype=np.float32) if sample_size is not None and sample_size < len(data): data = data[:sample_size] - return np.ascontiguousarray(data.astype(np.float32)) + return _finalize_dataset(data) # Default: treat as fbin (covers ".fbin" and unknown extensions). # memmap_bin_file auto-detects the legacy uint32 / extended uint64 header. mm = memmap_bin_file(path, dtype, mode="r") if sample_size is not None: mm = mm[:sample_size] - return np.ascontiguousarray(mm) + return _finalize_dataset(mm) -def save_fingerprint(filepath: str, stats: Dict[str, Any]) -> None: +def save_fingerprint(filepath: str, fingerprint: Dict[str, Any]) -> None: """Save a fitted cluster fingerprint to an NPZ file. Parameters ---------- filepath : str Output path. Parent directories are created as needed. - stats : dict - Dict with keys produced by :func:`fit_cluster_stats`. + fingerprint : dict + Dict with keys produced by :func:`fit_fingerprint`. """ out_dir = os.path.dirname(filepath) if out_dir: os.makedirs(out_dir, exist_ok=True) - n_clusters = len(stats["centroids"]) + n_clusters = len(fingerprint["centroids"]) components_arr = np.empty(n_clusters, dtype=object) explained_var_arr = np.empty(n_clusters, dtype=object) for i in range(n_clusters): - comp = stats["pca_components_list"][i] - ev = stats["pca_explained_var_list"][i] + comp = fingerprint["pca_components_list"][i] + ev = fingerprint["pca_explained_var_list"][i] if comp is not None: components_arr[i] = comp explained_var_arr[i] = ev @@ -123,19 +143,19 @@ def save_fingerprint(filepath: str, stats: Dict[str, Any]) -> None: explained_var_arr[i] = np.array([], dtype=np.float32) to_save = dict( - centroids=stats["centroids"], - densities=stats["densities"], - variances_per_dim=stats["variances_per_dim"], + centroids=fingerprint["centroids"], + densities=fingerprint["densities"], + variances_per_dim=fingerprint["variances_per_dim"], pca_components_arr=components_arr, pca_explained_var_arr=explained_var_arr, - pca_noise_var=stats["pca_noise_var"], - pca_n_components=np.array([stats["pca_n_components"]]), - norm_unit=np.array([bool(stats.get("norm_unit", False))]), + pca_noise_var=fingerprint["pca_noise_var"], + pca_n_components=np.array([fingerprint["pca_n_components"]]), + norm_unit=np.array([bool(fingerprint.get("norm_unit", False))]), ) # Unit-norm fingerprints carry no quantile grids (generation L2-normalizes). - if stats.get("norm_quantiles") is not None: + if fingerprint.get("norm_quantiles") is not None: to_save["norm_quantiles"] = np.asarray( - stats["norm_quantiles"], dtype=np.float32 + fingerprint["norm_quantiles"], dtype=np.float32 ) np.savez(filepath, **to_save)