When Google published the seminal paper Communication-Efficient Learning of Deep Networks from Decentralized Data in 2016, they coined the word Federated Learning and kicked off a new era in privacy preserving ML. Like the deep learning revolution that preceded it, teams around the world raced to put forth frameworks and tools to enable FL for research simulation and real world deployment. This proliferation of frameworks has led to dozens of implementations of similar functionality. For example, network communication, serialization, model storage and weight extraction have been built by many frameworks from scratch, and this work has taken focus away from solving bigger problems in federated learning.
Today, the Flower and OpenFL projects hope to change this direction by teaming up to establish Federated Standards with an aim towards common components. We believe this will have myriad benefits for researchers, operators of federations, and also for our developers.
Researchers: Common components and portable user interfaces will allow researchers to write weight aggregation algorithms, such as Flower Baselines or OpenFL Aggregation functions, and run them on multiple frameworks. This broadens the reach of high impact algorithmic advances, and mapping an algorithmic implementation to a tagged standard will reduce the potential for breaking code in the future.
Federation Operators: Common RPCs and communication protocols will open the door to hybrid federations - where servers and clients could be a mix-and-match of OpenFL and Flower. An exciting scenario would be a Flower iOS / Android client communicating with an OpenFL server running inside a trusted execution environment (TEE) for enhanced confidentiality.
Framework Developers: The benefits here are significant. Developers and community members with the strongest background in a component area can propose the design of low level framework components, and we can come together to consider its merits and our perspective from our individual user bases. This will also give greater visibility and focus to the implementation of common components arising from these standards.
Our creation of Federated-Standards is the first step towards a more interoperable future for Federated Learning. Star the repo and stay tuned for standards proposals, RFCs, and momentum in building these common components. You - our vibrant research, developer, and user communities - make our projects what they are, and will be invaluable in helping us shape this future together.