A simulation platform for auction-based federated learning

Federated learning (FL) is a vast field of research that is concerned with distributed training of machine learning models while adhering to laws governing data privacy. Notwithstanding its benefits over traditional centralised machine learning, FL itself is augmented by methods introducing...

Full description

Saved in:
Bibliographic Details
Main Author: Tang, Daryl Jun Da
Other Authors: Yu Han
Format: Final Year Project
Language:English
Published: Nanyang Technological University 2024
Subjects:
Online Access:https://hdl.handle.net/10356/181267
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
Description
Summary:Federated learning (FL) is a vast field of research that is concerned with distributed training of machine learning models while adhering to laws governing data privacy. Notwithstanding its benefits over traditional centralised machine learning, FL itself is augmented by methods introducing the concepts of incentives and reputation among the data owners (DO’s) and data consumers (DC’s) participating in FL. Indeed, research into Auction-based Federated Learning (AFL) delves into the various incentive mechanisms to aid in goal alignment of auctioneers, DO’s, and DC’s. AFL promises to retain the perks of privacy preserving distributed model training without the drawbacks of communication overheads and data which is non-independent and identically distributed (non-IID problem). In reverse-AFL, a single DC recruits several DO’s for model training, providing a bounty for clients contributing the most significant data and model advancements. This project aims to be a layer of abstraction that makes learning about FL, AFL, and reverse-AFL more accessible for prospective DO’s and DC’s. Being a simulation platform built on top of frameworks such as Flask, Tensorflow, React, and Flower, users will be able to run simulations using the default configuration values provided by the Flower framework. Users who are more keen on tweaking the simulation parameters can do so via the command line of the project code.