  Federated Learning allows the training of machine learning models by using
the computation and private data resources of many distributed clients. Most
existing results on Federated Learning (FL) assume the clients have
ground-truth labels. However, in many practical scenarios, clients may be
unable to label task-specific data due to a lack of expertise or resource. We
propose SemiFL to address the problem of combining communication-efficient FL
such as FedAvg with Semi-Supervised Learning (SSL). In SemiFL, clients have
completely unlabeled data and can train multiple local epochs to reduce
communication costs, while the server has a small amount of labeled data. We
provide a theoretical understanding of the success of data augmentation-based
SSL methods to illustrate the bottleneck of a vanilla combination of
communication-efficient FL with SSL. To address this issue, we propose
alternate training to `fine-tune global model with labeled data' and `generate
pseudo-labels with the global model.' We conduct extensive experiments and
demonstrate that our approach significantly improves the performance of a
labeled server with unlabeled clients training with multiple local epochs.
Moreover, our method outperforms many existing SSFL baselines and performs
competitively with the state-of-the-art FL and SSL results.
