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

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Retiarii Roadmap #3301

Closed
4 of 19 tasks
QuanluZhang opened this issue Jan 13, 2021 · 0 comments
Closed
4 of 19 tasks

Retiarii Roadmap #3301

QuanluZhang opened this issue Jan 13, 2021 · 0 comments
Assignees
Labels
NAS 2.0 issues and pull requests for Retiarii nnidev

Comments

@QuanluZhang
Copy link
Contributor

QuanluZhang commented Jan 13, 2021

Retiarii is a new NAS (exploratory-training) framework. We have the following goals when implementing it on NNI:

  • Our basic design philosophy of model APIs is "writing DNN model as a space". That is why we have provided APIs like LayerChoice, InputChoice, ValueChoice, which can be directly embedded in a traditional PyTorch/TensorFlow model.
  • High expressiveness. Any model space can be expressed with our provided APIs (e.g., mutators)
  • High effectiveness and reusability of model search algorithms.
  • Support more system-level optimizations to speedup the search, deduplicate computation as much as possible.

Guided by the abovementioned goals, we draft the following roadmap:

experimental in V2.0 -> alpha release in V2.1 -> beta release in V2.2 -> release in V2.3

V2.1

  • Improved the robustness of graph generation and code generation for PyTorch models
  • Supported the inline mutation API ValueChoice
  • Improved the design and implementation of Model Evaluator
  • Supported Random/Grid/Evolution exploration strategies (i.e., search algorithms)
  • Support one system-level optimization: CSE optimization to deduplicate computation (deferred to V2.2)
  • Migrate all the one-shot trainer from NAS v1 to Retiarii framework (i.e., NAS v2) (deferred to V2.2)

V2.2

  • Support debug mode
  • More high-level APIs for users to easily express model space
  • Support a fancy NAS algorithm which could leverage architectural information
  • Migrate more one-shot trainer from NAS v1 to Retiarii framework (i.e., NAS v2)
  • Further improve the logic of graph generation and code generation
    • Support control flow in graph/code generation
    • Further integrated with TorchScript
  • Support one system-level optimization: CSE optimization to deduplicate computation
  • Initial support of TensorFlow

V2.3

  • Deprecate NAS v1
  • Improve system-level optimizations, especially on device placement and resource management
  • Support fancy search algorithms which could jointly optimize architectures and hyper-parameters
  • Improve system-level optimizations, distributed one-shot trainer with mixed parallelism
@kvartet kvartet added nnidev NAS 2.0 issues and pull requests for Retiarii labels Jan 13, 2021
@QuanluZhang QuanluZhang pinned this issue Feb 4, 2021
@microsoft microsoft locked and limited conversation to collaborators Jun 9, 2021
@scarlett2018 scarlett2018 unpinned this issue Jun 9, 2021

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
NAS 2.0 issues and pull requests for Retiarii nnidev
Projects
None yet
Development

No branches or pull requests

6 participants