Plato: An Open-Source Research Framework for Production Federated Learning
Baochun Li, Ningxin Su, Chen Ying, Wang Fei
Abstract
As existing works on federated learning (FL) have not typically shared their implementations as open-source, and existing open-source FL frameworks fell short of evaluating FL mechanisms appropriately, in the past two years, we have designed and implemented Plato, a new open-source research framework for scalable federated learning research from scratch. Development on Plato started in November 2020, and so far involved more than 50 person-month of research and development time. Plato is designed and built with several key objectives in mind: it is scalable to a large number of clients; extensible to accommodate a wide variety of datasets, models, and FL algorithms; and agnostic to deep learning frameworks such as TensorFlow and PyTorch. In Plato, clients communicate with servers over industry-standard WebSockets, while servers may either run in the same GPU-enabled physical machine as its clients — suitable for an emulation research testbed — or deployed in a cloud datacenter. We provided a large variety of popular datasets and models, as well as algorithms proposed in the literature as examples.