nginyc / rafiki

Rafiki is a distributed system that supports training and deployment of machine learning models using AutoML, built with ease-of-use in mind.
Apache License 2.0
36 stars 23 forks source link

Add architecture tuning with ENAS & hyperparameter tuning with parameter sharing #128

Closed nginyc closed 5 years ago

nginyc commented 5 years ago

Fixes #101 Fixes #97 Fixes #98 Fixes #50 Fixes #99

API Changes

For model developers:

For application developers:

For application users:

** specifies that change is NOT backward compatible

Full Changelist

Major changes:

Minor changes:

This branch's changes are largely reflected in as updated documentation deployed at https://nginyc.github.io/rafiki/docs/0.2.0. In particular, there is a new "How Model Tuning Works" page, and we have 2 new model training scripts run_enas.py and train_densenet.py.

Sorry for the long commit history - I was experimenting with ENAS for a while and there was a huge departure in code.

nudles commented 5 years ago

This is a big PR. Could you give a list of API changes for existing users? Would there be any issues if they want to run their existing examples after this PR is merged?

nudles commented 5 years ago

the documentation on hyper-parameter tuning is replaced by model tuning? Model tuning doc is a bit complex. It would be better to start with simple schemes, e.g., just for hyper-parameter tuning. And then add advanced stuff, e.g., tuning policies like early stopping, and architecture tuning

nginyc commented 5 years ago

Hi @nudles, I have updated the details of the PR with API changes, some of which are not backward compatible. I will be creating a full client API changelist when dev is to be merged to master, and it will be in the release notes. Let me know if there's more.

With regards to the new model tuning docs, there were no existing documentation on how model tuning is implemented on Rafiki. Following your feedback, I will be simplifying the new model tuning docs

nginyc commented 5 years ago

Have resolved the conflicts, improved the model tuning docs slightly, and did some testing. Ready to be merged