PORTALE DELLA DIDATTICA

PORTALE DELLA DIDATTICA

PORTALE DELLA DIDATTICA

Elenco notifiche



Embedded Electronic Systems for AI/ML

01TVUOQ

A.A. 2024/25

Course Language

Inglese

Degree programme(s)

Master of science-level of the Bologna process in Ingegneria Elettronica (Electronic Engineering) - Torino

Course structure
Teaching Hours
Lezioni 30
Esercitazioni in aula 15
Esercitazioni in laboratorio 15
Lecturers
Teacher Status SSD h.Les h.Ex h.Lab h.Tut Years teaching
Lavagno Luciano Professore Ordinario IINF-01/A 15 15 0 0 5
Co-lectures
Espandi

Context
SSD CFU Activities Area context
ING-INF/01 6 D - A scelta dello studente A scelta dello studente
2023/24
The course is taught entirely in English. The course begins by introducing the main concepts and algorithms behind the most common Machine Learning and Artificial Intelligence methods and algorithms. Then it describes the main hardware platforms used for both training and inferencing, and their impact on the algorithm design and optimization, with a particular focus on embedded platforms and hardware acceleration support. Finally it provides hands-on experience programming some significant applications on commonly used embedded AI platforms (e.g. Movidius, Zynq, ...). It does not require any background on AI or ML, but a solid knowledge of linear algebra, of programming in C/C++ and some knowledge of processor architecture and hardware design.
The course is taught entirely in English. Machine Learning and Artificial Intelligence methods and solutions are being applied to every human activity, from agriculture to zoology. Effective implementation of ML and AI algorithms, in particular in the embedded context, is essential to enable this transition on a broad scale. The course begins by introducing the main concepts and algorithms behind the most common Machine Learning and Artificial Intelligence methods and algorithms. Then it describes the main hardware platforms used for both training and inferencing, and their impact on the algorithm design and optimization, with a particular focus on embedded platforms and hardware acceleration support. Finally it provides hands-on experience of programming some significant applications on commonly used embedded AI platforms (e.g. Movidius, Zynq, ...). It does not require any background on AI or ML, but a solid knowledge of linear algebra, of programming in C/C++ and some knowledge of processor architecture and hardware design.
- Knowledge of the main computational models and algorithms for ML and AI (e.g. regression, Support Vector Machine, Singular Value Decomposition, Neural Networks, ....) - Knowledge of the main platforms to implement training and inferencing (CPUs, GPUs, vector processors, FPGAs, Tensor Processing Units) - Knowledge of the main techniques for training and quantization of Neural Networks (DNNs, CNNs, LSTMs, ...) - Knowledge of some programming environments for some embedded AI/ML platforms - Ability to understand an ML or AI and discuss algorithmic implementation options with AI/ML experts and domain experts - Ability to select the best implementation platform for a given training or inferencing task - Ability to program and optimize an AI/ML application using a variety of acceleration options, from vector processors to FPGAs
- Knowledge of the main computational models and algorithms for ML and AI (e.g. regression, Support Vector Machine, Neural Networks, ....) - Knowledge of the main platforms to implement training and inferencing (CPUs, GPUs, vector processors, FPGAs, Tensor Processing Units) - Knowledge of the main techniques for training and quantization of Neural Networks (DNNs, CNNs, LSTMs, ...) - Knowledge of some programming environments for some embedded AI/ML platforms - Ability to understand an ML or AI application and discuss its algorithmic implementation options with AI/ML experts and application domain experts - Ability to select the best implementation platform for a given training or inferencing task - Ability to program and optimize an AI/ML application using a variety of acceleration options, from vector processors to FPGAs
There is no required background on Machine Learning or Artifical Intelligence A good background is required about: - Linear algebra - C/C++ programming - Processor architecture - Hardware design at Register Transfer Level
There is no required background on Machine Learning or Artificial Intelligence The course requires a good background about: - Linear algebra - C/C++ programming - Processor and memory architecture - Hardware design at Register Transfer Level
- Embedded applications of Artificial Intelligence and Machine Learning (e.g. precision agriculture, robotics, Automated Driver Assistance, Unmanned Aerial Vehicles, medicine, ...) - Main models and their training/inferencing algorithms: regression, Support Vector Machines, Neural Networks (Deep, Convolutional and Recursive), K-Means, SIngular Value Decomposition, Principal Component Analysis - Hardware platforms, in particular for embedded inferencing (but not only): CPUs, GPUs, Vector Processors (e.g. Xeon, Movidius), FPGAs, TPUs, ... - Differences between training and inferencing, and hardware platform requirements - HW design abstraction levels, HW/SW partitioning and HW acceleratoon, C++ for beginners - AI/ML design frameworks, with a particular emphasis on NN training and quantization (e.g. pytorch, tensorflow/keras) - Code optimization and compilation for DSPs and GPUs (e.g. OpenCL, SyCl) - High-level design and synthesis for ML/AI acceleration (e.g. Xilinx Vitis)
- Embedded applications of Artificial Intelligence and Machine Learning (e.g. precision agriculture, robotics, Automated Driver Assistance, Unmanned Aerial Vehicles, medicine, ...) (1 hour) - Main AI/ML models and their training/inferencing algorithms: regression, Support Vector Machines, Neural Networks (Deep, Convolutional and Recursive), Singular Value Decomposition and Principal Component Analysis, clustering (18 hours) - Hardware platforms, in particular for embedded inferencing (and training, when applicable): CPUs, GPUs, Vector Processors (e.g. Xeon, Movidius), FPGAs, TPUs, ... (12 hours) - Differences between training and inferencing, and hardware platform requirements (5 hours) - HW design abstraction levels, HW/SW partitioning and HW acceleration, C++ and python for beginners (3 hours) - AI/ML design frameworks, with a particular emphasis on NN training and quantization (e.g. pytorch, tensorflow/keras) (9 hours) - Code optimization and compilation for DSPs and GPUs (e.g. OpenCL, SyCl) (6 hours) - High-level design and synthesis for ML/AI acceleration (e.g. Xilinx Vitis) (6 hours)
The lessons will include exercises to reinforce the learning of the course topics. Laboratory sessions will include the use of both training and quantization algorithms for neural networks and of software and hardware compilation and implementation tools
The lessons will include exercises to reinforce the learning of the course topics. Laboratory sessions will include the use of both training and quantization algorithms for neural networks and of software and hardware compilation and implementation tools for the vector processor, GPU, TPU and FPGA platforms
- Machine LEarning Yearning https://www.deeplearning.ai/machine-learning-yearning/ - Efficient Processing of Deep Neural Networks: A Tutorial and Survey, https://ieeexplore.ieee.org/document/8114708
- Machine Learning Yearning https://www.deeplearning.ai/machine-learning-yearning/ - Efficient Processing of Deep Neural Networks: A Tutorial and Survey, https://ieeexplore.ieee.org/document/8114708 Slides from the lectures will be made available
Slides; Esercizi; Esercitazioni di laboratorio; Video lezioni dell’anno corrente; Video lezioni tratte da anni precedenti;
Lecture slides; Exercises; Lab exercises; Video lectures (current year); Video lectures (previous years);
Modalità di esame: Prova orale facoltativa; Prova scritta in aula tramite PC con l'utilizzo della piattaforma di ateneo;
Exam: Optional oral exam; Computer-based written test in class using POLITO platform;
... The exam is aimed at evaluating the knowledge of the topics listed above and the ability to apply the theory and methods to solving exercises. The exam will be composed of - a closed-book PC-based part, with a duration of 90 minutes and a maximum grade of 30/30, including exercises and quizzes, covering the practical aspects of the course, and - an OPTIONAL oral part, covering the entire course contents listed above, with a specific focus on the theory, methods and algorithms. It allows one to change the score of the written test, and to get a 30 lode grade. More in detail, the PC-based exam includes: - 10 closed form quizzes, each worth 1 point, without penalty for incorrect answers, covering the theoretical aspects of the course topics, and - 2 numerical exercises, each worth 10 points, on quantitative analysis of some examples of platforms or implementations of ML training and inferencing algorithms covered during the course. For the numerical exercises, both the formulae that were used by the student and the numerical answers will be evaluated. During the PC-based exam students cannot use any notes or books. A personal calculator, in addition to the one provided by the Exam platform, is allowed. The results of the exam are communicated on the teaching portal, with the date when students can ask for clarifications in person and take the optional oral exam.
Gli studenti e le studentesse con disabilità o con Disturbi Specifici di Apprendimento (DSA), oltre alla segnalazione tramite procedura informatizzata, sono invitati a comunicare anche direttamente al/la docente titolare dell'insegnamento, con un preavviso non inferiore ad una settimana dall'avvio della sessione d'esame, gli strumenti compensativi concordati con l'Unità Special Needs, al fine di permettere al/la docente la declinazione più idonea in riferimento alla specifica tipologia di esame.
Exam: Optional oral exam; Computer-based written test in class using POLITO platform;
The exam is aimed at evaluating the knowledge of the topics listed above and the ability to apply the theory and methods to solving exercises. The exam will be composed of - a closed-book PC-based part, with a duration of 90 minutes and a maximum grade of 30/30, including exercises and quizzes, covering the practical aspects of the course, and - an OPTIONAL oral part, covering the entire course contents listed above, with a specific focus on the theory, methods and algorithms. It allows one to change the score of the written test, and to get a 30 lode grade. More in detail, the PC-based exam includes: - 10 closed form quizzes, each worth 1 point, without penalty for incorrect answers, covering the theoretical aspects of the course topics, and - 2 numerical exercises, each worth 10 points, on quantitative analysis of some examples of platforms or implementations of ML training and inferencing algorithms covered during the course. For the numerical exercises, both the formulae that were used by the student and the numerical answers will be evaluated. During the PC-based exam students cannot use any notes or books. A personal calculator, in addition to the one provided by the Exam platform, is allowed. The results of the exam are communicated on the teaching portal, with the date when students can ask for clarifications in person and take the optional oral exam.
In addition to the message sent by the online system, students with disabilities or Specific Learning Disorders (SLD) are invited to directly inform the professor in charge of the course about the special arrangements for the exam that have been agreed with the Special Needs Unit. The professor has to be informed at least one week before the beginning of the examination session in order to provide students with the most suitable arrangements for each specific type of exam.
Esporta Word