Photo by Natalia Vaitkevich
Federated learning (FL) is a machine learning approach that enables training of a model on multiple devices or decentralized institutions, without the need to centralize the data on a single server. It has been used in various industries, from mobile device keyboards to autonomous vehicles and oil rigs. It is particularly useful in the healthcare industry, where sensitive patient data is involved and strict regulations must be followed to protect people’s privacy. In this blog post, we’ll take a look at some practical steps for implementing a federated learning project with healthcare data.
First, it’s important to understand the requirements and limitations of your project. This includes understanding the type of data you will be working with and the rules that must be followed to protect people’s privacy. You may also need to secure the necessary approvals and permissions to use the data for your project, for example, Institutional Review Board (IRB) approvals.
Next, you will need to prepare your data. This involves extracting data from different clinical systems, harmonizing data across different sites (since data may be coded differently, have different formats, and have different distributions at each site), annotating the data (sometimes requires a clinician to review the data and annotate it) and partition the data into training, testing, and validation partitions. It is important to ensure that the data is properly balanced and representative of the general population to ensure accurate results.
Once your data is ready, you’ll need to choose a federated learning framework to use. There are several options available, including NVIDIA FLARE, Federated TensorFlow, pysyft, Open FLand Flower. Each of these frameworks has its own set of features and capabilities, so it’s important to choose the one that best suits the needs of your project. We found that NVIDIA FLARE provides a robust framework that can work with any underlying ML framework (PyTorch, TensorFlow, sklearn, etc.).
Next, you’ll need to set up the infrastructure for your federated learning project. This involves choosing a cloud server on which to host the resulting model and orchestrating the FL process, and setting up servers at each participating site, installing the required software, making your local dataset accessible to that server, and ensuring that the server can communicate with your cloud server. Depending on the FL framework you have selected, you may also need to set up a secure communication channel between each site’s local servers and your cloud server to ensure data privacy and security.
Once the infrastructure is ready, you can start the training process. This involves providing your model architecture to the cloud server, which will orchestrate the FL training, sending the model to the participating devices or institutions, where the local data will be used to train a local model. The local models are then sent back to the server, where they are added and used to update the global model. This process is repeated until the global model has converged to an acceptable level of accuracy.
Finally, it is important to evaluate the performance of the model and make sure that it meets the requirements of your project. This involves testing the model on a separate data set or using it to make predictions on real-world data. In many cases, this also involves iterating the model architecture, underlying data sets, and/or preprocessing to optimize model performance.
These steps may seem complex, but luckily there are FL platforms like rhino health that make this whole process simple and hassle free. Robust end-to-end FL platforms will handle infrastructure provisioning, provide strong security capabilities, and support all steps of a federated project, from data preprocessing to model training and results analysis, with maximum flexibility. , allowing data scientists to use their data analysis/processing tools and ML/FL frameworks of choice. They make federated projects much more similar to projects that use centralized data.
The future of healthcare innovation depends on being able to access vast amounts of data for analysis and model training. Federated learning is a powerful tool for accessing data without risking data privacy, making it a promising way to improve patient care and advance the field of healthcare. By following these steps and taking the necessary precautions to protect patient privacy, you can successfully implement a federated learning project and have a positive impact on the healthcare industry.
yuval baror is the CTO and co-founder of Rhino Health. He has nearly 20 years of experience in software engineering, management, and start-ups (including founding a successfully acquired start-up). Over the last decade, he has worked on creating AI-based production systems at 3 different companies. He enjoys the profound challenges of artificial intelligence, the excitement of building production systems that deliver substantial customer impact, and the unique cross section of making AI work in real world systems.