Skip to content
This repository has been archived by the owner on Sep 18, 2024. It is now read-only.

Candidate Issues for stabilization sprint #5106

Closed
13 of 22 tasks
scarlett2018 opened this issue Sep 2, 2022 · 4 comments
Closed
13 of 22 tasks

Candidate Issues for stabilization sprint #5106

scarlett2018 opened this issue Sep 2, 2022 · 4 comments

Comments

@scarlett2018
Copy link
Member

scarlett2018 commented Sep 2, 2022

We plan to have a minor sprint for stabilization, the purpose of the sprint is to work on tech debt, bugs, CICD, etc. No new features are expected. By introducing this minor sprint, we give everyone a pause for the next big release, enjoy the minor sprint =)!

https://github.com/microsoft/nni/labels/v2.9.1

Release manager: @Louis-J
Release start date: TBD
Feature freeze date (at most 30 days): 10.14
Code freeze date: 10.17
First test package (1 week since feature freeze): 10.18
Release date (3 weeks since feature freeze): TBD 11.14

Training Service

HPO

NAS

Model Compression

ModelSpeedup

WebUI

@J-shang
Copy link
Contributor

J-shang commented Sep 16, 2022

Compression

Speedup

- #5104

Example

- #5037
- #5019
- #4818

Training Service

@matluster
Copy link

Candidate items for v3.0

I can't edit the Word document. :(

  • API (breaking) change and code refactor of nas.nn and nas.experiment. Benefits include:

    • Incidentally rename retiarii to nas.
    • Code-base will be much simpler, more readable and maintainable.
    • Writing search space:
      • Support mutable types other than choice, e.g., uniform, normal.
      • Support constraints between parameters, e.g., a + b < 2.
      • Support annotation of search space, e.g., some choices constitute a DAG.
      • Static mutable types (e.g, choice), are promoted as a first-class citizen. Mutator will be a special kind of mutable.
      • Prettify model space interface. @model_wrapper and @basic_unit will be removed, in favor of ModelSpace and BasicUnit.
      • import nni.nas.nn.pytorch as nn is no longer required.
    • Strategy-related:
      • Symbolic execution engine as a utility, in preparation of hardware-aware NAS.
      • Unified search space format simplifies the programming of strategies.
    • Execution:
      • Python execution engine is promoted as a first-class citizen.
      • Support single-process mode. Training service is no longer a must for execution engine.
    • Experiment:
      • Rewrite interface of exp.__init__ and exp.run, to align with nni.Experiment.
      • Systematically support the "checkpoint" of a experiment.
    • Debuggability:
      • Export summary of search space for every submodule.
      • Ability to freeze any submodule to any specific architecture.
      • Validation of sampled architecture.
      • Ability to run sampled models in one single process, sequentially.
  • Refactor hardware-aware NAS. Benefits:

    • Converting to Graph IR will be no longer required.
    • Latency queries will be greatly accelerated.
  • [Maybe 3.1] Composition of strategy. Some challenges:

    • Chain two individual strategies in one experiment.
    • "Finetune":
      • Resume a previous experiment with another (different) strategy.
      • Use the (partial) results from a previous (different) strategy.
    • Use two strategies in parallel.
    • Strategy middleware:
      • Filter the submission of one strategy with another.
      • Bring about early-stop, successive halving, etc.
  • [Need help] Evaluation of existing strategies and models.

    • On ImageNet.
    • On non-image-classification tasks.

@nnzs9248
Copy link

p1 - ~~a bug in speedup replace_module: #4991. @Louis-J ~10/10~~

any progress in this?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

7 participants