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

Implement pass search #1562

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

Implement pass search #1562

wants to merge 2 commits into from

Conversation

shaahji
Copy link
Contributor

@shaahji shaahji commented Jan 21, 2025

Implement pass search

Reimplement search logic to include passes in search space.

Checklist before requesting a review

  • Add unit tests for this change.
  • Make sure all tests can pass.
  • Update documents if necessary.
  • Lint and apply fixes to your code by running lintrunner -a
  • Is this a user-facing change? If yes, give a description of this change to be included in the release notes.
  • Is this PR including examples changes? If yes, please remember to update example documentation in a follow-up PR.

(Optional) Issue link

Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

examples/mobilenet/prepare_config.py Fixed Show fixed Hide fixed
olive/engine/engine.py Fixed Show fixed Hide fixed
olive/search/samplers/__init__.py Fixed Show fixed Hide fixed
olive/search/samplers/__init__.py Fixed Show fixed Hide fixed
olive/search/search_point.py Fixed Show fixed Hide fixed
olive/search/search_strategy.py Fixed Show fixed Hide fixed
olive/workflows/run/config.py Fixed Show fixed Hide fixed
test/unit_test/search/test_search_results.py Fixed Show fixed Hide fixed
test/unit_test/search/test_search_results.py Fixed Show fixed Hide fixed
test/unit_test/search/test_search_strategy.py Fixed Show resolved Hide resolved
@shaahji shaahji force-pushed the shaahji/pass_search branch 3 times, most recently from 64d4138 to 534a692 Compare January 21, 2025 22:47
olive/search/search_parameter.py Outdated Show resolved Hide resolved
olive/search/search_parameter.py Outdated Show resolved Hide resolved
olive/search/search_parameter.py Outdated Show resolved Hide resolved
olive/search/search_results.py Outdated Show resolved Hide resolved
olive/search/search_strategy.py Outdated Show resolved Hide resolved
olive/search/search_strategy.py Outdated Show resolved Hide resolved
examples/test/local/test_bert_cuda_gpu.py Show resolved Hide resolved
@xiaoyu-work
Copy link
Contributor

Can you also update documents related to your changes?

@shaahji shaahji force-pushed the shaahji/pass_search branch 2 times, most recently from 3e6fbfd to 457d3b7 Compare January 23, 2025 09:52
examples/bert/user_script.py Fixed Show fixed Hide fixed
examples/bert/user_script.py Fixed Show fixed Hide fixed
examples/bert/user_script.py Fixed Show fixed Hide fixed
test/unit_test/search/test_search_strategy.py Fixed Show fixed Hide fixed
@shaahji shaahji force-pushed the shaahji/pass_search branch 3 times, most recently from 58fa43e to d63c35a Compare January 23, 2025 10:31
@shaahji
Copy link
Contributor Author

shaahji commented Jan 23, 2025

Can you also update documents related to your changes?

Done!

examples/__init__.py Outdated Show resolved Hide resolved
examples/bert/bert.py Outdated Show resolved Hide resolved
examples/llama2/llama2.py Outdated Show resolved Hide resolved
@shaahji shaahji force-pushed the shaahji/pass_search branch from d63c35a to 1b6914a Compare January 28, 2025 00:17
@shaahji shaahji force-pushed the shaahji/pass_search branch 2 times, most recently from 3763cb4 to e8cc85f Compare January 29, 2025 17:08
.lintrunner.toml Show resolved Hide resolved
docs/architecture.md Show resolved Hide resolved
olive/search/search_space.py Outdated Show resolved Hide resolved
@xiaoyu-work
Copy link
Contributor

Without pass flow, how can we handle the pass search? Like pass: [[A,C],[B,C]]

@shaahji shaahji force-pushed the shaahji/pass_search branch from e8cc85f to ff82360 Compare January 30, 2025 20:59
@shaahji
Copy link
Contributor Author

shaahji commented Jan 30, 2025

Without pass flow, how can we handle the pass search? Like pass: [[A,C],[B,C]]

Pass flows allowed for explicit order of passes to search over. This is replaced with a more generic version of pass search which takes both passes and individual pass parameters into account when building the search space. In the process, what is lost if the ability to use a single Olive config to make multiple workflows, like the example you presented in your question. That specific use case was more a side-effect of the pass flows implementation rather than by design.

* Relax version of bitsandbytes
* Add triton to requirements
* Few fixes for using newer version of torch
Reimplement search logic to include passes in search space.
@shaahji shaahji force-pushed the shaahji/pass_search branch from ff82360 to cbea429 Compare January 31, 2025 01:03
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.

3 participants