ANRGUSC / DEFER

Distributed Edge Inference for Deep Neural Networks

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DEFER: Distributed Edge Inference for Deep Neural Networks

Performing model inference across multiple edge devices

To use DEFER, run node.py on a compute node, and import the DEFER class into your main program on the dispatcher node.

Alternatively, try the test.py program in the test folder.

This code is associated with the paper A. Parthasarathy and B. Krishnamachari, "DEFER: Distributed Edge Inference for Deep Neural Networks," published at Workshop on Machine Intelligence in Networked Data and Systems (MINDS), organized in conjunction with 15th International Conference on COMmunication Systems & NETworkS (COMSNETS), Bengaluru, India, 2022. This paper received the best paper award at the workshop. An online preprint of the paper is available at: https://arxiv.org/abs/2201.06769

Abstract: Modern machine learning tools such as deep neural networks (DNNs) are playing a revolutionary role in many fields such as natural language processing, computer vision, and the internet of things. Once they are trained, deep learning models can be deployed on edge computers to perform classification and prediction on real-time data for these applications. Particularly for large models, the limited computational and memory resources on a single edge device can become the throughput bottleneck for an inference pipeline. To increase throughput and decrease per-device compute load, we present DEFER (Distributed Edge inFERence), a framework for distributed edge inference, which partitions deep neural networks into layers that can be spread across multiple compute nodes. The architecture consists of a single "dispatcher" node to distribute DNN partitions and inference data to respective compute nodes. The compute nodes are connected in a series pattern where each node's computed result is relayed to the subsequent node. The result is then returned to the Dispatcher. We quantify the throughput, energy consumption, network payload, and overhead for our framework under realistic network conditions using the CORE network emulator. We find that for the ResNet50 model, the inference throughput of DEFER with 8 compute nodes is 53% higher and per node energy consumption is 63% lower than single device inference. We further reduce network communication demands and energy consumption using the ZFP serialization and LZ4 compression algorithms. We have implemented DEFER in Python using the TensorFlow and Keras ML libraries, and have released DEFER as an open-source framework to benefit the research community.

About

Distributed Edge Inference for Deep Neural Networks

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Python 100.0%