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

[MSC][M5.2] Enable quantize && prune with gym by wrapper #16702

Merged
merged 1 commit into from
Mar 13, 2024

Conversation

Archermmt
Copy link
Contributor

@Archermmt Archermmt commented Mar 11, 2024

This is a pull request for MSC(Multi-System Compile)
RFC: https://discuss.tvm.apache.org/t/rfc-unity-msc-introduction-to-multi-system-compiler/15251/5
Tracking issue: #15233

This is the Milestone 5 for MSC: Add MSCWrapper as compression toolchain.
To limit each PR in reviewable size, the Milestone 5 will be split into some steps:
[M5.1] Build wrapper to support compression.
[M5.2] Enable quantize && prune with gym by wrapper.
[M5.3] Support torch.dynamo for dynamic models.

Gym for msc works like autotvm to tvm. Gym use environment to evaluate compression strategy and agent will search the best strategy.

This PR:

  1. Refactor the gym system. The example of using gym for auto compression is: https://github.com/apache/tvm/blob/main/gallery/how_to/work_with_msc/using_tools.py, use python use_tools.py --prune --gym to test auto compression.
  2. Refactor the register for MSC objects, so that custom tools can be register for optimize the model.
  3. Enable export after run msc pipeline. The exported tar.gz package can be used for loading model

cc @Hzfengsy

@github-actions github-actions bot requested a review from Hzfengsy March 13, 2024 00:53
@Hzfengsy Hzfengsy merged commit 3b25697 into apache:main Mar 13, 2024
21 of 22 checks passed
thaisacs pushed a commit to thaisacs/tvm that referenced this pull request Apr 3, 2024
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