Inspiration
The inspiration behind Project DAML(Decentralized Approach to Machine Learning), stemmed from the pressing need to transform the way we approach machine learning at present. We were inspired by the potential to harness the collective power of distributed devices while respecting user data privacy. Gathering data is the hardest part about creating/training a model and the data has its own privacy issues. What if we didn't have to share data among different client devices and create a global model with the help of all client's data? That's what Project DAML tries to do.
What it does
Project DAML is a groundbreaking initiative that replaces traditional federated learning with a decentralized approach. It enables devices to collaboratively train machine learning models without centralizing data. DAML revolutionizes AI by preserving privacy and empowering edge devices to learn collectively. It works on following major steps
- DAML begins with multiple client devices, each with its own dataset. These clients autonomously train machine learning models on their local data.
- As clients train their models, they aim to improve their local models' accuracy and performance based on their unique datasets.
- After local training, DAML collects the model weights (parameters) from each client. (weights represent the knowledge gained during local training)
- The weights are aggregated from multiple client sources and are sent to a central server.
- Then the central server can update and improve the global model based on the aggregated knowledge. This way DAML ensures secure and privacy-preserving communication between clients and the central server, protecting sensitive information during data transmission.
How we built it
Building Project DAML was a journey of innovation and collaboration. We leveraged cutting-edge technologies like TensorFlow and Flower to implement our decentralized learning framework. The project comprises both server and client-side components, allowing seamless communication and model aggregation. It also has a prediction system that we can use to test the global model's accuracy.
Challenges we ran into
While developing Project DAML, we faced several challenges. The major one was related to secure and efficient communication between devices. It's really easy to just host a server and some clients in the local host itself on the same machine. But the thing gets challenging when trying to connect several client devices to a server machine. The second is without a doubt optimizing model aggregation - while trying to combine the different small client models into one, we had to try different aggregation approaches. We had a lot of trials and errors in this step. The final challenge that is unaddressed now is handling varying data distributions/types across clients. Additionally, addressing scalability and latency issues demanded meticulous engineering.
Accomplishments that we're proud of
We are proud of creating a decentralized machine-learning framework that respects user privacy and showcases the power of collaborative learning. Our achievement lies in the successful implementation of DAML, opening doors to new possibilities in AI. We believe that training a huge model on a large dataset is comparatively really time and resource-consuming than combining the huge model with small client models. We have made a simple integration for our idea and we can proudly share that the concept/code works with multiple devices using mobile hotspot.
What we learned
Through Project DAML, we learned about the concept of Federated Learning. We gained insights into the server-client model in Python. This project underscored the potential for AI to evolve in a decentralized, privacy-centric manner.
What's next for Project DAML
The journey of Project DAML is far from over. In the future, we aim to expand its capabilities by further enhancing the model/architecture for the client side incorporating advanced privacy-preserving techniques, and exploring applications in various domains. We envision DAML as a cornerstone in the evolution of machine learning and decentralized AI. We have set up GitHub for the project stating that it is open source and anyone can contribute to it. So, hopefully, the Project will keep on growing and helping people create their own model that is more accurate, less data dependent, and overall improved model.
Log in or sign up for Devpost to join the conversation.