You can edit almost every page by Creating an account and confirming your email.

Embedded Machine Learning: Difference between revisions

From EverybodyWiki Bios & Wiki
WikiMasterBot2 (talk | contribs)
Moved page from wikipedia:en:Draft:Embedded Machine Learning ([[Edithistory:|history]])
 
WikiMasterBot2 (talk | contribs)
m automatic correction by IA
 
Line 3: Line 3:
{{AfC topic|stem}}
{{AfC topic|stem}}


'''Embedded Machine Learning''' is the field of study where [[Embedded system|Embedded System]] and [[Machine learning|Machine Learning]] interact. Normally, Machine Learning Models consumes resources in terms of processing power, memory and interference speed during the training and inference phase. On the opposite, Embedded Systems such as [[Microcontroller|microcontrollers]], [[Electronic control unit|ECUs]], [[wearable devices]] and [[Edge device|edge devices]] have limited computing resources (memory, processor speed etc). Enabling such large models to run (Interference) on these devices is the main goal of this field. Various techniques such as [[hardware acceleration]] & [[Model Optimisation (Machine Learning)|model optimisation]] are used to achieve this goal.
'''Embedded Machine Learning''' is the field of study where [[Embedded system|Embedded System]] and [[Machine learning|Machine Learning]] interact. Normally, Machine Learning Models consume resources in terms of processing power, memory and inference speed during the training and inference phase. On the opposite, Embedded Systems such as [[Microcontroller|microcontrollers]], [[Electronic control unit|ECUs]], [[wearable devices]] and [[Edge device|edge devices]] have limited computing resources (memory, processor speed etc). Enabling such large models to run (inference) on these devices is the main goal of this field. Various techniques such as [[hardware acceleration]] & [[Model Optimisation (Machine Learning)|model optimisation]] are used to achieve this goal.


ML models can be trained on larger computing systems like cloud or server but it is challenging when it comes to deploy (download/flash) that models on embedded devices. Another challenge to run that models (inference phase) on the embedded systems to make predictions without significant loss in accuracy.  
ML models can be trained on larger computing systems like cloud or server but it is challenging when it comes to deploy (download/flash) those models on embedded devices. Another challenge is to run those models (inference phase) on the embedded systems to make predictions without significant loss in accuracy.  


== Hardware based methods ==
== Hardware based methods ==
Hardware acceleration techniques leverages specialized hardware components, such as Digital Signal Processors (DSPs), Graphics Processing Units (GPUs), Field-Programmable Gate Arrays (FPGAs), and dedicated Neural Network Accelerators (NNAs), to accelerate the inference process and improve the efficiency of embedded machine learning algorithms.
Hardware acceleration techniques leverage specialized hardware components, such as Digital Signal Processors (DSPs), Graphics Processing Units (GPUs), Field-Programmable Gate Arrays (FPGAs), and dedicated Neural Network Accelerators (NNAs), to accelerate the inference process and improve the efficiency of embedded machine learning algorithms.


== Software based methods ==
== Software based methods ==
Some Model Optimization (Compression) techniques are mentioned below which are used to compress/alter a ML model in such a way that the model take less space and make predictions faster without significant loss in accuracy.
Some Model Optimization (Compression) techniques are mentioned below which are used to compress/alter a ML model in such a way that the model takes less space and makes predictions faster without significant loss in accuracy.


=== [[Pruning (artificial neural network)|Pruning]] ===
=== [[Pruning (artificial neural network)|Pruning]] ===
Removes less important connections and parameters from the model results in reduced size and complexities.
Removes less important connections and parameters from the model, resulting in reduced size and complexities.


=== [[Quantization (Embedded Machine Learning)|Quantization]] ===
=== [[Quantization (Embedded Machine Learning)|Quantization]] ===
Line 22: Line 22:


=== [[Knowledge distillation|Knowledge Distillation]] ===
=== [[Knowledge distillation|Knowledge Distillation]] ===
Transfer knowledge from a large, pre-trained teacher network to a smaller student network, resulting in a smaller and efficient model with comparable accuracy.
Transfers knowledge from a large, pre-trained teacher network to a smaller student network, resulting in a smaller and efficient model with comparable accuracy.


=== Low-Rank Factorization ===
=== Low-Rank Factorization ===
Line 28: Line 28:


=== Network Architecture Search (NAS) ===
=== Network Architecture Search (NAS) ===
Optimizes network architectures for both accuracy and efficiency, potentially leading to a smaller models with high performance.
Optimizes network architectures for both accuracy and efficiency, potentially leading to smaller models with high performance.


=== Parameter Sharing ===
=== Parameter Sharing ===

Latest revision as of 14:49, 23 March 2026


Embedded Machine Learning is the field of study where Embedded System and Machine Learning interact. Normally, Machine Learning Models consume resources in terms of processing power, memory and inference speed during the training and inference phase. On the opposite, Embedded Systems such as microcontrollers, ECUs, wearable devices and edge devices have limited computing resources (memory, processor speed etc). Enabling such large models to run (inference) on these devices is the main goal of this field. Various techniques such as hardware acceleration & model optimisation are used to achieve this goal.

ML models can be trained on larger computing systems like cloud or server but it is challenging when it comes to deploy (download/flash) those models on embedded devices. Another challenge is to run those models (inference phase) on the embedded systems to make predictions without significant loss in accuracy.

Hardware based methods

Hardware acceleration techniques leverage specialized hardware components, such as Digital Signal Processors (DSPs), Graphics Processing Units (GPUs), Field-Programmable Gate Arrays (FPGAs), and dedicated Neural Network Accelerators (NNAs), to accelerate the inference process and improve the efficiency of embedded machine learning algorithms.

Software based methods

Some Model Optimization (Compression) techniques are mentioned below which are used to compress/alter a ML model in such a way that the model takes less space and makes predictions faster without significant loss in accuracy.

Pruning

Removes less important connections and parameters from the model, resulting in reduced size and complexities.

Quantization

Reduces the precision of parameters by using lower-bit representation (e.g., from 32 bits to 8 bits), leading to a smaller model size and faster inference.

It can be during the training phase (Quantization-aware training) or can be after training (post-training quantization).

Knowledge Distillation

Transfers knowledge from a large, pre-trained teacher network to a smaller student network, resulting in a smaller and efficient model with comparable accuracy.

Low-Rank Factorization

Decomposes weight matrices into lower-rank factors, reducing the number of parameters without significant loss of accuracy.

Network Architecture Search (NAS)

Optimizes network architectures for both accuracy and efficiency, potentially leading to smaller models with high performance.

Parameter Sharing

To-do

Example Weight Sharing

References

[1][2]


This article "Embedded Machine Learning" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Embedded Machine Learning. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.

  1. Ajani, Taiwo Samuel; Imoize, Agbotiname Lucky; Atayero, Aderemi A. (January 2021). "An Overview of Machine Learning within Embedded and Mobile Devices–Optimizations and Applications". Sensors. 21 (13): 4412. Bibcode:2021Senso..21.4412A. doi:10.3390/s21134412. ISSN 1424-8220. PMC 8271867 Check |pmc= value (help). PMID 34203119 Check |pmid= value (help).
  2. Ajani, Taiwo Samuel; Imoize, Agbotiname Lucky; Atayero, Aderemi A. (2021-06-28). "An Overview of Machine Learning within Embedded and Mobile Devices–Optimizations and Applications". Sensors. 21 (13): 4412. Bibcode:2021Senso..21.4412A. doi:10.3390/s21134412. ISSN 1424-8220. PMC 8271867 Check |pmc= value (help). PMID 34203119 Check |pmid= value (help).