目录

总览:TorchCode 知识架构与学习路径

总览:TorchCode 知识架构与学习路径

TorchCode 是一个以"从零实现 PyTorch 算子"为核心的练习项目,涵盖 40 个深度学习关键组件。每个练习要求不使用高层 API,仅用基础张量操作实现对应算法,从而深入理解底层原理。

                        ┌─────────────────────────────────────┐
                        │         深度学习核心知识体系          │
                        └──────────────┬──────────────────────┘
           ┌───────────────┬───────────┼───────────┬──────────────────┐
           ▼               ▼           ▼           ▼                  ▼
    ┌──────────┐   ┌──────────┐  ┌──────────┐ ┌──────────┐   ┌──────────┐
    │ 基础组件  │   │ 归一化   │  │ 注意力   │ │ 训练优化  │   │ 推理部署  │
    └────┬─────┘   └────┬─────┘  └────┬─────┘ └────┬─────┘   └────┬─────┘
         │              │             │             │              │
    ┌────┴────┐    ┌────┴────┐   ┌────┴────┐  ┌────┴────┐   ┌────┴────┐
    │ ReLU    │    │LayerNorm│   │ SDPA    │  │ Adam    │   │ Top-k   │
    │ GELU    │    │BatchNorm│   │ MHA     │  │CosLR   │   │ Beam    │
    │ Softmax │    │ RMSNorm │   │ Causal  │  │GradClip│   │ Spec.   │
    │ Linear  │    └─────────┘   │ Cross   │  │GradAcc │   │ Decode  │
    │ Embed   │                  │ GQA     │  │KaimInit│   └─────────┘
    │ Dropout │                  │ Sliding │  │LinReg  │
    │ CE Loss │                  │ Linear  │  └────────┘
    │ Conv2d  │                  │ KVCache │
    └─────────┘                  │ RoPE    │
                                 │ Flash   │
                                 └────┬────┘
                              ┌───────┴───────┐
                              ▼               ▼
                        ┌──────────┐   ┌──────────┐
                        │ 架构组合  │   │ 高级主题  │
                        ├──────────┤   ├──────────┤
                        │GPT2 Block│   │ BPE      │
                        │SwiGLU MLP│   │ INT8量化  │
                        │ViT Patch │   │ DPO Loss │
                        │ LoRA     │   │ GRPO Loss│
                        │ MoE      │   │ PPO Loss │
                        └──────────┘   └──────────┘

以下展示了各算法之间的前置知识依赖:

ReLU / GELU ──────────────────────────────────────┐
Softmax ──────────────────┐                       │
Linear ──────────┐        │                       │
                 ▼        ▼                       ▼
              Attention (SDPA)              SwiGLU MLP
                 │                              │
        ┌────────┼────────┐                     │
        ▼        ▼        ▼                     │
      MHA    Causal    Cross-Attn               │
        │    Attention     │                    │
        │        │         │                    │
        │   ┌────┴────┐   │                    │
        │   ▼         ▼   │                    │
        │  GQA    Sliding  │                    │
        │  Window          │                    │
        │                  │                    │
        ▼                  ▼                    ▼
    KV Cache          GPT-2 Block ◄────── LayerNorm
        │                  │
        ▼                  ▼
  Speculative         完整 Transformer
   Decoding

RoPE ──► 现代 LLM 注意力(LLaMA 等)
Flash Attention ──► 高效注意力计算
Linear Attention ──► O(n) 复杂度注意力

LoRA ──► 参数高效微调
MoE ──► 稀疏专家模型
ViT Patch ──► 视觉 Transformer

Adam + Cosine LR + Gradient Clipping + Gradient Accumulation ──► 完整训练循环
DPO / GRPO / PPO ──► RLHF 对齐训练
BPE ──► 分词预处理
INT8 量化 ──► 模型压缩部署

提供神经网络最底层的计算单元。激活函数(ReLU、GELU、Softmax)引入非线性;Linear 层实现仿射变换;Embedding 将离散 token 映射为连续向量;Dropout 提供正则化;Cross-Entropy 计算分类损失;Conv2d 处理空间特征。

解决深层网络训练中的内部协变量偏移问题。LayerNorm 按特征维度归一化(Transformer 标配);BatchNorm 按批次维度归一化(CNN 标配);RMSNorm 是 LayerNorm 的简化版(LLaMA 等现代 LLM 使用)。

Transformer 的核心。从基础 SDPA 出发,扩展到多头(MHA)、因果掩码(Causal)、交叉注意力(Cross)、分组查询(GQA)、滑动窗口(Sliding Window)、线性注意力(Linear)等变体。KV Cache 和 Flash Attention 分别从推理和训练角度优化效率。RoPE 提供相对位置编码。

将基础组件组装为完整模块。GPT-2 Block 是经典 Transformer 解码器块;SwiGLU MLP 是现代 LLM 的前馈网络;ViT Patch Embedding 将图像转为 token 序列;LoRA 实现参数高效微调;MoE 通过稀疏路由扩展模型容量。

覆盖训练全流程。Adam 是最常用的优化器;Cosine LR 提供学习率调度;梯度裁剪防止梯度爆炸;梯度累积模拟大 batch;Kaiming 初始化确保训练起步稳定。

模型部署时的关键算法。Top-k/Top-p 采样控制生成多样性;Beam Search 寻找高概率序列;Speculative Decoding 利用小模型加速大模型推理。

前沿技术。BPE 是主流分词算法;INT8 量化压缩模型体积;DPO/GRPO/PPO 是 RLHF 对齐训练的三种损失函数。

方法归一化维度是否减均值可学习参数典型场景
LayerNorm最后一维(特征)γ, βTransformer
BatchNorm第 0 维(批次)γ, β + running statsCNN
RMSNorm最后一维(特征)weightLLaMA, Gemma
变体复杂度掩码KV 头数典型模型
SDPAO(S²D)基础 Transformer
MHAO(S²D)= Q 头数BERT, GPT-2
CausalO(S²D)上三角= Q 头数GPT 系列
GQAO(S²D)可选< Q 头数LLaMA 2, Mistral
Sliding WindowO(S·W·D)带状Longformer, Mistral
LinearO(S·D²)Linear Transformer
FlashO(S²D) 但省内存可选所有现代模型
方法输入核心思想是否需要 reward model
DPOchosen/rejected 对直接从偏好学习,无需显式 reward
GRPO组内多个回复 + reward组内归一化 advantage 的 REINFORCE
PPOnew/old policy + advantage裁剪比率防止策略更新过大
ReLU → Softmax → Linear → LayerNorm → Attention → MHA → Causal Attention → GPT-2 Block
RMSNorm → GQA → RoPE → KV Cache → SwiGLU MLP → Flash Attention → LoRA → MoE
Cross-Entropy → Kaiming Init → Adam → Cosine LR → Gradient Clipping → Gradient Accumulation
DPO Loss → PPO Loss → GRPO Loss
Top-k/Top-p Sampling → Beam Search → Speculative Decoding → INT8 Quantization → BPE

相关内容