# MIT6.5940: TinyML and Efficient Deep Learning Computing

## 课程简介

- 所属大学：MIT
- 先修要求：体系结构、深度学习基础、
- 编程语言：Python
- 课程难度：🌟🌟🌟🌟
- 预计学时：50小时

这门课由 MIT 的 [Song Han](https://hanlab.mit.edu/songhan) 教授讲授，侧重于高效的机器学习训练、推理技术。学生需要有一定的深度学习方面的知识基础。

课程主要分为三个部分，首先讲授了让神经网络轻量化的各种关键技术，例如剪枝、量化、蒸馏、网络架构搜索等等。有了这些基础之后，课程第二部分会讲授面向特定领域场景的各种高效优化技术，涉及了目前深度学习最前沿热门的各个方向，例如大语言模型的推理、长上下文支持、后训练加速、多模态大语言模型、GAN、扩散模型等等。课程第三部分主要涉及各类高效训练技术，例如大规模分布式并行、自动并行优化、梯度压缩、边缘训练等等。Song Han 教授的讲解深入浅出，覆盖的知识面很广，且都是当前热门的领域方向，如果是想对大语言模型有初步了解也可以重点关注第二和第三部分的内容。

课程内容和资源都可以在课程网站上找到，视频在油管上有官方版本，B站也有生肉和熟肉搬运，可以自行查找。课程作业一共有5个，前三个分别考察了量化、剪枝和 NAS，后两个主要是对大语言模型的压缩和高效部署，总体难度相对简单，但能很好地巩固核心知识。

## 课程资源

- 课程网站：[2024fall](https://hanlab.mit.edu/courses/2024-fall-65940), [2023fall](https://hanlab.mit.edu/courses/2023-fall-65940)
- 课程视频：[2024fall](https://www.youtube.com/playlist?list=PL80kAHvQbh-qGtNc54A6KW4i4bkTPjiRF), [2023fall](https://www.youtube.com/playlist?list=PL80kAHvQbh-pT4lCkDT53zT8DKmhE0idB)
- 课程教材：无
- 课程作业：共5个实验，具体要求见课程网站

## 资源汇总

@PKUFlyingPig 在学习这门课中用到的所有资源和作业实现都汇总在 [PKUFlyingPig/MIT6.5940_TinyML - GitHub](https://github.com/PKUFlyingPig/MIT6.5940_TinyML) 中。