Skip to content

深度学习与大模型 ​

分三个阶段。做 AI 系统研究不要求你成为算法专家,但必须理解模型在算什么、哪里耗时、哪里耗内存。

阶段内容用时参考谁需要
第一阶段神经网络与 PyTorch3~4 周所有人
第二阶段Transformer 与大语言模型3~4 周所有人
第三阶段推理系统与高效 AI持续学习AI Infra 方向(方向一、二、四)
扩散模型扩散模型原理与推理2 周方向三

第一阶段:神经网络与 PyTorch ​

要掌握的内容 ​

主题要掌握的内容动手练习
前馈神经网络全连接层、激活函数的作用、参数量怎么算、反向传播只用 NumPy 实现一个两层全连接网络
卷积神经网络(CNN)卷积、池化、感受野用 PyTorch 训练 CNN 做 MNIST 分类
循环神经网络(RNN)RNN/LSTM 的 cell 结构、序列预测用 LSTM 做一个简单的时间序列预测
网络优化局部最优与全局最优、梯度下降与 SGD、小批量、动量法、Adam、学习率调度、残差连接、归一化对比 SGD 和 Adam 的收敛曲线
注意力机制注意力的计算过程(Q、K、V)、多头注意力手写一个缩放点积注意力
Transformer编码器与解码器结构、位置编码、因果掩码读懂并运行一个最小的 Transformer
生成模型自编码器、VAE、序列到序列模型、扩散模型的基本思想跑通一个 VAE 的 MNIST 示例

学习资料 ​

资料说明
PyTorch 官方入门(Learn the Basics)张量、数据加载、建模、训练循环,第一个要看的
《动手学深度学习》(d2l-zh)中文、可运行,从线性回归讲到 Transformer,作为主教材
Karpathy: Neural Networks: Zero to Hero从手写自动求导(micrograd)开始,一步步写到 GPT。理解反向传播最好的材料之一
李宏毅机器学习课程中文讲解,通俗易懂,课程里有 PyTorch 教学
Stanford CS231n计算机视觉与深度学习,2025 年春季版已更新到 Transformer、生成模型
组内例程 deep-learning-code-practice各主题的配套代码练习

第一个训练程序 ​

装好 PyTorch(见 GPU 与 CUDA)后,运行下面的程序训练一个 MNIST 手写数字分类器,弄懂每一行在做什么:

python
import torch
from torch import nn
from torch.utils.data import DataLoader
from torchvision import datasets, transforms

device = "cuda" if torch.cuda.is_available() else "mps" if torch.backends.mps.is_available() else "cpu"

train = datasets.MNIST("data", train=True, download=True, transform=transforms.ToTensor())
test = datasets.MNIST("data", train=False, download=True, transform=transforms.ToTensor())
train_loader = DataLoader(train, batch_size=128, shuffle=True)
test_loader = DataLoader(test, batch_size=1000)

model = nn.Sequential(
    nn.Flatten(),
    nn.Linear(28 * 28, 256),
    nn.ReLU(),
    nn.Linear(256, 10),
).to(device)
optimizer = torch.optim.Adam(model.parameters(), lr=1e-3)
loss_fn = nn.CrossEntropyLoss()

for epoch in range(3):
    model.train()
    for x, y in train_loader:
        x, y = x.to(device), y.to(device)
        loss = loss_fn(model(x), y)   # 前向计算,得到损失
        optimizer.zero_grad()         # 清空上一步的梯度
        loss.backward()               # 反向传播,计算梯度
        optimizer.step()              # 用梯度更新参数

    model.eval()
    correct = 0
    with torch.no_grad():
        for x, y in test_loader:
            correct += (model(x.to(device)).argmax(1) == y.to(device)).sum().item()
    print(f"第 {epoch + 1} 轮:测试准确率 {correct / len(test):.3f}")

练习:把全连接网络换成两层卷积网络,看准确率提高多少;统计两个模型的参数量(sum(p.numel() for p in model.parameters()))。

第二阶段:Transformer 与大语言模型 ​

目标:从零理解一个 GPT 类模型是怎么构建、训练和生成文本的。

资料说明
Happy-LLM(Datawhale)中文首选。从 NLP 基础、Transformer 讲到从零搭建 LLaMA2、训练分词器、LoRA 微调、RAG 与智能体,最新版增加了大模型强化学习(GRPO)。有免费 PDF
LLMs-from-scratch(中文版)从分词、注意力到预训练、微调,一步步实现 GPT,强烈推荐跟着敲一遍
Stanford CS224n自然语言处理与深度学习,2026 年冬季版讲到预训练、后训练、智能体和推理
Stanford CS336:Language Modeling from Scratch从零构建大模型的完整课程,2026 年春季版覆盖分词、架构、GPU、Triton 算子、并行训练、推理、数据、强化学习后训练。作业量大,适合学完前面的材料后进阶,和 AI Infra 方向高度相关
nanochatKarpathy 2025 年发布,约 8000 行代码实现从分词、预训练、微调到对话界面的完整流程
minimind用很少的算力从零训练一个小语言模型,中文文档
Hugging Face LLM CourseTransformers 库的官方课程,学会用现成的模型和工具
Hello-Agents(Datawhale)从零构建智能体,覆盖主流框架、记忆与检索、上下文工程、MCP 等协议

学完要能回答

  • 一次前向计算中,注意力和前馈层各占多少计算量?参数量和模型大小(GB)怎么换算?
  • 生成文本时为什么需要 KV Cache?它占多少显存?(数学基础里有估算方法)
  • 预填充(prefill)和解码(decode)阶段的计算特点有什么不同?

交互演示:KV Cache 与分页管理 ​

大模型逐个生成 token 时,要把之前所有 token 的 Key 和 Value 缓存起来(KV Cache)。它占多少显存、为什么 vLLM 要像操作系统一样“分页”管理它,在下面动手试一试:

第三阶段:推理系统与高效 AI ​

做 AI Infra 方向必学,和课题组的研究直接相关。

资料说明
MIT 6.5940:TinyML and Efficient Deep Learning Computing韩松主讲:剪枝、量化、蒸馏、神经架构搜索、大模型的高效部署与端侧推理。和边缘智能方向最相关的课程。2023、2024 年秋季的录像在 YouTube 和 B 站上可以找到;2026 年秋季更名为 TinyML and Efficient AI Computing 重新开课
CMU 10-414/714:Deep Learning Systems陈天奇等主讲,从零实现一个深度学习框架 Needle:自动微分、GPU 加速、各种网络结构。理解 PyTorch 内部原理
CMU 15-442/642:Machine Learning Systems陈天奇、贾志豪主讲,从硬件到分布式框架:并行训练、连续批处理、PagedAttention、推测解码
nano-vllm约一千多行 Python 实现 vLLM 的核心思想:PagedAttention、连续批处理、前缀缓存
mini-sglangSGLang 团队出的精简版,约五千行,包含 Radix 前缀缓存、分块预填充、OpenAI 兼容接口
vLLM 论文Efficient Memory Management for Large Language Model Serving with PagedAttention(SOSP 2023)

建议读 nano-vllm 源码时画出一个请求从进入到返回经历了哪些模块。

CUDA 与 GPU 编程(进阶,做算子优化时再系统学):教材 Programming Massively Parallel Processors(PMPP);GPU MODE 社区的系列讲座;Stanford CS336 中关于 GPU 和 Triton 的几讲。

扩散模型 ​

做生成式 AI 加速方向需要额外补:

  • 去噪扩散的基本原理:前向加噪、反向去噪、采样步数与调度器(scheduler)
  • 条件生成:文本编码器、Classifier-Free Guidance(CFG)
  • 主干网络从 UNet 到 DiT(Diffusion Transformer)的演变
  • 视频扩散:时空注意力、3D VAE

资料

作者:崔涵帅、姚智、王振胜、唐志清 · 边缘智能系统实验室