Dissertação de mestrado em Engenharia Eletrónica Industrial e Computadores (especialização em Sistemas Embebidos e Computadores)The end of Moore's Law aligned with rising concerns about data privacy is forcing machine learning
(ML) to shift from the cloud to the deep edge, near to the data source. In the next-generation ML systems,
the inference and part of the training process will be performed right on the edge, while the cloud will be
responsible for major ML model updates. This new computing paradigm, referred to by academia and
industry researchers as federated learning, alleviates the cloud and network infrastructure while
increasing data privacy. Recent advances have made it possible to efficiently execute the inference pass
of quantized artificial neural networks on Arm Cortex-M and RISC-V (RV32IMCXpulp) microcontroller units
(MCUs). Nevertheless, the training is still confined to the cloud, imposing the transaction of high volumes
of private data over a network.
To tackle this issue, this MSc thesis makes the first attempt to run a decentralized training in Arm
Cortex-M MCUs. To port part of the training process to the deep edge is proposed L-SGD, a lightweight
version of the stochastic gradient descent optimized for maximum speed and minimal memory footprint
on Arm Cortex-M MCUs. The L-SGD is 16.35x faster than the TensorFlow solution while registering a
memory footprint reduction of 13.72%. This comes at the cost of a negligible accuracy drop of only 0.12%.
To merge local model updates returned by edge devices this MSc thesis proposes R-FedAvg, an
implementation of the FedAvg algorithm that reduces the impact of faulty model updates returned by
malicious devices.O fim da Lei de Moore aliado às crescentes preocupações sobre a privacidade dos dados gerou a
necessidade de migrar as aplicações de Machine Learning (ML) da cloud para o edge, perto da fonte de
dados. Na próxima geração de sistemas ML, a inferência e parte do processo de treino será realizada
diretamente no edge, enquanto que a cloud será responsável pelas principais atualizações do modelo
ML. Este novo paradigma informático, referido pelos investigadores académicos e industriais como treino
federativo, diminui a sobrecarga na cloud e na infraestrutura de rede, ao mesmo tempo que aumenta a
privacidade dos dados. Avanços recentes tornaram possível a execução eficiente do processo de
inferência de redes neurais artificiais quantificadas em microcontroladores Arm Cortex-M e RISC-V
(RV32IMCXpulp). No entanto, o processo de treino continua confinado à cloud, impondo a transação de
grandes volumes de dados privados sobre uma rede.
Para abordar esta questão, esta dissertação faz a primeira tentativa de realizar um treino
descentralizado em microcontroladores Arm Cortex-M. Para migrar parte do processo de treino para o
edge é proposto o L-SGD, uma versão lightweight do tradicional método stochastic gradient descent
(SGD), otimizada para uma redução de latência do processo de treino e uma redução de recursos de
memória nos microcontroladores Arm Cortex-M. O L-SGD é 16,35x mais rápido do que a solução
disponibilizada pelo TensorFlow, ao mesmo tempo que regista uma redução de utilização de memória
de 13,72%. O custo desta abordagem é desprezível, sendo a perda de accuracy do modelo de apenas
0,12%. Para fundir atualizações de modelos locais devolvidas por dispositivos do edge, é proposto o RFedAvg, uma implementação do algoritmo FedAvg que reduz o impacto de atualizações de modelos não
contributivos devolvidos por dispositivos maliciosos