Papaya
Contents
Papaya¶
PPAIA: Peer-to-Peer Artificial Intelligence and Analytics¶
Abstract¶
Federated Learning systems use a centralized server to aggre- gate model updates. This is a bandwidth and resource-heavy constraint and exposes the system to privacy concerns. We in- stead implement a peer to peer learning system in which nodes train on their own data and periodically perform a weighted average of their parameters with that of their peers according to a learned trust matrix. So far, we have created a model client framework and have been using this to run experiments on the proposed system using multiple virtual nodes which in reality exist on the same computer. We used this strategy as stated in Iteration 1 of our proposal to prove the concept of peer to peer learning with shared parameters. We now hope to run more experiments and build a more deployable real world system for the same.
Peer to Peer Learning¶
To solve the problem of limited privacy and the need for a centralized server in classic federated learning systems, we propose a peer to peer federated learning system. We aim to develop a system whereby individual nodes on the network store a portion of the data, and each of the nodes trains an instance of a machine learning model (with specific emphasis on deep neural networks) with periodic sharing of parameters between a random subset of nodes according to a learned trust matrix, similar to the classic setting of social learning using DeGroot’s model.
System Architecture¶
To begin to implement this as a real-world system, we were inspired by trackerless torrents of BitTorrent with Distributed hash Table.
BitTorrent has two protocols used for torrents, one that uses a centralized tracker server, and the second uses a distributed hash table to eliminate the need for centralization. We chose to use the trackerless implementation, based on the Kademlia Distributed Hash Table protocol.
from IPython.display import YouTubeVideo
# Youtube
vid = YouTubeVideo("fh2BCZCNMPs")
display(vid)