Federated Learning (FL) has emerged as a promising technique for edge devices to collaboratively learn a shared machine learning model while keeping training data locally on the device, thereby removing the need to store and access the full data in the cloud. However, FL is difficult to implement, test and deploy in practice considering heterogeneity in common edge device settings, making it fundamentally hard for researchers to efficiently prototype and test their optimization algorithms. In this work, our aim is to alleviate this problem by introducing FL_PyTorch : a suite of open-source software written in python that builds on top of one the most popular research Deep Learning (DL) framework PyTorch. We built FL_PyTorch as a research simulator for FL to enable fast development, prototyping and experimenting with new and existing FL optimization algorithms. Our system supports abstractions that provide researchers with a sufficient level of flexibility to experiment with existing and novel approaches to advance the state-of-the-art. Furthermore, FL_PyTorch is a simple to use console system, allows to run several clients simultaneously using local CPUs or GPU(s), and even remote compute devices without the need for any distributed implementation provided by the user. FL_PyTorch also offers a Graphical User Interface. For new methods, researchers only provide the centralized implementation of their algorithm. To showcase the possibilities and usefulness of our system, we experiment with several well-known state-of-the-art FL algorithms and a few of the most common FL datasets.
翻译:联邦学习联盟(FL)已成为一种很有希望的技术,使边缘设备能够合作学习共享的机器学习模式,同时在设备上保留当地的培训数据,从而消除了在云层中存储和访问全部数据的必要性。然而,考虑到共同边缘设备设置的异质性,FL很难实际实施、测试和部署。这使得研究人员基本上难以高效地原型和测试其优化算法。在这项工作中,我们的目标是通过引入FL_PyTorch来缓解这一问题:一套以Python书写成的开源软件套件,该软件以最受欢迎的研究深度学习框架PyTorch为基础,从而消除了在云层中存储和访问全部数据的必要性。我们建造了FL_PyTorrch作为FL的研究模拟器的研究模拟器,以便快速开发、预设和试验新的和现有的FL优化算法。我们的系统支持使研究人员有足够的灵活性来试验现有和新颖的方法来推进已知的艺术。此外,FL_PyTorch是一个简单的控制器系统,使得几个客户能够同时运行一个使用最先进的用户级的系统。