Skip to content

Group 0C: PyTorch Model Construction | 0C: PyTorch 模型构建

本组把 Tensor 和 Autograd 接到 nn.Module、Optimizer、Loss 与 DataLoader。学习者将沿着模型参数注册、前向调用、状态保存、反向更新和 batch 输入这条路径阅读训练代码,并能判断每个对象在训练闭环中的职责。

Group Overview | 组概览

这一组按“参数注册 → forward() 调用 → 状态保存 → loss 与 optimizer → batch 输入”的顺序展开:先定位模型参数,再跟踪一次前向和状态恢复,最后把 loss、梯度、更新和数据批次接成训练接口。

对 Part 2 来说,这一组先补的是模型代码怎么组织、怎么调用、怎么保存的语法桥:nn.Moduleforward()parameters()named_parameters()state_dict()load_state_dict()zero_grad()optimizer.step()loss.backward(),以及把模型参数、输入 batch 和训练步对齐的最小读法。

完成这些接口检查后,再去 0D 分析激活函数、归一化和 Attention 为什么这样设计。

0C 模型构建与训练接口路线

Group Asset Overview | 组内资产总览

核心职责Q 数验证数覆盖 Q定位
09nn.Module 与参数管理44Q1, Q2, Q3, Q4起步页
10state_dict、checkpoint 和持久化边界66Q1, Q2, Q3, Q4, Q5, Q6主线页
11loss、optimizer 和训练步44Q1, Q2, Q3, Q4核心页
12Dataset / DataLoader / batch 契约66Q1, Q2, Q3, Q4, Q5, Q6收口页

Learning Path | 学习路径

  • 09 -> 10 -> 11 -> 12 阅读,依次检查模块封装、状态管理、优化器与损失、数据批次。若要尽快进入 Part 2,优先完成 09、11 和 12,它们直接对应模型定义、训练循环和 loss 对齐。

Part 2 重点 | Part 2 Focus

  • 09:先补 nn.Module、参数注册、forward() 入口,解决“模型代码从哪里开始读”的问题。
  • 10:先补 state_dict()load_state_dict()、checkpoint 和保存边界,解决“参数怎么保存和恢复”的问题。
  • 11:先补 loss.backward()zero_grad()optimizer.step(),解决“训练步怎么闭环”的问题。
  • 12:先补 Dataset / DataLoader / batch 契约,解决“数据怎么喂进训练循环”的问题;如果后面开始做 SFT 或其他监督微调,这一页也会帮助你看懂样本如何对齐成训练 batch。

Next Steps | 后续衔接

  • 完成本组后进入 0D,继续分析训练循环、激活函数、归一化和 Attention 的结构原因;如果 Part 2 中出现模型定义或训练步问题,可回看对应的 09、10 或 11。
  • 0C 关注“对象如何连接接口”,0D 关注“结构为何这样设计”,两组按这个顺序阅读即可。

Environment Notes | 环境说明

  • 默认按 CPU-first 阅读,优先把模块职责和接口边界看懂。
  • 这里只写组级统一前提,不点到具体节号。
  • 少数页面如需 GPU optional,以后续单页说明为准。

Released under the MIT License.