Files
cs249r_book/slides/tinyml-mlops.qmd
Vijay Janapa Reddi 17c233d71b fix(slides): repair the 6 unique broken tinyMLx/courseware URLs
Follow-up to #1424. The link-rot tracker reported 405 broken URLs on
the Slides site, dominated by `tinyMLx/courseware/raw/master/edX/...`
references. After de-duplicating, only 6 unique URLs were actually
broken — the other ~325 occurrences were references to those same
6 dead targets repeated across the deck inventory pages.

Cross-checking each broken path against the upstream repo's actual
contents (via the GitHub Contents API) revealed two categories:

CATEGORY A — file exists with extended title; URL needs encoding
  - readings/5-11-1.pdf → readings/5-11-1%20Responsible%20AI%20Intro.pdf
  - readings/5-11-3.pdf → readings/5-11-3%20Sustainable%20AI.pdf

  Both upstream files contain the title in the filename
  (e.g. "5-11-1 Responsible AI Intro.pdf"). The bare-number form in our
  source matched the upstream README, which is itself broken; the
  URL-encoded extended form returns 200.

CATEGORY B — file genuinely missing in upstream repo
  - other/2-1-14.pdf      ("Assignment Solution")
  - readings/4-7-11.pdf   ("Deploying a Multi-Tenant Application")
  - slides/3-1-6.pdf      ("What You'll Learn in This Course")
  - slides/5-6-X.pdf      ("Model Conversion") — `X` is a literal placeholder
                           in the upstream README too

  No correct URL exists; the upstream README references these as
  broken links. Replaced the entire `<a>` cell content with an em-dash
  (—), preserving the table layout and the topic name in the adjacent
  cell, but removing the broken link.

Files touched:
  slides/tinyml-mlops.qmd        (2 URL fixes + 1 em-dash)
  slides/tinyml-applications.qmd (1 em-dash)
  slides/tinyml-deploying.qmd    (1 em-dash)
  slides/tinyml-fundamentals.qmd (1 em-dash)

After this lands, the next nightly link-rot run should report Slides
site clean of `tinyMLx/courseware` failures.
2026-04-26 09:18:04 -04:00

670 lines
33 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Course 4: MLOps for Scaling TinyML"
---
```{=html}
<div style="margin-bottom: 1.5rem;">
<a href="tinyml.html" class="btn-outline">← Back to TinyML Overview</a>
<a href="https://github.com/harvard-edge/cs249r_book/releases/download/slides-latest/MLSysBook-TinyML-All.zip" class="btn-accent" target="_blank">Download All (ZIP)</a>
<a href="https://www.edx.org/professional-certificate/harvardx-tiny-machine-learning" class="btn-outline" target="_blank">edX Course</a>
</div>
<!-- ================================================================ -->
<!-- CHAPTER 5: MLOps for Scaling TinyML -->
<!-- ================================================================ -->
<div class="module-card">
<span class="tag">Chapter 5 · Course 4</span>
<h3>MLOps for Scaling TinyML</h3>
<p class="module-desc">Machine Learning Operations through the lens of TinyML: ML development, training operationalization, continuous training, model conversion, deployment at scale, prediction serving, continuous monitoring, and responsible AI.</p>
<span class="companion">Textbook companion: <a href="https://mlsysbook.ai/vol1/">Vol I Ch 1415</a></span>
</div>
<div class="module-card">
<h4 class="section-header-sm">§5.1 Welcome to MLOps for Scaling TinyML</h4>
<table class="section-list">
<thead>
<tr><th>Topic</th><th class="dl-col">Type</th></tr>
</thead>
<tbody>
<tr>
<td>What to Expect in This Course</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-1-1.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Welcome Message</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-1-2.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Who Should Take This Course?</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-1-3.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>The Past, Present and Future of ML</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-1-4.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Why the Future of ML is Tiny and Bright</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-1-5.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Machine Learning Lifecycle</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-1-6.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Review of Course 1, 2 &amp; 3</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-1-7.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Scaling TinyML</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-1-9.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Introduction to MLOps</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-1-10.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Overview of MLOps</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-1-11.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Course Structure</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-1-12.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Course Activities</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-1-13.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Your Mindset: T-Shaped Skills Needed for ML Engineers</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-1-14.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Who's Who in MLOps for TinyML?</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-1-19.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
</tbody>
</table>
</div>
<div class="module-card">
<h4 class="section-header-sm">§5.2 MLOps: The Big Picture</h4>
<table class="section-list">
<thead>
<tr><th>Topic</th><th class="dl-col">Type</th></tr>
</thead>
<tbody>
<tr>
<td>Overview of MLOps Objectives</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-2-1.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>What is MLOps, DevOps, and AI Ops</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-2-2.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>MLOps: A Use Case Overview</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-2-4.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>MLOps Persona</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-2-5.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>MLOps: Key Activities and Lifecycle</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-2-6.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
</tbody>
</table>
</div>
<div class="module-card">
<h4 class="section-header-sm">§5.3 ML Development</h4>
<table class="section-list">
<thead>
<tr><th>Topic</th><th class="dl-col">Type</th></tr>
</thead>
<tbody>
<tr>
<td>Overview of ML Development</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-3-1.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>ML Development</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-3-2.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Problem Definition</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-3-3.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>How Might You Define KWS</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/other/5-3-4.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Data Selection for KWS</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-3-5.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Why Real Data Matters</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-3-6.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Data Exploration</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-3-7.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Data Visualization Tools</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-3-8.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Feature Engineering</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-3-10.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Feature Engineering for KWS: A Case Study</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-3-11.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Model Prototyping</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-3-12.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Model Prototyping: Research vs. Production</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-3-13.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Model Validation</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-3-15.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Model Evaluation</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-3-16.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Data Engineering</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-3-18.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>ML Development Impact on MLOps</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-3-19.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
</tbody>
</table>
</div>
<div class="module-card">
<h4 class="section-header-sm">§5.4 Training Operationalization</h4>
<table class="section-list">
<thead>
<tr><th>Topic</th><th class="dl-col">Type</th></tr>
</thead>
<tbody>
<tr>
<td>Overview of Training Operationalization</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-4-1.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Training Operationalization</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-4-2.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>CI/CD Triggers</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-4-3.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Software Artifacts</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/other/5-4-5.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Continuous Integration</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-4-6.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>CI Tools</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-4-7.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Continuous Delivery</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-4-8.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Production Deployment</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-4-10.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Online Experimentation</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-4-11.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Production Deployment in ML Deployment</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-4-12.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Case Study Discussion</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/other/5-4-13.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Training Operationalization Impact on MLOps</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-4-14.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
</tbody>
</table>
</div>
<div class="module-card">
<h4 class="section-header-sm">§5.5 Continuous Training</h4>
<table class="section-list">
<thead>
<tr><th>Topic</th><th class="dl-col">Type</th></tr>
</thead>
<tbody>
<tr>
<td>Overview of Continuous Training</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-5-1.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Continuous Training</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-5-2.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Retraining Triggers</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-5-3.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Data Processing Overview</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-5-5.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Data Engineering for Everyone</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-5-6.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Data Ingestion</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-5-8.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Data Validation</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-5-9.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Data Transformation</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-5-10.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Training vs. Tuning</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-5-12.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Training with AutoML</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-5-13.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Neural Architecture Search (NAS) - Part 1</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-5-14.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Neural Architecture Search (NAS) - Part 2</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-5-16.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>The Carbon Price of AutoML: CO2</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-5-17.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Continuous Training with Transfer Learning</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-5-18.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Pros and Cons of Transfer Learning</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-5-19.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Continuous Training Metrics</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-5-21.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Metrics for Continuous Training</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/other/5-5-22.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Continuous Training Impact on MLOps</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-5-23.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td><a href="https://colab.research.google.com/github/harvard-edge/multilingual_kws/blob/main/multilingual_kws_intro_tutorial.ipynb" target="_blank">Optional: Multilingual Spoken Words Colab</a></td>
<td class="dl-col"><span class="badge-colab">Colab</span></td>
</tr>
</tbody>
</table>
</div>
<div class="module-card">
<h4 class="section-header-sm">§5.6 Model Conversion</h4>
<table class="section-list">
<thead>
<tr><th>Topic</th><th class="dl-col">Type</th></tr>
</thead>
<tbody>
<tr>
<td>Overview of Model Conversion</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-6-1.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Model Conversion</td>
<td class="dl-col">—</td>
</tr>
<tr>
<td>ML Frameworks &amp; The Lay of the Land</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-6-3.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>TF vs. TFLite vs. TFLite Micro</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-6-4.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>TFLite Micro for TinyML</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-6-5.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Model Pruning</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-6-7.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Model Clustering</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-6-8.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Model Quantization</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-6-10.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Collaborative Optimizations</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-6-11.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Student Teacher Networks / Knowledge Distillation</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-6-12.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Model Conversion Impact on MLOps</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-6-13.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Model Conversion Case Study - Smart DoorBell</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/other/5-6-14.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
</tbody>
</table>
</div>
<div class="module-card">
<h4 class="section-header-sm">§5.7 Model Deployment</h4>
<table class="section-list">
<thead>
<tr><th>Topic</th><th class="dl-col">Type</th></tr>
</thead>
<tbody>
<tr>
<td>Overview of Model Deployment</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-7-1.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Model Deployment</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-7-2.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Scaling ML into Production Deployment</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-7-3.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Containers for Scaling ML Deployment</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-7-5.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Dockers vs. VMs</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-7-6.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Challenges for Scaling TinyML Deployment (Part 1)</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-7-8.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Challenges for Scaling TinyML Deployment (Part 2)</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-7-9.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Challenges of Scaling TinyML Deployment</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/other/5-7-10.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Anything As A Service</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-7-11.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>TinyMLaaS (Part 1): An Introduction</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-7-12.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>TinyMLaaS (Part 2): Design Overview</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-7-13.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Summary of TinyMLaaS</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-7-14.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Model Deployment Impact on MLOps</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-7-16.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Driving Mode Detection Case Study</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/other/5-7-17.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
</tbody>
</table>
</div>
<div class="module-card">
<h4 class="section-header-sm">§5.8 Prediction Serving</h4>
<table class="section-list">
<thead>
<tr><th>Topic</th><th class="dl-col">Type</th></tr>
</thead>
<tbody>
<tr>
<td>Overview of Prediction Serving</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-8-1.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Prediction Serving</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-8-2.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Prediction Serving Scenarios</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-8-3.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Prediction Serving Scenarios: Batch</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-8-4.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Prediction Serving Scenarios: Online</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-8-5.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Prediction Serving Scenarios: Streaming</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-8-7.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Prediction Serving Scenarios: Embedded</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-8-8.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Prediction Serving Architectures</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-8-10.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Embedded Inference Serving Benchmarks</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-8-12.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Embedded Benchmarks: An Overview</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-8-13.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>MLPerf Tiny</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-8-14.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Prediction Serving Impact on MLOps</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-8-16.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
</tbody>
</table>
</div>
<div class="module-card">
<h4 class="section-header-sm">§5.9 Continuous Monitoring</h4>
<table class="section-list">
<thead>
<tr><th>Topic</th><th class="dl-col">Type</th></tr>
</thead>
<tbody>
<tr>
<td>Overview of Continuous Monitoring</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-9-1.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Continuous Monitoring</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-9-2.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Model Drift: The Big Picture</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-9-3.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Concept Drift</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-9-4.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Data Drift</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-9-5.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Dealing With Drift</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-9-8.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Continuous Evaluation Challenges for TinyML</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-9-9.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>TinyML Communication Challenges &amp; Technologies for Continuous Monitoring</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-9-10.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>On-device Training: Limitations and Opportunities</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-9-12.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Continuous Monitoring with Federated ML</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-9-13.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Federated Learning Gboard</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-9-14.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Continuous Monitoring Impact on MLOps</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-9-16.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>The Privacy vs Performance Trade Off</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/other/5-9-17.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td><a href="https://colab.research.google.com/github/tinyMLx/colabs/blob/course4/5_9_9_FederatedLearning.ipynb" target="_blank">Optional: Federated Learning Colab</a></td>
<td class="dl-col"><span class="badge-colab">Colab</span></td>
</tr>
</tbody>
</table>
</div>
<div class="module-card">
<h4 class="section-header-sm">§5.10 Data &amp; Model Management</h4>
<table class="section-list">
<thead>
<tr><th>Topic</th><th class="dl-col">Type</th></tr>
</thead>
<tbody>
<tr>
<td>Model vs. Data Management</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-10-1.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Data and Model Management</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-10-2.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
</tbody>
</table>
</div>
<div class="module-card">
<h4 class="section-header-sm">§5.11 Responsible AI: Transparency &amp; Sustainability</h4>
<table class="section-list">
<thead>
<tr><th>Topic</th><th class="dl-col">Type</th></tr>
</thead>
<tbody>
<tr>
<td>Responsible AI Overview</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-11-1%20Responsible%20AI%20Intro.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Sustainability of TinyML</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-11-2.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>Sustainable AI</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-11-3%20Sustainable%20AI.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Model Cards for Transparency</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-11-5.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>TinyML for Social Impact</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-11-7.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
</tbody>
</table>
</div>
<div class="module-card">
<h4 class="section-header-sm">§5.12 Summary</h4>
<table class="section-list">
<thead>
<tr><th>Topic</th><th class="dl-col">Type</th></tr>
</thead>
<tbody>
<tr>
<td>Course Summary</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/readings/5-12-1.pdf" target="_blank" class="badge-reading">Reading</a></td>
</tr>
<tr>
<td>Key Concepts of MLOps</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-12-2.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
<tr>
<td>What's Next?</td>
<td class="dl-col"><a href="https://github.com/tinyMLx/courseware/raw/master/edX/slides/5-12-3.pdf" target="_blank" class="badge-slides">Slides</a></td>
</tr>
</tbody>
</table>
</div>
```
::: {.callout-note}
These materials were originally developed for the [HarvardX Professional Certificate in Tiny Machine Learning](https://www.edx.org/professional-certificate/harvardx-tiny-machine-learning) on edX. See the [original curriculum](tinyml/README-edx-original.md) for the full item-by-item breakdown including forum prompts and quizzes not listed above.
:::