Skip to content

Commit

Permalink
Added placeholder for learning objectives
Browse files Browse the repository at this point in the history
  • Loading branch information
profvjreddi committed Oct 5, 2023
1 parent 2db0088 commit 52906d3
Show file tree
Hide file tree
Showing 21 changed files with 170 additions and 5 deletions.
11 changes: 10 additions & 1 deletion _quarto.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,15 @@ project:
type: book
output-dir: _book

abstract: Machine Learning Systems for TinyML offers comprehensive guidance on deploying machine learning on embedded devices. As edge computing and the Internet of Things proliferate, this textbook provides professionals and students the expertise to implement performant AI on resource-constrained hardware. A unique aspect of this book elucidates the entire machine learning workflow, from data engineering through training, optimization, acceleration, and production deployment. Key topics covered include deep learning and classical ML algorithms for embedded systems, efficient neural network architectures, hardware-aware training techniques, model compression, benchmarking for tinyML, and on-device learning. Additional chapters highlight cutting-edge advances like on-device data generation and crucial considerations around reliability, privacy, security, and responsible AI. With its rigorous approach spanning theory and practice across diverse tinyML application domains like smart homes, wearables, and industrial IoT, the book enables readers to develop specialized knowledge. Using concrete use cases and hands-on examples, readers will learn to apply machine learning to transform embedded and IoT systems. Overall, this indispensable guide provides a research-based foundation for leveraging machine learning in embedded systems.
website:
comments:
hypothesis:
theme: clean
openSidebar: true

#abstract: Machine Learning Systems for TinyML offers comprehensive guidance on deploying machine learning on embedded devices. As edge computing and the Internet of Things proliferate, this textbook provides professionals and students the expertise to implement performant AI on resource-constrained hardware. A unique aspect of this book elucidates the entire machine learning workflow, from data engineering through training, optimization, acceleration, and production deployment. Key topics covered include deep learning and classical ML algorithms for embedded systems, efficient neural network architectures, hardware-aware training techniques, model compression, benchmarking for tinyML, and on-device learning. Additional chapters highlight cutting-edge advances like on-device data generation and crucial considerations around reliability, privacy, security, and responsible AI. With its rigorous approach spanning theory and practice across diverse tinyML application domains like smart homes, wearables, and industrial IoT, the book enables readers to develop specialized knowledge. Using concrete use cases and hands-on examples, readers will learn to apply machine learning to transform embedded and IoT systems. Overall, this indispensable guide provides a research-based foundation for leveraging machine learning in embedded systems.
include-in-header:
text: <script src="https://hypothes.is/embed.js" async></script>

book:
page-navigation: true
Expand Down Expand Up @@ -80,6 +88,7 @@ format:
theme:
- cosmo
- style.scss
mainfont: Nunito
code-link: true
link-external-icon: true
link-external-newwindow: true
Expand Down
7 changes: 7 additions & 0 deletions ai_for_good.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,13 @@ All of this technological discussion around embedded AI and TinyML we have been

> The "AI for Good" movement plays a critical role in cultivating a future where an AI-empowered society is more just, sustainable, and prosperous for all of humanity.
::: {.callout-note collapse="true"}
## Learning Objectives

* coming soon.

:::

## Introduction

To give ourselves a framework around which to think about AI for social good, we will be following the UN Sustainable Development Goals (SDGs). The UN SDGs are a collection of 17 global goals adopted by the United Nations in 2015 as part of the 2030 Agenda for Sustainable Development. The SDGs address global challenges related to poverty, inequality, climate change, environmental degradation, prosperity, and peace and justice.
Expand Down
7 changes: 7 additions & 0 deletions benchmarking.qmd
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Benchmarking AI

::: {.callout-note collapse="true"}
## Learning Objectives

* coming soon.

:::

## Introduction

Explanation: Introducing the concept and importance of benchmarking sets the stage for the reader to understand why it is crucial in the evaluation and optimization of AI systems, especially in resource-constrained embedded environments where it is even more important!
Expand Down
7 changes: 6 additions & 1 deletion case_studies.qmd
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
# Case Studies

coming soon.
::: {.callout-note collapse="true"}
## Learning Objectives

* coming soon.

:::
7 changes: 7 additions & 0 deletions data_engineering.qmd
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Data Engineering

::: {.callout-note collapse="true"}
## Learning Objectives

* coming soon.

:::

## Introduction

Explanation: This section establishes the groundwork, defining data engineering and explaining its importance and role in Embedded AI. A well-rounded introduction will help in establishing the foundation for the readers.
Expand Down
9 changes: 8 additions & 1 deletion dl_primer.qmd
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
# Deep Learning Primer

## Overview
::: {.callout-note collapse="true"}
## Learning Objectives

* coming soon.

:::

## Introduction

### Definition and Importance

Expand Down
7 changes: 7 additions & 0 deletions efficient_ai.qmd
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Efficient AI

::: {.callout-note collapse="true"}
## Learning Objectives

* coming soon.

:::

## Introduction

In this chapter, we dive into the concepts that govern efficiency in AI systems. It is of paramount importance, especially in the context of embedded TinyML systems. The computational demands of neural networks can be overwhelming, even in the smallest of systems. Efficiency in AI isn't just a luxury---it's a necessity. For AI to truly be integrated into everyday devices and critical systems, it must operate within the constraints of limited resources without compromising its effectiveness. The drive for efficiency ensures that AI models are lean, fast, and sustainable, making their application viable across a broader range of platforms and scenarios.
Expand Down
7 changes: 7 additions & 0 deletions embedded_ml.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,13 @@ Before delving into the intricacies of TinyML, it's crucial to grasp the distinc

![Cloud vs. Edge vs. TinyML: The Spectrum of Distributed Intelligence](images/cloud-edge-tiny.png)

::: {.callout-note collapse="true"}
## Learning Objectives

* coming soon.

:::

## Cloud ML

### Characteristics
Expand Down
22 changes: 22 additions & 0 deletions embedded_sys.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,28 @@ In the domain of TinyML, embedded systems serve as the bedrock, providing a robu

As we journey further into this chapter, we will demystify the intricate yet captivating realm of embedded systems, gaining insights into their structural design, operational features, and the crucial part they play in enabling TinyML applications. From an introduction to the fundamentals of microcontroller units to a deep dive into the interfaces and peripherals that amplify their capabilities, this chapter aims to be a comprehensive guide for understanding the nuanced aspects of embedded systems within the TinyML landscape.

::: {.callout-note collapse="true"}
## Learning Objectives

* Understand the definition, characteristics, history, and importance of embedded systems, especially in relation to tinyML.

* Examine the embedded system architecture including microcontrollers vs microprocessors, memory types and management, and System on Chip (SoC).

* Explore embedded system programming including languages like C and Python, firmware development, and real-time operating systems (RTOS).

* Discuss interfaces and peripherals like digital/analog I/O, communication protocols, etc.

* Analyze power management considerations, energy-efficient design, and battery management.

* Understand real-time characteristics of embedded systems including clocks, timing, task scheduling, and error handling.

* Evaluate security, reliability and safety-critical aspects of embedded systems.

* Identify future trends and challenges like edge computing, scalability, and market opportunities.

:::


## Basics and Components

### Definition and Characteristics
Expand Down
13 changes: 11 additions & 2 deletions ethics.qmd
Original file line number Diff line number Diff line change
@@ -1,7 +1,16 @@
# Responsible AI
# Ethical AI

::: {.callout-note collapse="true"}
## Learning Objectives

* coming soon.

:::

## Responsible AI

coming soon.

# AI Safety
## AI Safety

coming soon.
7 changes: 7 additions & 0 deletions frameworks.qmd
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# AI Frameworks

::: {.callout-note collapse="true"}
## Learning Objectives

* coming soon.

:::

## Introduction

Explanation: Discuss what ML frameworks are and why they are important. Also, elaborate on the aspects involved in understanding how an ML framework is developed and deployed.
Expand Down
7 changes: 7 additions & 0 deletions generative_ai.qmd
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Generative AI

::: {.callout-note collapse="true"}
## Learning Objectives

* coming soon.

:::

I'll be candid - this chapter might be a bit of a leap. As of now, the concept of Generative AI in embedded systems is in its infancy. But I think it's crucial to take a stab at this emerging field, to anticipate the advancements and opportunities it holds for us in the future. It's a gamble, but one that could offer some food for thought into the future of AI technology.

![Generative AI Evolution](./images/generative_ai_evolution.png)
Expand Down
7 changes: 7 additions & 0 deletions hw_acceleration.qmd
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# AI Acceleration

::: {.callout-note collapse="true"}
## Learning Objectives

* coming soon.

:::

## Introduction

Explanation: This section lays the groundwork for the chapter, introducing readers to the fundamental concepts of hardware acceleration and its role in enhancing the performance of AI systems, particularly embedded AI. This context is essential because hardware acceleration is a pivotal topic in the domain of embedded AI.
Expand Down
6 changes: 6 additions & 0 deletions ondevice_learning.qmd
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# On-Device Learning

::: {.callout-note collapse="true"}
## Learning Objectives

* coming soon.

:::

## Introduction

Expand Down
7 changes: 7 additions & 0 deletions ops.qmd
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Embedded AIOps

::: {.callout-note collapse="true"}
## Learning Objectives

* coming soon.

:::

## Introduction

Explanation: This subsection sets the groundwork for the discussions to follow, elucidating the fundamental concept of MLOps and its critical role in enhancing the efficiency, reliability, and scalability of embedded AI systems. It outlines the unique characteristics of implementing MLOps in an embedded context, emphasizing its significance in the streamlined deployment and management of machine learning models.
Expand Down
7 changes: 7 additions & 0 deletions optimizations.qmd
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Model Optimizations

::: {.callout-note collapse="true"}
## Learning Objectives

* coming soon.

:::

## Introduction

This chapter stands as a critical overview of what is coming in the next few chapters that will offer readers an in-depth exploration of the multifaceted world of ML frameworks, highlighting their significance, functionalities, and the potential to revolutionize embedded systems development. As embedded devices continue to permeate various aspects of daily life, from healthcare to home automation, a comprehensive understanding of these frameworks not only serves as a bridge between concept and application but also as a catalyst in fostering innovations that are efficient, adaptable, and primed for the future.
Expand Down
7 changes: 7 additions & 0 deletions privacy_security.qmd
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Privacy and Security

::: {.callout-note collapse="true"}
## Learning Objectives

* coming soon.

:::

## Introduction

Explanation: In this section, we will set the stage for the readers by introducing the critical role of privacy and security in embedded AI systems. Understanding the foundational concepts is essential to appreciate the various nuances and strategies that will be discussed in the subsequent sections.
Expand Down
7 changes: 7 additions & 0 deletions responsible_ai.qmd
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Responsible AI

::: {.callout-note collapse="true"}
## Learning Objectives

* coming soon.

:::

## Introduction

Explanation: In this introduction, we lay the groundwork by explicating the pivotal role of responsibility in AI, focusing on the integration of ethical considerations and accountability in the development and deployment of embedded AI systems.
Expand Down
9 changes: 9 additions & 0 deletions style.scss
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,17 @@
$primary: #A51C30 !default;
$font-size-root: 16px !default;

@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;800&display=swap');

$border-color-left: #0dcaf0 !default;
$icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-twitter" viewBox="0 0 16 16"> <path d="M5.026 15c6.038 0 9.341-5.003 9.341-9.334 0-.14 0-.282-.006-.422A6.685 6.685 0 0 0 16 3.542a6.658 6.658 0 0 1-1.889.518 3.301 3.301 0 0 0 1.447-1.817 6.533 6.533 0 0 1-2.087.793A3.286 3.286 0 0 0 7.875 6.03a9.325 9.325 0 0 1-6.767-3.429 3.289 3.289 0 0 0 1.018 4.382A3.323 3.323 0 0 1 .64 6.575v.045a3.288 3.288 0 0 0 2.632 3.218 3.203 3.203 0 0 1-.865.115 3.23 3.23 0 0 1-.614-.057 3.283 3.283 0 0 0 3.067 2.277A6.588 6.588 0 0 1 .78 13.58a6.32 6.32 0 0 1-.78-.045A9.344 9.344 0 0 0 5.026 15z"/></svg>') !default;

$background-color: #bfe4eb !default;

/*-- scss:rules --*/



.sidebar-title {
color: #A51C30;
}
Expand Down
7 changes: 7 additions & 0 deletions training.qmd
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# AI Training

::: {.callout-note collapse="true"}
## Learning Objectives

* coming soon.

:::

## Introduction

Explanation: An introductory section sets the stage for the reader, explaining what AI training is and why it's crucial, especially in the context of embedded systems. It helps to align the reader's expectations and prepares them for the upcoming content.
Expand Down
7 changes: 7 additions & 0 deletions workflow.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,13 @@ In this chapter, we'll explore the machine learning (ML) workflow, setting the s

The ML workflow is a structured approach that guides professionals and researchers through the process of developing, deploying, and maintaining ML models. This workflow is generally divided into several crucial stages, each contributing to the effective development of intelligent systems.

::: {.callout-note collapse="true"}
## Learning Objectives

* coming soon.

:::

## Overview

An ML workflow is a systematic process that encompasses the development, deployment, and maintenance of ML models. The typical steps involved are:
Expand Down

0 comments on commit 52906d3

Please sign in to comment.