harvard-edge/cs249r_book

GitHub: harvard-edge/cs249r_book

哈佛大学开源的机器学习系统(MLSys)课程与配套教材,旨在填补 AI 模型训练与实际工程化部署之间的认知鸿沟。

Stars: 24066 | Forks: 2883

# 机器学习系统 *工程化人工智能系统的原则与实践*

English中文日本語한국어

Book TinyTorch Labs Kits MLSys·im
Slides Instructors StaffML Newsletter Updated

License Cite Fund Us

📘 教科书📗 卷 I + 📘 卷 II🔥 TinyTorch🔬 实验室🔮 MLSys·im💼 StaffML

📚 纸质版将由 MIT Press 于 2026 年出版。

## 使命
世界正在争先恐后地构建 AI 系统,却并未对其进行工程化。
这一差距正是我们所说的 AI 工程。 **AI 工程是一门致力于构建在现实世界中高效、可靠、安全且鲁棒的智能系统的学科,而不仅仅是孤立的模型。** 我们的使命是通过教授如何设计、构建和评估端到端的智能系统,将 AI 工程确立为一门与软件工程和计算机工程并列的基础学科。 **我们的目标:** 今年帮助 **100,000 名学习者** 掌握 ML Systems,并在 2030 年前达到 **100 万人**。 ## 为什么是单一仓库 我将其设计为一个单一的整合课程,而不是独立项目的集合。教科书讲授理论。TinyTorch 让你*构建*内部机制。硬件套件迫使你面对*真实的*限制。模拟器让你能够对你无法负担租金的基础设施进行推理。每一部分的存在都是因为我发现只阅读的学生无法内化,而只写代码的学生无法泛化。
这个仓库就是课程。
一个不断壮大的贡献者社区正帮助改进它的每一个部分:修复错误、精炼解释、在新的硬件上进行测试。他们的工作让这一切对每个人都变得更好,我感激每一个 pull request。 ## 课程体系 每个组件都是相互关联的。教科书为你提供心智模型。实验室让你通过交互方式在 MLSys·im(一个用于你无法物理访问的基础设施的建模引擎,其本身也是一个独立工具)的驱动下进行权衡推理。TinyTorch 让你亲手构建底层机制。硬件套件让你直面真实的部署限制。StaffML 测试你是否真正理解了它。Socratiq 在学习体验中增加了 AI 引导的阅读、情境测验和间隔重复。而讲师中心、幻灯片和通讯则为教育工作者提供了将这一切带入课堂所需的一切。

Curriculum map showing how the textbook, labs, TinyTorch, hardware kits, MLSys·im, and StaffML connect

### 致学生
组件 在课程中的作用 链接
📖 教科书 两卷本 MIT Press 教科书。理论、心智模型和定量推理是其他所有内容的基础。 卷 I · 卷 II
🔬 实验室 交互式 Marimo 笔记本,你可以在其中探索教科书中的权衡:更改一个参数,看看哪里会出问题,从而建立直觉。底层由 MLSys·im 驱动。 启动实验室 · 仓库指南
🔥 Tiny🔥Torch 通过 20 个循序渐进的模块从零开始构建你自己的 ML 框架。在你亲手构建过一个系统之前,你无法真正理解它。 开始使用
🛠️ 硬件套件 将 ML 部署到 Arduino、Seeed、Grove 和 Raspberry Pi 设备上。真实的内存限制、真实的功耗预算、真实的延迟。 浏览实验室
🔮 MLSys·im 在你无法物理访问的基础设施规模上计算内存瓶颈、网络饱和度和调度限制。 使用模拟器 · 仓库指南
💼 StaffML 针对 ML 系统岗位的基于物理原理的面试题。题库、练习、模拟面试和进度跟踪。 开始练习 · 仓库指南
### 致教育工作者
组件 提供的功能 链接
🎓 讲师中心 AI 工程蓝图:两份 16 周的教学大纲、教学指南、评估量规和助教手册。 查看中心 · 仓库指南
🎬 讲义幻灯片 每章的 Beamer 幻灯片组,提供四种主题变体。直接加入你的课程即可开始教学。 浏览幻灯片 · 仓库指南
📬 通讯 课程更新、新章节以及社区的构建动态。 订阅
## 选择你的路径 这些部分被设计为协同工作的,但你不需要一次性采用所有内容。 | 如果你是... | 从这里开始 | 然后深入学习 | |---|---|---| | **学生或自学者** | 阅读[卷 I](https://mlsysbook.ai/vol1/) 并尝试[实验 00](https://mlsysbook.ai/labs/vol1/lab_00_introduction/) | 构建 [TinyTorch](https://mlsysbook.ai/tinytorch/),使用 [MLSys·im](https://mlsysbook.ai/mlsysim/),并通过 [StaffML](https://mlsysbook.ai/staffml/) 练习 | | **讲师** | 打开 [AI 工程蓝图](https://mlsysbook.ai/instructors/) | 使用[课程地图](https://mlsysbook.ai/instructors/course-map.html)、[幻灯片](https://mlsysbook.ai/slides/)、量规和助教指南 | | **贡献者** | 选择你最常用的组件 | 改进章节、实验、测试、示例、硬件说明、模拟器模型或评估内容 | 学习循环为:**阅读 → 探索 → 构建 → 建模 → 部署 → 练习 → 教授**。 ### 相关与实验性工作 有些项目被有意设计为比主干课程处于更早期的阶段: - [Socratiq](socratiq/README.md) 探索了面向静态学习网站的 AI 引导阅读、情境测验和间隔重复。 - [MLPerf EDU](mlperf-edu/README.md) 是一个与 MLCommons MLPerf 对齐的、正在建设中的教学基准测试套件。 - [ML 系统元素周期表](periodic-table/README.md) 是一个用于组织反复出现的系统思想的紧凑概念图。 ## 你将学到什么 这本教科书教你如何在机器学习和系统工程的交叉点上进行思考。每一章都将算法概念与使其在实践中发挥作用的基础设施联系起来。
你已经知道... 你将学到...
如何训练模型 训练如何在 GPU 集群上扩展
量化可以缩小模型 INT8 数学如何在硅片上映射
什么是 transformer 为什么 KV-cache 在推理时主导内存
模型在 GPU 上运行 调度器如何平衡延迟与吞吐量
边缘设备存在限制 如何协同设计模型与硬件
### 书籍结构 本教科书遵循 Hennessy & Patterson 的教学模式,分为两卷:
主题 范围
📗 卷 I 构建、优化、部署 单机 ML 系统(1–8 个 GPU)。基础、优化和单节点部署。
📘 卷 II 扩展、分布式、治理 生产规模的分布式系统。多机器基础设施、容错和治理。
## 快速入门

阅读教科书。卷 I开始,或继续阅读卷 II。这是其他所有内容的基础。

选择一个动手路径。 构建一个框架(TinyTorch),探索权衡(实验室),建模限制(MLSys·im),或部署到真实硬件(套件)。

测试自己。 通过 StaffML 进行训练:涵盖云、边缘、移动端和 TinyML 的基于物理原理的系统设计问题。

教授它。 结合 AI 工程蓝图讲义幻灯片 来采用本课程。
## 分支指南
分支 包含内容 状态
🟢 main
mlsysbook.ai
单卷本教科书(当前版本) 上线中 —— 这是读者今天看到的内容。
🟡 dev
← 你在这里
卷 I —— 两卷本拆分(内容完成,编辑润色中)
卷 II —— 大规模扩展(积极开发中)
课程 —— TinyTorch、套件、MLSys·im、实验室、StaffML
TinyTorch 和硬件套件已上线。
MLSys·im、实验室和 StaffML 处于早期发布阶段,正在积极迭代。

两卷本拆分将在发布时取代单卷本版本。

## 许可证 这是一个多组件仓库,**每个组件都在其各自的许可证下发布**以符合其用途。每个目录内的文件(例如 `tinytorch/LICENSE`、`interviews/staffml/LICENSE`)具有权威性。 | 组件 | 许可证 | 含义 | |---|---|---| | 教科书 (`book/`)、实验室 (`labs/`)、套件 (`kits/`)、幻灯片 (`slides/`)、讲师 (`instructors/`) | [CC-BY-NC-SA 4.0](LICENSE.md) | 仅限**非商业性**共享及改编,需注明出处并以相同许可证共享。 | | [TinyTorch](tinytorch/LICENSE) | MIT | 宽松许可 —— 可使用、修改、再分发,包括商业用途。 | | [MLSys·im](mlsysim/LICENSE.md) | Apache 2.0 | 宽松许可,包含明确的专利授权。 | | [StaffML](interviews/staffml/LICENSE) | AGPL v3 | 强 Copyleft —— 对已部署服务的修改必须公开发布。可提供商业授权;请联系作者。 | | [StaffML 题库](interviews/vault/questions/LICENSE) | CC BY-NC 4.0 | 仅供研究与教育使用;商业使用需获得许可。 | | [TinyDigits 数据集](tinytorch/datasets/tinydigits/LICENSE) | BSD 3-Clause | 宽松许可(与其 sklearn 血统相匹配)。 | | [TinyTalks 数据集](tinytorch/datasets/tinytalks/LICENSE) | CC BY 4.0 | 宽松许可,需注明出处;允许商业使用。 | 面向用户的摘要请访问 [mlsysbook.ai/about/license](https://mlsysbook.ai/about/license.html)。 如果您是考虑采纳本课程的机构,或是对 Copyleft 组件的商业条款感兴趣的公司,请通过 [edu@tinyML.org](mailto:edu@tinyML.org) 联系我们。 ### 🛠️ 硬件套件贡献者
Vijay Janapa Reddi
Vijay Janapa Reddi

🪲 🧑‍💻 🎨 ✍️ 🧪 🛠️
Marcelo Rovai
Marcelo Rovai

✍️ 🧑‍💻 🎨
Farhan Asghar
Farhan Asghar

🪲 🧑‍💻
Salman Chishti
Salman Chishti

🧑‍💻
Pratham Chaudhary
Pratham Chaudhary

🧑‍💻
Rocky
Rocky

🪲
### 🧪 实验室贡献者
Vijay Janapa Reddi
Vijay Janapa Reddi

🧑‍💻 🎨 ✍️
Rocky
Rocky

🪲 🧑‍💻 🎨
Salman Chishti
Salman Chishti

🧑‍💻
Pratham Chaudhary
Pratham Chaudhary

🧑‍💻
Peter Koellner
Peter Koellner

🪲
### 🎞️ 幻灯片贡献者
Vijay Janapa Reddi
Vijay Janapa Reddi

🧑‍💻 🎨 ✍️
### 🗺️ 讲师网站贡献者
Vijay Janapa Reddi
Vijay Janapa Reddi

🧑‍💻 🎨 ✍️
Farhan Asghar
Farhan Asghar

🪲 🧑‍💻 🎨
Rocky
Rocky

🧑‍💻 ✍️ 🔎
### ⚗️ ML 系统元素周期表贡献者

即将推出!

✉️ 订阅💬 参与讨论🌐 访问 mlsysbook.ai 为 AI 工程师用 ❤️ 打造
正在世界各地 🌎 构建中
标签:AI工程, Arduino, MLSys, PyTorch, TinyML, 人工智能, 可观察性, 哈佛课程, 嵌入式系统, 开源书籍, 技术教程, 机器学习工程, 机器学习系统, 模型优化, 深度学习, 物联网, 用户模式Hook绕过, 硬件加速, 系统架构, 计算机科学, 边缘计算, 逆向工具, 防御加固