PyTorch Algorithms 闯关地图

每个 notebook 都有一个可分享的 HTML 导学关卡。每关固定包含三件事:课程输入、闯关检查、Notebook 作业。HTML 负责把概念和关键语法讲清楚,notebook 负责最后的代码刷题检验。

0已通关
33Notebook 关卡
3每关学习模块
知识点
图解直觉
闯关答题
即时反馈
Notebook 作业
刷题检验

建议顺序:先看 HTML 建立直觉,完成少量闯关题,再回到 notebook 写代码作业。

读取本地通关记录中
L00 待挑战

PyTorch Warmup

把 Tensor 变形、Embedding 查表、Linear+ReLU 手写反传这三块基础打稳。

TensorEmbeddingAutograd
进入关卡
L01 待挑战

RMSNorm Tutorial

理解 RMSNorm 为什么省掉均值中心化,也能稳定 Transformer hidden states。

NormLLMScale
进入关卡
L02 待挑战

SwiGLU Activation

把 FFN 中的门控激活拆开看:一支给内容,一支决定通过多少。

FFNActivationGate
进入关卡
L03 待挑战

RoPE Tutorial

用二维旋转理解 RoPE 如何把位置信息注入 Q/K,并天然表达相对位置。

PositionAttentionRotation
进入关卡
L04 待挑战

Attention MHA GQA

从 shape 和 KV cache 成本理解 MHA、MQA、GQA 的差异。

AttentionMHAGQA
进入关卡
L05 待挑战

LLaMA3 Block Tutorial

把 RMSNorm、Attention、SwiGLU FFN 和残差连接组装成现代 decoder block。

Decoder BlockResidualRMSNorm
进入关卡
L06 待挑战

MoE Router

理解专家模型如何为每个 token 选择少数专家,而不是激活整个 FFN。

MoERouterTop-k
进入关卡
L07 待挑战

MoE Load Balancing Loss

对照路由器“想分给谁”的 P_i 与实际“分给谁”的 f_i,用辅助损失阻止路由崩塌。

MoELoad BalancingAuxiliary Loss
进入关卡
L08 待挑战

Architecture Tricks

梳理现代 LLM 结构中的常用技巧:norm、激活、位置编码、残差与初始化。

LLMTricksStability
进入关卡
L09 待挑战

SFT Training Loop

把数据 batch、forward、loss、backward、optimizer.step 串成监督微调循环。

SFTLossOptimizer
进入关卡
L10 待挑战

LoRA Tutorial

用低秩矩阵增量训练大模型,让微调参数量从全量变成小而可控。

LoRAPEFTLow-rank
进入关卡
L11 待挑战

LR Schedulers WSD Cosine

理解 warmup、stable、decay 与 cosine 曲线如何影响训练节奏。

Learning RateSchedulerWarmup
进入关卡
L12 待挑战

Gradient Accumulation

把一个大 batch 拆成多个 micro-batch 累积梯度,用更多计算步骤换更低峰值显存。

Gradient AccumulationMicro-batchMemory
进入关卡
L13 待挑战

End-to-End Fine-Tuning Experiment

把样本构造、next-token loss、梯度累积和参数更新串成一个最小但完整的微调闭环。

SFTTraining LoopLoss Mask
进入关卡
L14 待挑战

RLHF PPO Memory

从新旧策略概率比率出发,实现带 clip 护栏的 PPO actor loss。

RLHFPPOClipped Objective
进入关卡
L15 待挑战

DPO Loss Tutorial

用 chosen/rejected 偏好对和 reference policy,直接构造偏好优化损失。

DPOPreferenceAlignment
进入关卡
L16 待挑战

GRPO Loss Tutorial

在组内标准化奖励得到相对优势,再用 clipped surrogate 更新策略。

GRPOGroup AdvantageAlignment
进入关卡
L17 待挑战

Autograd Basics

沿 O=softmax(QKᵀ)V 的计算图逆向推导 dV、dP、dS、dQ 与 dK。

AutogradAttention BackwardChain Rule
进入关卡
L18 待挑战

Activation and Loss Backward

从 ReLU 门控和交叉熵梯度入手,把常用激活与损失的反向传播写成可验证代码。

ReLU BackwardCross EntropyGradient Check
进入关卡
L19 待挑战

Activation Checkpointing and Activation Offload

用反向重计算和激活卸载理解训练中的计算、显存与传输三方权衡。

CheckpointingOffloadMemory
进入关卡
L20 待挑战

FlashAttention Sim

用分块 QKV 计算和在线 softmax,理解 FlashAttention 如何降低 HBM 读写。

FlashAttentionOnline SoftmaxTiling
进入关卡
L21 待挑战

Decoding Strategies

比较温度缩放、Top-K 和 Top-P 如何改变候选集合与生成多样性。

TemperatureTop-KTop-P
进入关卡
L22 待挑战

vLLM PagedAttention

把 KV Cache 切成物理块并用 block table 映射,减少服务场景中的内存碎片。

PagedAttentionKV CacheBlock Table
进入关卡
L23 待挑战

Speculative Decoding

让小模型提出多个候选,再由目标模型并行验证,在保持目标分布的前提下加速生成。

Draft ModelVerificationAcceptance
进入关卡
L24 待挑战

SGLang RadixAttention

用基数树匹配共享 prompt 前缀,复用已经计算过的 KV Cache。

RadixAttentionPrefix CacheKV Reuse
进入关卡
L25 待挑战

Quantization W8A16

把浮点权重量化到 INT8,再反量化参与 W8A16 线性计算。

QuantizationW8A16Absmax
进入关卡
L26 待挑战

QLoRA and 4bit Quantization

冻结低精度基座权重,只训练高精度 LoRA 旁路,模拟 QLoRA 的低显存微调。

QLoRANF4PEFT
进入关卡
L27 待挑战

ZeRO Optimizer Sim

模拟把优化器状态分片到不同设备,理解 ZeRO-1 到 ZeRO-3 的逐级切分。

ZeROOptimizer StateSharding
进入关卡
L28 待挑战

Pipeline Parallelism MicroBatch

构造流水线时间轴并计算空泡比例,理解 micro-batch 如何提升 stage 利用率。

Pipeline ParallelismMicro-batchBubble
进入关卡
L29 待挑战

Tensor Parallelism Sim

分别模拟 Column/Row Parallel Linear,理解切分维度与通信方式的配对。

Tensor ParallelismAll-GatherAll-Reduce
进入关卡
L30 待挑战

LoRA Fine-Tuning Project

把 LoRA 放进可交付微调流程,用训练效果、参数量、显存和速度共同验证收益。

LoRAFine-tuningExperiment
进入关卡
L31 待挑战

Inference Performance Comparison

建立可重复的推理基准,对比不同实现的延迟、吞吐与数值一致性。

BenchmarkLatencyThroughput
进入关卡
L32 待挑战

Training Performance Analysis

把训练 step 拆成数据、前向、反向和优化器阶段,定位真正的性能与显存瓶颈。

ProfilingTrainingMemory
进入关卡