Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add YAML config files to run parameter sweeps for ANN benchmarks #1929

Merged
merged 34 commits into from
Oct 31, 2023

Conversation

divyegala
Copy link
Member

@divyegala divyegala commented Oct 25, 2023

Also generate CUDA 12.0 development environments for bench-ann

@cjnolet cjnolet added improvement Improvement / enhancement to an existing function non-breaking Non-breaking change Vector Search labels Oct 25, 2023
@divyegala divyegala marked this pull request as ready for review October 28, 2023 00:45
@divyegala divyegala requested review from a team as code owners October 28, 2023 00:45
Copy link
Member

@cjnolet cjnolet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I haven't gone through the readme yet but so far everything else looks good. Mostly minor things in the help guides.

I'll review the docs when ready. Please also remember we need a copy/paste example of what a custom yaml file should look like. It doesn't have to be real, and doesn't have to include the validators since those should always be loaded first in the included configs. At least something that shows multiple groups an the association between a couple parameter names and values (for both build and search)

docs/source/raft_ann_benchmarks.md Outdated Show resolved Hide resolved
docs/source/raft_ann_benchmarks.md Show resolved Hide resolved
docs/source/raft_ann_benchmarks.md Outdated Show resolved Hide resolved
docs/source/raft_ann_benchmarks.md Show resolved Hide resolved
docs/source/raft_ann_benchmarks.md Outdated Show resolved Hide resolved
docs/source/raft_ann_benchmarks.md Outdated Show resolved Hide resolved
docs/source/raft_ann_benchmarks.md Outdated Show resolved Hide resolved
docs/source/raft_ann_benchmarks.md Outdated Show resolved Hide resolved
docs/source/raft_ann_benchmarks.md Outdated Show resolved Hide resolved

The table below contains the possible settings for the `algo` field. Each unique algorithm will have its own set of `build_param` and `search_params` settings. The [ANN Algorithm Parameter Tuning Guide](ann_benchmarks_param_tuning.md) contains detailed instructions on choosing build and search parameters for each supported algorithm.
There's several things going on here:
1. `groups` - define a run group which has a particular set of parameters. Each group has `build` parameters wherein a cross-product of all parameters will be used to build a unique index. Each group also has `search` parameters, and a cross-product of all search parameters will be used to search all unique indices that we create.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"cross-product of all hyper-parameter fields for build and search".

Can you please link out to the parameter tuning guide and mention that some parameters in the tuning guide are required, but otherwise don't need to be specified.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The tuning guide is linked in the sentence below

Copy link
Member

@cjnolet cjnolet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@cjnolet cjnolet requested a review from a team as a code owner October 31, 2023 03:15
@github-actions github-actions bot added the cpp label Oct 31, 2023
@rapids-bot rapids-bot bot merged commit 0d6597d into rapidsai:branch-23.12 Oct 31, 2023
57 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cpp improvement Improvement / enhancement to an existing function non-breaking Non-breaking change python Vector Search
Projects
Development

Successfully merging this pull request may close these issues.

3 participants