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

Feature/multi-loader sweep #601

Open
wants to merge 11 commits into
base: main
Choose a base branch
from

Conversation

nosnelmil
Copy link
Contributor

@nosnelmil nosnelmil commented Feb 10, 2025

Summary

Introduce a sweep feature to the multi-loader, enabling users to easily sweep through different configuration values for experiments.

Implementation Notes ⚒️

  • A new field, Sweep, has been added to the multi-loader configuration, allowing users to define the fields they want to sweep through.
  • SweepOptions consists of Field, Values, and an optional Format for each sweep option.
  • A new optional field SweepType has been added to allow users to define the sweep method used. There are two methods for applying sweep options: grid and linear.
    • Grid: For each trace, all permutations of the sweep options are executed. For example, a configuration defining 2 traces, 2 sweep options with 3 values each, will result in 9 experiments per trace (2 traces × 2 sweep options × 3 values).
  • Linear: For each trace, sweep options are applied sequentially, one after the other, without permutations. Using the same example as above, this results in only 6 experiments. For instance:
    • Experiment 1: Trace 1 with the first value from the first sweep option, and the first value from the second sweep option.
    • Experiment 2: Trace 1 with the second value from the first sweep option, and the second value from the second sweep option.
    • ...
  • An optional Format field is provided in SweepOptions. This field accepts a string containing the placeholder {}, which will be replaced by the corresponding values during runtime.

External Dependencies 🍀

  • N/A

Breaking API Changes ⚠️

  • N/A

@nosnelmil nosnelmil changed the title Feature/ml sweep Feature/multi-loader sweep Feb 10, 2025
@leokondrashov
Copy link
Contributor

I think the math in the description doesn't add up. In the grid, two options with three values each would give 9 configuration per trace.

@nosnelmil
Copy link
Contributor Author

I think the math in the description doesn't add up. In the grid, two options with three values each would give 9 configuration per trace.

Yeap that's right, my mistake

@nosnelmil nosnelmil force-pushed the feature/ml-sweep branch 2 times, most recently from 7c29467 to dd04947 Compare February 12, 2025 07:00
Copy link
Contributor

@leokondrashov leokondrashov left a comment

Choose a reason for hiding this comment

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

Looks nice. Please see comments below.

Signed-off-by: Lenson <[email protected]>

add prescript and postscript to sweep fields

Signed-off-by: Lenson <[email protected]>

add sweep format option

Signed-off-by: Lenson <[email protected]>

add validation for reserved fields

Signed-off-by: Lenson <[email protected]>
Signed-off-by: Lenson <[email protected]>
Signed-off-by: Lenson <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants