名校公开课 / 麻省理工 / AI

TinyML 与高效深度学习计算

TinyML and Efficient Deep Learning Computing6.5940麻省理工Fall 2024免费
剪枝量化神经架构搜索大模型推理分布式训练端侧 AI

这门课学什么

这门课讲怎样让神经网络变小、变快。内容包括剪枝、量化、神经架构搜索、蒸馏、单片机部署、大模型和扩散模型的高效推理、分布式训练和端侧训练。实验带你压缩一个大模型并在笔记本上运行。

内容摘要

这门课的主线是一个问题:模型越来越大,怎样让它在手机、单片机和笔记本上跑起来。课程先用 2 讲建立衡量效率的指标,例如参数量、计算量、延迟和能耗,然后分 4 章展开。

第 1 章讲高效推理,占全课一半篇幅。课程依次讲剪枝、量化、神经架构搜索和知识蒸馏,再落到单片机部署:MCUNet 和 TinyEngine 两讲说明怎样在几百 KB 内存里运行神经网络。第 2 章针对具体模型做优化,覆盖大语言模型推理与后训练、长上下文、视觉 Transformer、GAN、视频、点云和扩散模型。

第 3 章讲高效训练:数据并行、流水线并行、张量并行,梯度压缩,以及在设备上直接训练和微调。第 4 章用 2 讲介绍量子机器学习,作为拓展内容。

作业是 5 个实验:剪枝、量化、神经架构搜索、大模型压缩、在笔记本上部署大模型。期末项目 4–5 人一组,要交提案、做海报展示、写 4 页 NeurIPS 格式报告。课程没有考试。学完后,你能读懂并复现主流的模型压缩方法,并能把一个 70 亿参数的大模型压缩后放到笔记本上运行。

讲课贴近研究前沿。很多方法出自韩松团队自己的论文,课上会讲方法为什么有效、在什么硬件上有效。课程定位是博士级,要求先修计算机体系结构和机器学习入门。

为什么值得学

韩松团队提出了 Deep Compression、AWQ 这类模型压缩标准方法。这门课由方法的原作者亲自讲。

课程信息

学校
麻省理工(MIT)
课程号
6.5940
讲师
韩松(Song Han)
学期
Fall 2024
平台
课程官网
费用
免费
难度
高级
学时
23 讲 + 5 个实验
先修
学过深度学习,会 PyTorch。
材料
视频、幻灯片、代码
许可证
未注明
去课程主页 ↗看视频 ↗
课程是英文的。本页的介绍、摘要和大纲由极客教育原创撰写,讲次标题为中文意译。开课时间、收费和链接以官方页面为准。

课程大纲 · 共 24 节

大纲依据:Fall 2024 课程官网 Schedule(查看原始页面 ↗)

  1. 1
    导论Introduction

    说明模型规模和算力需求增长很快,而端侧硬件资源有限。介绍课程结构和 5 个实验。

  2. 2
    深度学习基础Basics of Deep Learning

    复习神经网络的常用层,定义参数量、模型大小、计算量、延迟和能耗这些效率指标。

  3. 3
    剪枝与稀疏性(上)Pruning and Sparsity (Part I)

    讲剪枝的基本思路:剪枝粒度从单个权重到整个通道,以及判断哪些权重可以剪掉的标准。

  4. 4
    剪枝与稀疏性(下)Pruning and Sparsity (Part II)

    讲怎样为每一层选择剪枝比例、剪枝后怎样微调,以及稀疏模型在硬件上加速的条件。

  5. 5
    量化(上)Quantization (Part I)

    讲数值格式和低比特表示,介绍 K-means 量化和线性量化。

  6. 6
    量化(下)Quantization (Part II)

    讲训练后量化、量化感知训练、二值与三值网络,以及混合精度量化。

  7. 7
    神经架构搜索(上)Neural Architecture Search (Part I)

    讲搜索空间怎样设计,以及强化学习、进化算法、可微搜索这几类搜索策略。

  8. 8
    神经架构搜索(下)Neural Architecture Search (Part II)

    讲降低搜索成本的方法,例如权重共享和一次训练、多次部署的超网络,以及把硬件延迟纳入搜索目标。

  9. 9
    知识蒸馏Knowledge Distillation

    讲用大模型(教师)指导小模型(学生)训练,比较匹配输出、匹配中间特征和匹配样本关系几种做法。

  10. 10
    MCUNet:单片机上的 TinyMLMCUNet: TinyML on Microcontrollers

    讲在只有几百 KB 内存的单片机上做深度学习,方法是让网络结构和推理引擎协同设计。

  11. 11
    TinyEngine 与并行计算TinyEngine and Parallel Processing

    讲推理引擎的底层优化:循环展开、分块、向量化、多线程和原地计算。

  12. 12
    Transformer 与大语言模型Transformer and LLM

    讲 Transformer 结构和大语言模型的主流设计,为后面几讲的优化打基础。

  13. 13
    大语言模型的高效部署Efficient LLM Deployment

    讲大模型推理的瓶颈,以及权重与激活量化、KV 缓存管理和推理系统优化。

  14. 14
    大语言模型后训练LLM Post Training

    讲预训练之后的微调与对齐,以及降低微调成本的参数高效方法。

  15. 15
    长上下文大语言模型Long Context LLM

    讲上下文变长后注意力计算和 KV 缓存的开销,以及缓解这些开销的方法。

  16. 16
    视觉 TransformerVision Transformer

    讲视觉 Transformer 的结构,以及处理高分辨率图像时的高效注意力设计。

  17. 17
    GAN、视频与点云GAN, Video, and Point Cloud

    分别讲生成对抗网络、视频理解和点云模型的计算瓶颈和加速方法。

  18. 18
    扩散模型Diffusion Model

    讲扩散模型的原理和加速思路,包括减少采样步数、量化和稀疏计算。

  19. 19
    分布式训练(上)Distributed Training (Part I)

    讲数据并行、流水线并行和张量并行的原理与取舍。

  20. 20
    分布式训练(下)Distributed Training (Part II)

    讲多种并行方式的组合,以及用梯度压缩减少节点间通信。

  21. 21
    端侧训练与迁移学习On-Device Training and Transfer Learning

    讲在内存受限的设备上训练和微调模型,例如只更新部分参数、做稀疏反向传播。

  22. 22
    课程总结与量子机器学习(一)Course Summary + Quantum Machine Learning I

    回顾全课内容,再介绍量子计算基础和量子机器学习。

  23. 23
    量子机器学习(二)Quantum Machine Learning II

    继续讲量子机器学习,重点是在有噪声的量子硬件上训练出稳健的模型。

  24. 24–26
    期末项目展示Final Project Presentation

    各小组展示期末项目。

麻省理工的其他AI课