Sachin C's Senior Project Blog
|
Project Title: Modeling the Energy Consumption of Small-Scale AI Models on Microcontrollers BASIS Advisor: John Goodwin Internship Location: Paradise Valley Community College Onsite Mentor: Joshua Frisby |
Project Abstract
The rise of artificial intelligence (AI) and Internet of Things (IoT) devices has necessitated the development of small-scale AI models capable of running natively on energy-effective microcontrollers. This research investigates optimal microcontroller architectures and the hardware components essential for the production and deployment of AI models tailored toward image recognition. By evaluating the lightweight AI architecture MobileNet and exploring hardware accelerators such as field-programmable gate arrays (FPGAs) and application-specific integrated circuits (ASICs), this study highlights strategies to maximize energy efficiency and performance on resource-constrained devices such as microcontrollers. Techniques such as pruning, quantization, and knowledge distillation are examined in this research, reducing model complexity while preserving accuracy. The analysis also considers the advantages of native AI computing over cloud-based alternatives. This research bridges gaps in understanding how to scale AI models for small-scale hardware, paving the way for more accessible and sustainable edge computing solutions.
Week #11 — Thank you.
Dear reader, Thank you for reading my blog posts these past 11 weeks. Through this time, I renewed my passion for computers in a way I never could have possibly expected. I accomplished things I never thought I'd be able to and discovered things that fascinated me even as I was hastily scribbling them... Read More
Week #10 — Presentation Work
Welcome back! This week, I chose to just go ahead and complete the first draft of the paper. I finished the first version of the results and conclusion section, as well as an additional section on the limitations of the project. I then submitted it to be reviewed by some of my lovely peers and... Read More
Week #9 — Paper Finalization
Welcome back! This past week, I have been busy finishing the data collection of my project and porting it into various graphs that show a clear relationship between the various controllers. Regarding that, I am glad to report that I have finished the collection and the graph analysis. All that remains for my project is... Read More
Week #8 — The Testing
Hello! This week, I continued to test the hardware that has slowly been coming in the mail. I am using a USB-C voltage meter as my device to measure power consumption, as all of the controllers use a USB-C based connection to their power rails. This has a passthrough to allow the power cable... Read More
Week #7 — Hardware Changes
Hello, and welcome back! This week, I finished the model that I intend on testing the controllers on. I finalized the dataset, and trained the final version of the model using the latest architecture. Additionally, I made some changes to the hardware I intend on testing. The Texas Instruments AM69 board I detailed in... Read More
Week #6 — The Method to Test
Hello! Now that my AI model is close to completion, I have to turn an eye to how I plan on measuring the energy consumption of each microcontroller. I don't want to use a bulky operating system on the microcontroller itself to ensure its internal energy consumption remains relatively low. To get accurate data, I... Read More
Week #5 — Training the Model
Welcome back! This week, I decided to begin finalizing my dataset and training my AI model. The very first thing I (and my father) have noticed is how much energy training the model consumes. How Training Works Training an AI model involves feeding it labeled images, allowing it to adjust its internal parameters (weights... Read More
Week #4 — Hardware
This week, as I continued developing the artificial intelligence model's dataset, I took a small break and began investigating the hardware I would be using for the experiment. Raspberry Pi 4 Model B Processor: Quad-core Cortex-A72 RAM: 2GB/4GB/8GB LPDDR4 Why Test It? This is a higher-end microcontroller with more memory and processing power than typical... Read More
Week #3 — MobileNet
This week, I took a break from data collection to learn more about MobileNet, the architecture I intend to use to develop my model. What is MobileNet? MobileNet is a convolutional neural network (CNN) optimized for devices with limited computing power. This makes it a good candidate for microcontrollers. It was introduced by Google in... Read More
Week #2 — The Dataset, Contd.
Hello! Now that I’ve begun the process of gathering and preprocessing my dataset, my logical next step is to begin figuring out how to train my AI model. This involves selecting the right architecture, fine-tuning hyperparameters, and ensuring that the model performs efficiently on limited hardware. This week: Choosing the Model Architecture: Since I’m working... Read More
Week #1 — The Dataset
This week, I began the process of gathering data to train the artificial intelligence model I intend to use on the microcontrollers. AI models scale in quality based on the data they are trained on, so gathering a satisfactory sample of training images is quite important for an unbiased experiment. Curating Existing Datasets: I am... Read More
Introduction
Welcome to my Senior Project Blog! Hi everyone! I'm excited to welcome you to my Senior Project Blog. This space will document my journey as I explore my chosen area of research during Trimester 3. Project Title: Modeling the Energy Consumption of Compact Image Recognition AI Models on Microcontrollers Thought it sounds complicated, I will... Read More