Files
cs249r_book/instructors/index.qmd
Vijay Janapa Reddi 1eb30f5f86 fix(mlsysim): harden release QA and paper artifacts
Align the MLSys·im code, docs, paper, website, workflows, and lab wheel for the 0.1.1 release. This also fixes runtime/API issues found during release review and prepares the paper PDF plus archive package.
2026-04-25 10:06:01 -04:00

612 lines
20 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.
---
pagetitle: "The AI Engineering Blueprint"
title: "The AI Engineering Blueprint"
subtitle: "Everything an instructor needs to teach AI Systems — two semesters of syllabi, interactive labs, a build-from-scratch framework, hardware kits, and a complete assessment system. Open-source and ready to adopt."
---
```{=html}
<style>
/* ── Stats Row ────────────────────────────────────────────────────── */
.stats-row {
display: flex;
gap: 1.5rem;
flex-wrap: wrap;
margin: 0.5rem 0 2rem;
padding-bottom: 1.5rem;
border-bottom: 1px solid #e2e8f0;
}
.stat { text-align: center; }
.stat-num {
font-size: 1.6rem;
font-weight: 700;
color: #A51C30;
display: block;
line-height: 1.2;
}
.stat-lbl {
font-size: 0.75rem;
color: #64748b;
text-transform: uppercase;
letter-spacing: 0.05em;
}
/* ── Action Buttons ───────────────────────────────────────────────── */
.action-row {
display: flex;
gap: 0.75rem;
flex-wrap: wrap;
margin-bottom: 2rem;
}
.action-row a {
display: inline-block;
padding: 0.5rem 1.2rem;
border-radius: 7px;
font-weight: 600;
font-size: 0.88rem;
text-decoration: none;
transition: all 0.2s;
}
.btn-accent {
background: #A51C30;
color: white !important;
}
.btn-accent:hover { background: #818cf8; }
.btn-outline {
border: 1.5px solid #e2e8f0;
color: #475569 !important;
}
.btn-outline:hover { border-color: #A51C30; color: #fff !important; background: #A51C30; }
/* ── Pillars Grid ─────────────────────────────────────────────────── */
.pillars-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 0.75rem;
margin: 1.5rem 0 2rem;
}
@media (max-width: 600px) {
.pillars-grid { grid-template-columns: repeat(2, 1fr); }
}
.pillar {
text-align: center;
padding: 1rem 0.5rem;
background: #f8fafc;
border: 1px solid #e2e8f0;
border-radius: 8px;
}
.pillar-icon { font-size: 1.5rem; }
.pillar-label {
display: block;
font-size: 0.82rem;
font-weight: 600;
color: #1a1a2e;
margin-top: 0.3rem;
}
.pillar-sub {
font-size: 0.7rem;
color: #64748b;
display: block;
}
/* ── Section Headers ──────────────────────────────────────────────── */
.section-header {
font-size: 1.1rem;
font-weight: 700;
margin: 2.5rem 0 0.75rem;
padding: 0.5rem 0.75rem;
background: #f8fafc;
border-left: 4px solid #A51C30;
border-radius: 0 6px 6px 0;
color: #1a1a2e;
}
/* ── Inventory Table ──────────────────────────────────────────────── */
.inv-table {
width: 100%;
border-collapse: collapse;
margin: 0 0 0.5rem;
}
.inv-table td {
padding: 0.65rem 0.75rem;
border-bottom: 1px solid #f1f5f9;
vertical-align: top;
font-size: 0.9rem;
}
.inv-table td:first-child {
width: 160px;
font-weight: 600;
color: #1a1a2e;
white-space: nowrap;
}
.inv-table td:nth-child(2) { color: #4a5568; }
.inv-table td:last-child {
width: 120px;
text-align: right;
}
.inv-table a {
color: #A51C30 !important;
text-decoration: none;
font-weight: 500;
font-size: 0.8rem;
}
.inv-table a:hover { text-decoration: underline; }
.inv-table tr:hover { background: #fafbfd; }
/* ── Semester Cards ───────────────────────────────────────────────── */
.semester-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
gap: 1.25rem;
margin: 1rem 0 0;
}
@media (max-width: 500px) {
.semester-grid { grid-template-columns: 1fr; }
}
.semester-card {
background: #ffffff;
border: 1px solid #e2e8f0;
border-radius: 10px;
padding: 1.5rem;
transition: all 0.2s;
text-decoration: none;
color: inherit;
position: relative;
overflow: hidden;
}
.semester-card:hover {
border-color: #A51C30;
box-shadow: 0 6px 18px rgba(99, 102, 241, 0.08);
}
.semester-card::before {
content: '';
position: absolute;
top: 0; left: 0; width: 4px; height: 100%;
background: #A51C30;
}
.semester-card .tag {
font-size: 0.7rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.08em;
color: #A51C30;
margin-bottom: 0.25rem;
display: block;
}
.semester-card h3 {
font-size: 1.15rem;
font-weight: 700;
margin: 0 0 0.4rem 0;
border: none !important;
padding: 0 !important;
}
.semester-card p {
font-size: 0.88rem;
color: #5a6369;
line-height: 1.45;
margin-bottom: 0.75rem;
}
.semester-card .week-preview {
font-size: 0.75rem;
color: #94a3b8;
border-top: 1px solid #f1f5f9;
padding-top: 0.6rem;
margin: 0;
}
/* ── Timeline ─────────────────────────────────────────────────────── */
.timeline-section { margin: 2rem 0 0; }
.timeline-section img {
width: 100%;
border: 1px solid #e2e8f0;
border-radius: 8px;
}
/* ── Footer CTA ───────────────────────────────────────────────────── */
.footer-cta {
background: #f8fafc;
border: 1px solid #e2e8f0;
border-radius: 10px;
padding: 2rem;
text-align: center;
margin-top: 2rem;
}
.footer-cta h2 {
font-size: 1.3rem;
margin: 0 0 0.4rem;
border: none !important;
padding: 0 !important;
}
.footer-cta p {
color: #64748b;
font-size: 0.9rem;
margin: 0 0 1.25rem;
}
.footer-cta a {
display: inline-block;
padding: 0.5rem 1.25rem;
border-radius: 7px;
font-weight: 600;
font-size: 0.85rem;
text-decoration: none;
transition: all 0.2s;
margin: 0 0.25rem;
}
.footer-cta .btn-primary {
background: #A51C30;
color: white !important;
}
.footer-cta .btn-primary:hover { background: #818cf8; }
.footer-cta .btn-secondary {
border: 1.5px solid #e2e8f0;
color: #4a5568 !important;
}
.footer-cta .btn-secondary:hover { border-color: #A51C30; color: #A51C30 !important; }
/* ── The Books (Vol I and Vol II) ─────────────────────────────────── */
.volumes-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
gap: 1.5rem;
margin: 1rem 0 0;
}
.volume-card {
display: flex;
gap: 1.25rem;
padding: 1.25rem;
background: #ffffff;
border: 1px solid #e2e8f0;
border-radius: 10px;
transition: all 0.2s;
}
.volume-card:hover {
border-color: #A51C30;
box-shadow: 0 6px 18px rgba(165, 28, 48, 0.08);
}
.volume-cover-link { flex-shrink: 0; line-height: 0; }
.volume-cover {
width: 130px;
height: auto;
border-radius: 4px;
object-fit: contain;
box-shadow: 0 4px 14px rgba(0,0,0,0.18);
transition: transform 0.2s;
}
.volume-card:hover .volume-cover { transform: translateY(-2px); }
.volume-meta { flex: 1; min-width: 0; }
.volume-tag {
font-size: 0.7rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.08em;
color: #A51C30;
display: block;
margin-bottom: 0.3rem;
}
.volume-meta h3 {
font-size: 1.1rem !important;
font-weight: 700;
margin: 0 0 0.5rem !important;
padding: 0 !important;
border: none !important;
color: #1a1a2e;
line-height: 1.25;
}
.volume-meta p {
font-size: 0.88rem !important;
color: #5a6369 !important;
line-height: 1.5 !important;
margin: 0 0 0.75rem !important;
}
.volume-links { display: flex; gap: 0.9rem; flex-wrap: wrap; }
.volume-links a {
font-size: 0.8rem;
font-weight: 600;
color: #A51C30;
text-decoration: none;
border-bottom: 1px solid transparent;
transition: border-color 0.15s;
}
.volume-links a:hover { border-bottom-color: #A51C30; }
/* ── Companion Books ──────────────────────────────────────────────── */
.books-intro {
margin: 0 0 1rem;
color: #5a6369;
font-size: 0.92rem;
line-height: 1.55;
}
.books-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
gap: 1.25rem;
margin: 1rem 0 0;
}
.book-card {
display: flex;
gap: 1rem;
padding: 1rem;
background: #ffffff;
border: 1px solid #e2e8f0;
border-radius: 10px;
text-decoration: none;
color: inherit;
transition: all 0.2s;
}
.book-card:hover {
border-color: #A51C30;
box-shadow: 0 6px 18px rgba(165, 28, 48, 0.08);
transform: translateY(-1px);
}
.book-cover {
width: 80px;
height: 110px;
flex-shrink: 0;
border-radius: 4px;
object-fit: cover;
border: 1px solid #e2e8f0;
box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}
.book-meta { flex: 1; min-width: 0; }
.book-hw {
font-size: 0.68rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.08em;
color: #A51C30;
display: block;
margin-bottom: 0.2rem;
}
.book-meta h3 {
font-size: 1rem !important;
font-weight: 700;
margin: 0 0 0.4rem !important;
padding: 0 !important;
border: none !important;
color: #1a1a2e;
line-height: 1.25;
}
.book-meta p {
font-size: 0.82rem !important;
color: #5a6369 !important;
line-height: 1.45 !important;
margin: 0 0 0.4rem !important;
}
.book-author {
font-size: 0.72rem !important;
color: #94a3b8 !important;
margin: 0 !important;
}
</style>
<!-- Stats -->
<div class="stats-row">
<div class="stat"><span class="stat-num">2</span><span class="stat-lbl">Volumes</span></div>
<div class="stat"><span class="stat-num">33</span><span class="stat-lbl">Chapters</span></div>
<div class="stat"><span class="stat-num">20</span><span class="stat-lbl">Modules</span></div>
<div class="stat"><span class="stat-num">32</span><span class="stat-lbl">Labs</span></div>
<div class="stat"><span class="stat-num">35</span><span class="stat-lbl">Slide Decks</span></div>
<div class="stat"><span class="stat-num">3</span><span class="stat-lbl">HW Kits</span></div>
<div class="stat"><span class="stat-num">600+</span><span class="stat-lbl">Tests</span></div>
</div>
<!-- Actions -->
<div class="action-row">
<a href="getting-started.html" class="btn-accent">Get Started</a>
<a href="foundations-syllabus.html" class="btn-outline">View Syllabus</a>
<a href="https://creativecommons.org/licenses/by-nc-sa/4.0/" class="btn-outline" target="_blank">CC-BY-NC-SA 4.0</a>
</div>
<!-- Pillars -->
<div class="pillars-grid">
<div class="pillar"><span class="pillar-icon">&#x1F4D6;</span><span class="pillar-label">Read</span><span class="pillar-sub">Textbook</span></div>
<div class="pillar"><span class="pillar-icon">&#x1F525;</span><span class="pillar-label">Build</span><span class="pillar-sub">TinyTorch</span></div>
<div class="pillar"><span class="pillar-icon">&#x1F52C;</span><span class="pillar-label">Explore</span><span class="pillar-sub">Labs</span></div>
<div class="pillar"><span class="pillar-icon">&#x1F527;</span><span class="pillar-label">Deploy</span><span class="pillar-sub">HW Kits</span></div>
</div>
```
## Course Materials
```{=html}
<table class="inv-table">
<tr>
<td>Textbook</td>
<td>Two volumes: Foundations (18 GPUs) and At Scale (distributed fleets). HTML, PDF, EPUB.</td>
<td><a href="https://mlsysbook.ai/vol1/">Vol I</a> · <a href="https://mlsysbook.ai/vol2/">Vol II</a></td>
</tr>
<tr>
<td>TinyTorch</td>
<td>20-module framework students build from scratch — tensors to transformers. 600+ auto-graded tests.</td>
<td><a href="https://mlsysbook.ai/tinytorch/">Browse &rarr;</a></td>
</tr>
<tr>
<td>Interactive Labs</td>
<td>33 Marimo notebooks powered by <a href="https://mlsysbook.ai/mlsysim/">mlsysim</a>. Browser-based, zero GPU required.</td>
<td><a href="https://mlsysbook.ai/labs/">Browse &rarr;</a></td>
</tr>
<tr>
<td>Hardware Kits</td>
<td>Arduino Nano 33 BLE, Raspberry Pi + Coral, Seeed XIAO ESP32S3. Optional but powerful.</td>
<td><a href="https://mlsysbook.ai/kits/">Browse &rarr;</a></td>
</tr>
<tr>
<td>Lecture Slides</td>
<td>35 Beamer decks with speaker notes, active learning, and 266 SVG diagrams. PDF and PowerPoint.</td>
<td><a href="https://mlsysbook.ai/slides/">Browse &rarr;</a></td>
</tr>
</table>
```
## Teaching Resources
```{=html}
<table class="inv-table">
<tr>
<td>Syllabi</td>
<td>Week-by-week schedules with linked readings, labs, and assignments for both semesters.</td>
<td><a href="foundations-syllabus.html">Sem 1</a> · <a href="scale-syllabus.html">Sem 2</a></td>
</tr>
<tr>
<td>Assessment</td>
<td>Three-tier rubrics, sample student work, AI Olympics capstone spec, grading load estimates.</td>
<td><a href="assessment.html">View &rarr;</a></td>
</tr>
<tr>
<td>Pedagogy</td>
<td>Prediction Locks, Decision Logs, the A&#8594;B&#8594;C lab structure, and the Iron Law audit framework.</td>
<td><a href="pedagogy.html">View &rarr;</a></td>
</tr>
<tr>
<td>TA Guide</td>
<td>Grading workflows, common student struggles by week, lab facilitation, office hours protocol.</td>
<td><a href="ta-guide.html">View &rarr;</a></td>
</tr>
<tr>
<td>Customization</td>
<td>10-week quarter, 3-day workshop, graduate seminar, embedded/cloud emphases.</td>
<td><a href="customization.html">View &rarr;</a></td>
</tr>
<tr>
<td>FAQ</td>
<td>Prerequisites, setup, AI tools policy, hardware budgets, and adoption questions.</td>
<td><a href="faq.html">View &rarr;</a></td>
</tr>
</table>
```
## Syllabi
```{=html}
<div class="timeline-section">
<img src="assets/images/svg/semester-timeline.svg" alt="Two-semester course timeline showing four parts per semester with key milestones.">
</div>
<div class="semester-grid">
<a href="foundations-syllabus.html" class="semester-card">
<span class="tag">Semester 1 &middot; Volume I</span>
<h3>AI Systems Foundations</h3>
<p>From one machine to eight accelerators. Students build TinyTorch from scratch and learn the Iron Law of hardware-software co-design.</p>
<p class="week-preview">
Wk 1-4: Physics of AI &middot; Wk 5-8: Building the Stack &middot;
Wk 9-12: Optimization &middot; Wk 13-16: Production
</p>
</a>
<a href="scale-syllabus.html" class="semester-card">
<span class="tag">Semester 2 &middot; Volume II</span>
<h3>AI Engineering at Scale</h3>
<p>From one node to ten thousand. Distributed training, collective communication, and fleet infrastructure for frontier models.</p>
<p class="week-preview">
Wk 1-4: The Fleet &middot; Wk 5-8: Distributed Algorithms &middot;
Wk 9-12: Deployment &middot; Wk 13-16: Governance
</p>
</a>
</div>
```
## The Books
```{=html}
<p class="books-intro">
The two volumes students read. Free online in full, with hardcover editions published by MIT Press.
</p>
<div class="volumes-grid">
<div class="volume-card">
<a href="https://mlsysbook.ai/vol1/" class="volume-cover-link" target="_blank" rel="noopener">
<img src="assets/images/volumes/vol1.png" alt="Machine Learning Systems, Volume I: Foundations hardcover edition" class="volume-cover" />
</a>
<div class="volume-meta">
<span class="volume-tag">Semester 1 &middot; Volume I</span>
<h3>AI Systems Foundations</h3>
<p>One machine to eight accelerators. The Iron Law of hardware-software co-design and the full stack, built from tensors up.</p>
<div class="volume-links">
<a href="https://mlsysbook.ai/vol1/" target="_blank" rel="noopener">Read online &rarr;</a>
<a href="https://mlsysbook.ai/vol1/assets/downloads/Machine-Learning-Systems-Vol1.pdf" target="_blank" rel="noopener">PDF</a>
<a href="https://mlsysbook.ai/vol1/assets/downloads/Machine-Learning-Systems-Vol1.epub" target="_blank" rel="noopener">EPUB</a>
</div>
</div>
</div>
<div class="volume-card">
<a href="https://mlsysbook.ai/vol2/" class="volume-cover-link" target="_blank" rel="noopener">
<img src="assets/images/volumes/vol2.png" alt="Machine Learning Systems, Volume II: At Scale hardcover edition" class="volume-cover" />
</a>
<div class="volume-meta">
<span class="volume-tag">Semester 2 &middot; Volume II</span>
<h3>AI Engineering at Scale</h3>
<p>One node to ten thousand. Distributed training, collective communication, and fleet infrastructure for frontier models.</p>
<div class="volume-links">
<a href="https://mlsysbook.ai/vol2/" target="_blank" rel="noopener">Read online &rarr;</a>
<a href="https://mlsysbook.ai/vol2/assets/downloads/Machine-Learning-Systems-Vol2.pdf" target="_blank" rel="noopener">PDF</a>
<a href="https://mlsysbook.ai/vol2/assets/downloads/Machine-Learning-Systems-Vol2.epub" target="_blank" rel="noopener">EPUB</a>
</div>
</div>
</div>
</div>
```
## Companion Books
```{=html}
<p class="books-intro">
The MLSysBook curriculum is extended by open companion books authored by members of the TinyML4D Academic Network. These pair directly with the hardware kits used in Semester 1's labs, and are maintained by the original authors.
</p>
<div class="books-grid">
<a href="https://mjrovai.github.io/TinyML_Made_Easy_NiclaV_eBook/" class="book-card" target="_blank" rel="noopener">
<img src="assets/images/companion-books/nicla-vision.jpg" alt="Cover of TinyML Made Easy: Nicla Vision by Marcelo Rovai" class="book-cover" />
<div class="book-meta">
<span class="book-hw">Arduino Nicla Vision</span>
<h3>TinyML Made Easy</h3>
<p>Hands-on image classification, object detection, keyword spotting, and motion anomaly detection on the Nicla Vision board.</p>
<p class="book-author">Marcelo Rovai &middot; TinyML4D Co-Chair (UNIFEI)</p>
</div>
</a>
<a href="https://mjrovai.github.io/TinyML_Made_Easy_XIAO_ESP32S3_ebook/" class="book-card" target="_blank" rel="noopener">
<img src="assets/images/companion-books/xiaoml.jpg" alt="Cover of TinyML Made Easy: XIAO ESP32S3 by Marcelo Rovai" class="book-cover" />
<div class="book-meta">
<span class="book-hw">XIAOML Kit &middot; Grove AI</span>
<h3>TinyML Made Easy</h3>
<p>Step-by-step TinyML projects for the Seeed XIAO ESP32S3 and Grove Vision AI, the hardware shipping via the Edge AI Foundation kit program.</p>
<p class="book-author">Marcelo Rovai &middot; TinyML4D Co-Chair (UNIFEI)</p>
</div>
</a>
<a href="https://mjrovai.github.io/EdgeML_Made_Ease_ebook/" class="book-card" target="_blank" rel="noopener">
<img src="assets/images/companion-books/raspberry-pi.png" alt="Cover of Edge AI Engineering: Raspberry Pi by Marcelo Rovai" class="book-cover" />
<div class="book-meta">
<span class="book-hw">Raspberry Pi</span>
<h3>Edge AI Engineering</h3>
<p>Edge AI beyond microcontrollers: computer vision, on-device LLMs, and AI-accelerator workflows on the Raspberry Pi platform.</p>
<p class="book-author">Marcelo Rovai &middot; TinyML4D Co-Chair (UNIFEI)</p>
</div>
</a>
<a href="https://mjrovai.github.io/XIAO_Big_Power_Small_Board-ebook/" class="book-card" target="_blank" rel="noopener">
<img src="assets/images/companion-books/xiao-big-power.jpg" alt="Cover of XIAO: Big Power, Small Board by Marcelo Rovai" class="book-cover" />
<div class="book-meta">
<span class="book-hw">Seeed XIAO &middot; Arduino</span>
<h3>XIAO: Big Power, Small Board</h3>
<p>From "turn on an LED" to TinyML. A full-journey Arduino and Seeed XIAO handbook; published with Seeed Studio, PDF professionally edited for print.</p>
<p class="book-author">Marcelo Rovai &middot; TinyML4D Co-Chair (UNIFEI)</p>
</div>
</a>
</div>
```
## Ready to Adopt?
```{=html}
<div class="footer-cta">
<h2>Start teaching AI Systems</h2>
<p>Everything is open-source. Start with the getting started guide or jump into a syllabus.</p>
<a href="getting-started.html" class="btn-primary">Get Started</a>
<a href="https://github.com/harvard-edge/cs249r_book/discussions" class="btn-secondary">Community</a>
</div>
```