  Deep learning models are being deployed in many mobile intelligent
applications. End-side services, such as intelligent personal assistants,
autonomous cars, and smart home services often employ either simple local
models on the mobile or complex remote models on the cloud. However, recent
studies have shown that partitioning the DNN computations between the mobile
and cloud can increase the latency and energy efficiencies. In this paper, we
propose an efficient, adaptive, and practical engine, JointDNN, for
collaborative computation between a mobile device and cloud for DNNs in both
inference and training phase. JointDNN not only provides an energy and
performance efficient method of querying DNNs for the mobile side but also
benefits the cloud server by reducing the amount of its workload and
communications compared to the cloud-only approach. Given the DNN architecture,
we investigate the efficiency of processing some layers on the mobile device
and some layers on the cloud server. We provide optimization formulations at
layer granularity for forward- and backward-propagations in DNNs, which can
adapt to mobile battery limitations and cloud server load constraints and
quality of service. JointDNN achieves up to 18 and 32 times reductions on the
latency and mobile energy consumption of querying DNNs compared to the
status-quo approaches, respectively.
