  As a promising distributed machine learning paradigm that enables
collaborative training without compromising data privacy, Federated Learning
(FL) has been increasingly used in AIoT (Artificial Intelligence of Things)
design. However, due to the lack of efficient management of straggling devices,
existing FL methods greatly suffer from the problems of low inference accuracy
and long training time. Things become even worse when taking various uncertain
factors (e.g., network delays, performance variances caused by process
variation) existing in AIoT scenarios into account. To address this issue, this
paper proposes a novel asynchronous FL framework named GitFL, whose
implementation is inspired by the famous version control system Git. Unlike
traditional FL, the cloud server of GitFL maintains a master model (i.e., the
global model) together with a set of branch models indicating the trained local
models committed by selected devices, where the master model is updated based
on both all the pushed branch models and their version information, and only
the branch models after the pull operation are dispatched to devices. By using
our proposed Reinforcement Learning (RL)-based device selection mechanism, a
pulled branch model with an older version will be more likely to be dispatched
to a faster and less frequently selected device for the next round of local
training. In this way, GitFL enables both effective control of model staleness
and adaptive load balance of versioned models among straggling devices, thus
avoiding the performance deterioration. Comprehensive experimental results on
well-known models and datasets show that, compared with state-of-the-art
asynchronous FL methods, GitFL can achieve up to 2.64X training acceleration
and 7.88% inference accuracy improvements in various uncertain scenarios.
