  Federated Learning is a collaborative machine learning framework to train a
deep learning model without accessing clients' private data. Previous works
assume one central parameter server either at the cloud or at the edge. The
cloud server can access more data but with excessive communication overhead and
long latency, while the edge server enjoys more efficient communications with
the clients. To combine their advantages, we propose a client-edge-cloud
hierarchical Federated Learning system, supported with a HierFAVG algorithm
that allows multiple edge servers to perform partial model aggregation. In this
way, the model can be trained faster and better communication-computation
trade-offs can be achieved. Convergence analysis is provided for HierFAVG and
the effects of key parameters are also investigated, which lead to qualitative
design guidelines. Empirical experiments verify the analysis and demonstrate
the benefits of this hierarchical architecture in different data distribution
scenarios. Particularly, it is shown that by introducing the intermediate edge
servers, the model training time and the energy consumption of the end devices
can be simultaneously reduced compared to cloud-based Federated Learning.
