Plato: An Open-Source Research Framework for Production Federated Learning
Baochun Li, Ningxin Su, Chen Ying, Wang Fei · 2023
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.