[FEA] BSDG: Add Stratify option
Nobody has claimed this yet.
- Dominant language
- Cuda
- Stars
- 854
- Forks
- 236
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 62
Description
BSDG (Billion Scale Data Generator)
Open-sourced version in cuvs bench currently generates the synthetic dataset cluster by cluster, and returns/saves dataset in that order.
Add a stratify option so users can get a shuffled version of the dataset.
We may need to redundantly generate each cluster multiple times to do this.
Existing Method:
- Generate cluster 0 (N_0 vectors) -> write to disk
- Generate cluster 1 (N_1 vectors) -> write to disk
...
Stratify Option (example):
data_len = 0
while data_len < N:
for c in clusters:
c_data = gen_cluster(c)
f.flush(pick_new_rows(c_data, c)) # we just grab a few rows that we haven't added to the data so far
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating BSDG in the cuvs bench code and reading the existing cluster-by-cluster generation and dataset-writing flow. The work is done when a stratify option produces the requested shuffled dataset without changing the generated row count; the issue does not name a test or specific file to run.
Written by the indexing model from the issue text.
Assessment
- Domain
- data, machine-learning
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100