Integrating Zero Cost Proxy in MASE
β Code available here β
In this project, I worked with my partner as a pair and added functionality in the research tool Machine-Learning Accelerator System Exploration (MASE). MASE is a tool for exploring methodologies that accelerate large ML models, including adding functionalities such as quantization and neural architecture search (NAS).
In our project, we added a proxy action and proxy_strategy, whcih allow integration of zero-cost proxies with existing bayesian based search algorithms. Zero-cost proxy refers to metrics for a given neural network architecture and a data sets the model will be trained and inference from, and predicts the performance of the network on that datasets without extensively training the network. More about zero-cost proxies here.
Proxy
- Added
proxyaction in MASE command line interface, major changes in pathmachop/chop/actions/proxy/... - Integrated
NasBench201andNasBench301search space into MASE proxy action - Integrated 13 zero cost proxies, including
fisher,jacov,params, etcβ¦ from βπΈπ-πΉππππ-ππ¦ππ₯π-β€πrπ into MASE proxy action - Included sample configuration for
proxyaction in pathmachop/configs/nas/proxy_nas.toml - Included demo for training a meta-proxy from
NasBench201search space on CIFAR10 datasets
Search with proxy
- Added
proxysearch strategy in MASEsearchaction onVal Accuracymetric, major changes in pathmachop/chop/actions/search/strategies/strats_proxy.py - Integrated 13 zero cost proxies, including
fisher,jacov,params, etcβ¦ from βπΈπ-πΉππππ-ππ¦ππ₯π-β€πrπ into MASE search action,proxy_strategysearch strategy - Included sample configuration for proxy search strategy in path
machop/configs/nas/search_nas.toml
Others
- Fixed bug on invalid search iteration
- Included proxy scores for 8901 architecture sampled from
NasBenchNLP
