Large-scale Energy Analysis of Neural Network Architecture Search & Cloud Computing (Microsoft)
My Contributions:
-
Developed generative neural architecture search code (Python)
-
Performed cloud computing of 1.7M networks (Python, Microsoft Azure/Amulet)
-
Designed, trained, and performed hyperparameter optimization on predictive GCN (Python, Microsoft Azure/Amulet)
Larger and more complex neural networks are often desirable as they attain higher accuracies in predictive or classification tasks, however, these large and complex networks consume more electrical energy to train and perform inference. The conversion to electrical energy from fossil fuels produces carbon dioxide emissions and as neural networks continue to increase in both size and complexity, more carbon emissions are released as a result of running these networks. However, methods of neural architecture search (NAS) can be used to prune high-energy consumption neural network designs such that more energy-efficient networks can be created without a loss in performance accuracy.
Latency vs power clusters of network operations
As part of a research internship at Microsoft, I examine and measure the power consumption in Watts and the latency of inference for 1.7 million feed-forward neural networks containing 6 nodes. We vary the inference batch sizes as well to determine batch size effect on power consumption. We plot the clusters of each layer operation in latency-power space and note clear trends in the energy consumed for each type of operation. Although certain operations may consume equivalent power, others may have faster compute (lower latency), such as the case of 3x3 average pool (fast) and 5x5 dilated separable convolution (slow). Furthermore a graph convolutional network is created to establish a predictive relationship between neural network architecture and energy consumption.
Energy prediction graph convolutional network