The deployment of embedded systems in an ever-growing range of application contexts has determined a surge of interest in empowering the devices with more and more advanced, personalized Artificial Intelligence (AI) functionalities. Current frameworks enable embedded systems to effectively perform AI inference by converting pre-trained models into reference suitable for resource-constrained devices. However do not empower embedded systems with the ability to train models directly on the device. In current solutions, the training process relies on a cloud-based paradigm. This strategy has several drawbacks: it does not preserve data privacy, it requires a stable connection and, moreover, since the training procedure uses the data collected from many devices, the trained models are not tailored for the specific device. For all these reasons, the need to empower embedded devices with training on device functionalities is clearly emerging. The attractiveness of the training on device is not only limited to tackle the aforementioned challenges, but can also enable more complex frameworks like Federated Learning where several devices contribute to learn a common model. In the thesis, developed from a collaboration with STMicroelectronics, we propose a framework which enables embedded systems to effectively perform the training of neural networks on device. The problem has been addressed from different perspectives allowing not only to design and implement the desired framework more easily, but also to set up a feasibility study about the neural network training on STM32 microcontrollers. Specifically starting from a formal reorganization of backpropagation calculus using computational graphs, we develop a framework which enables embedded systems to train neural networks directly on device. Moreover we design a tool for evaluating the computational resources required for running the training process. Finally, we set several experiments aimed to evaluate the enhancement of models performances due to the training on device in a real use case.

L’utilizzo dei sistemi embedded in contesti applicativi sempre più ampi ha reso necessaria l’integrazione dell’intelligenza artificiale (IA) sui dispositivi stessi. L'attuale progresso tecnologico consente di usare modelli basati sull’IA per effettuare predizioni. Infatti, tramite appositi framework, è possibile convertire modelli pre-addestrati in versioni compatibili con i sistemi embedded per essere poi utilizzate per fare inferenza. Il principale problema di questo approccio è che i modelli risultano essere statici in quanto non possono essere modificati dagli stessi dispositivi. Per poter addestrare nuovamente il modello si ricorre ad un paradigma basato sul cloud, strategia che tuttavia presenta diversi svantaggi. In primo luogo non tutela la privacy dei dati, inoltre è richiesto che i dispositivi siano necessariamente provvisti di una connessione. Un’ulteriore criticità da sottolineare è rappresentata dal fatto che i modelli sono addestrati utilizzando i dati raccolti da diversi dispositivi, per cui i modelli addestrati su tali dati possono essere non altrettanto efficaci quando vengono impiegati su un dispositivo diverso da quelli utilizzati per la raccolta di dati. L'addestramento di modelli direttamente sui dispositivi embedded, senza ricorrere al cloud, consente di risolvere tali problematiche. I modelli possono apprendere continuamente, diventando sempre più performanti e, soprattutto, personalizzati. In questo modo vengono sfruttate al massimo le potenzialità dell' IA. Inoltre l'addestramento sul dispositivo rappresenta anche una funzione abilitante per l'apprendimento distribuito, come l'apprendimento federato, in cui diversi dispositivi contribuiscono all'apprendimento di un modello comune. Nella tesi, nata da una collaborazione con STMicroelectronics, abbiamo sviluppato un framework che consente ai sistemi embedded di addestrare reti neurali direttamente sul dispositivo. Abbiamo affrontato il problema da diverse prospettive, il che ci ha permesso non solo di progettare e implementare più facilmente il framework desiderato, ma anche di impostare uno studio di fattibilità sull’ addestramento di reti neurali sui microcontrollori STM32. In particolare, partendo da una riorganizzazione formale della backpropagation utilizzando grafi computazionali, abbiamo sviluppato il framework che consente ai sistemi embedded di addestrare reti neurali direttamente sul dispositivo. Inoltre abbiamo progettato uno strumento per valutare le risorse computazionali necessarie per eseguire il processo di addestramento. Infine abbiamo condotto diversi esperimenti per valutare l’effettivo miglioramento delle prestazioni dei modelli grazie all'addestramento sul dispositivo considerando un caso d'uso reale.

Neural network training on embedded systems : a feasibility study

Quarantiello, Davide
2021/2022

Abstract

The deployment of embedded systems in an ever-growing range of application contexts has determined a surge of interest in empowering the devices with more and more advanced, personalized Artificial Intelligence (AI) functionalities. Current frameworks enable embedded systems to effectively perform AI inference by converting pre-trained models into reference suitable for resource-constrained devices. However do not empower embedded systems with the ability to train models directly on the device. In current solutions, the training process relies on a cloud-based paradigm. This strategy has several drawbacks: it does not preserve data privacy, it requires a stable connection and, moreover, since the training procedure uses the data collected from many devices, the trained models are not tailored for the specific device. For all these reasons, the need to empower embedded devices with training on device functionalities is clearly emerging. The attractiveness of the training on device is not only limited to tackle the aforementioned challenges, but can also enable more complex frameworks like Federated Learning where several devices contribute to learn a common model. In the thesis, developed from a collaboration with STMicroelectronics, we propose a framework which enables embedded systems to effectively perform the training of neural networks on device. The problem has been addressed from different perspectives allowing not only to design and implement the desired framework more easily, but also to set up a feasibility study about the neural network training on STM32 microcontrollers. Specifically starting from a formal reorganization of backpropagation calculus using computational graphs, we develop a framework which enables embedded systems to train neural networks directly on device. Moreover we design a tool for evaluating the computational resources required for running the training process. Finally, we set several experiments aimed to evaluate the enhancement of models performances due to the training on device in a real use case.
CARRERA, DIEGO
ING - Scuola di Ingegneria Industriale e dell'Informazione
22-lug-2022
2021/2022
L’utilizzo dei sistemi embedded in contesti applicativi sempre più ampi ha reso necessaria l’integrazione dell’intelligenza artificiale (IA) sui dispositivi stessi. L'attuale progresso tecnologico consente di usare modelli basati sull’IA per effettuare predizioni. Infatti, tramite appositi framework, è possibile convertire modelli pre-addestrati in versioni compatibili con i sistemi embedded per essere poi utilizzate per fare inferenza. Il principale problema di questo approccio è che i modelli risultano essere statici in quanto non possono essere modificati dagli stessi dispositivi. Per poter addestrare nuovamente il modello si ricorre ad un paradigma basato sul cloud, strategia che tuttavia presenta diversi svantaggi. In primo luogo non tutela la privacy dei dati, inoltre è richiesto che i dispositivi siano necessariamente provvisti di una connessione. Un’ulteriore criticità da sottolineare è rappresentata dal fatto che i modelli sono addestrati utilizzando i dati raccolti da diversi dispositivi, per cui i modelli addestrati su tali dati possono essere non altrettanto efficaci quando vengono impiegati su un dispositivo diverso da quelli utilizzati per la raccolta di dati. L'addestramento di modelli direttamente sui dispositivi embedded, senza ricorrere al cloud, consente di risolvere tali problematiche. I modelli possono apprendere continuamente, diventando sempre più performanti e, soprattutto, personalizzati. In questo modo vengono sfruttate al massimo le potenzialità dell' IA. Inoltre l'addestramento sul dispositivo rappresenta anche una funzione abilitante per l'apprendimento distribuito, come l'apprendimento federato, in cui diversi dispositivi contribuiscono all'apprendimento di un modello comune. Nella tesi, nata da una collaborazione con STMicroelectronics, abbiamo sviluppato un framework che consente ai sistemi embedded di addestrare reti neurali direttamente sul dispositivo. Abbiamo affrontato il problema da diverse prospettive, il che ci ha permesso non solo di progettare e implementare più facilmente il framework desiderato, ma anche di impostare uno studio di fattibilità sull’ addestramento di reti neurali sui microcontrollori STM32. In particolare, partendo da una riorganizzazione formale della backpropagation utilizzando grafi computazionali, abbiamo sviluppato il framework che consente ai sistemi embedded di addestrare reti neurali direttamente sul dispositivo. Inoltre abbiamo progettato uno strumento per valutare le risorse computazionali necessarie per eseguire il processo di addestramento. Infine abbiamo condotto diversi esperimenti per valutare l’effettivo miglioramento delle prestazioni dei modelli grazie all'addestramento sul dispositivo considerando un caso d'uso reale.
File allegati
File Dimensione Formato  
executive summary.pdf

non accessibile

Dimensione 437.08 kB
Formato Adobe PDF
437.08 kB Adobe PDF   Visualizza/Apri
tesi.pdf

accessibile in internet per tutti

Dimensione 1.15 MB
Formato Adobe PDF
1.15 MB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/191777