写在前面
这篇笔记不是一份面向完全零基础的入门手册,而是一份更有针对性的 4 周强化纲领。
我当前的出发点是:
- 计算数学博士四年级
- 做过大模型评测相关实习
- 做过华为 HPC 算法实习
所以这 4 周的目标并不是把神经网络和大模型所有内容“彻底吃透”,而是要建立一套足够稳固的统一框架:
- 能讲清模型结构的主线
- 能看懂训练流程和工程约束
- 能把评测现象和模型行为联系起来
- 能从系统视角理解吞吐、显存和效率问题
换句话说,这 4 周不是为了“看很多东西”,而是为了把已经见过的东西真正连起来。
总体目标
四周结束时,我希望自己达到以下状态:
- 能清晰解释 Transformer 和 LLM 的核心结构,不再停留在名词堆砌。
- 能从训练目标、数据、优化和系统约束四个角度理解一个语言模型是怎么来的。
- 能把已有的大模型评测经验放进更完整的方法论框架,而不是只停留在指标层。
- 能完成一个可复现的小项目,让“结构 - 训练 - 评测 - 系统”形成闭环。
如果用一句更简洁的话概括,这 4 周的任务是:
从“有相关经历”走向“有成体系的大模型理解”。
这四周不追求什么
先把边界说清楚,反而更容易把事情做成。
这 4 周不追求:
- 吃透所有大模型论文
- 一步到位掌握分布式训练的全部细节
- 用极短时间补齐所有工程栈
- 变成一个成熟的 LLM 系统工程师
真正现实的目标是:抓住主干、形成地图、产出闭环。
一张总图:四条主线
我会把接下来的学习都放在四条线里看:
- 结构:模型到底由哪些模块组成,它们分别承担什么功能
- 训练:模型参数是如何从随机初始化走到可用状态的
- 评测:我们到底在测什么,测出来的结果能说明什么
- 系统:计算、显存、吞吐和工程约束如何反过来塑造训练与推理方案
如果把语言模型写成最简的概率分解,它的目标无非是:
$$ p_\theta(x_1,\dots,x_T) = \prod_{t=1}^{T} p_\theta(x_t \mid x_{<t}) $$
训练时最核心的优化对象通常是 next-token prediction 对应的负对数似然:
$$ \mathcal{L}(\theta) = - \sum_{t=1}^{T} \log p_\theta(x_t \mid x_{<t}) $$
而 Transformer 中最关键的模块,又可以浓缩成 attention:
$$ \mathrm{Attention}(Q, K, V) = \mathrm{softmax}\left(\frac{QK^\top}{\sqrt{d_k}}\right)V $$
表面上看,大模型的世界很复杂;但如果一直抓住这条线索,就不会迷失在术语里。
第 1 周:搭起结构骨架
第一周只做一件事:把模型结构真正理清楚。
目标
- 从神经网络基础过渡到 Transformer
- 理清 attention、FFN、残差、归一化各自的作用
- 搭出 decoder-only LLM 的最小结构理解
重点内容
- embedding 和 tokenization 的角色
- self-attention 的输入输出维度
- multi-head attention 为什么不是“重复一遍 attention”
- residual connection 和 LayerNorm 为什么在深层网络里重要
- FFN 在 Transformer block 里到底在做什么
- position encoding / positional information 怎样进入模型
本周最重要的问题
- 为什么 attention 能比传统序列模型更适合长程依赖?
- Transformer 每一层除了“算一遍 attention”之外,还做了什么?
- 为什么现在的大多数 LLM 都是 decoder-only,而不是 encoder-decoder?
我希望自己做到什么程度
这一周结束时,我应该可以不看资料,自己把一个最小 Transformer block 讲出来:
- 输入是什么
- 经过哪些模块
- 维度怎么变化
- 每个模块在功能上解决什么问题
建议的动作
- 手推一次 attention 的维度和复杂度
- 用 PyTorch 手写一个最小的 self-attention
- 再拼一个 mini Transformer block
- 给每个模块写注释,而不是只让它“跑通”
本周输出
- 一篇博客:《从 MLP 到 Transformer:结构主线梳理》
- 一篇博客:《Attention 的数学直觉与实现细节》
第 2 周:打通训练过程
第二周开始把视角从“模型长什么样”转到“模型怎么学出来”。
目标
- 理解语言模型训练目标
- 建立 token、batch、sequence length、throughput 的联系
- 把优化与系统约束放到同一张图里看
重点内容
- next-token prediction 与 cross entropy
- token 数比 epoch 更有意义的原因
- batch size、sequence length、gradient accumulation 的关系
- learning rate warmup、cosine decay 等基本策略
- mixed precision、显存占用、训练吞吐
- checkpoint、激活保存、反向传播中的内存瓶颈
本周最重要的问题
- 为什么训练大模型时,大家总在讨论 token seen 而不是 epoch?
- 为什么 batch size 变大后,训练稳定性和泛化不一定同步提升?
- 为什么 mixed precision 不是简单的“把精度调低一点”?
我希望自己做到什么程度
这一周结束时,我应该能把训练这件事分成三个层次理解:
- 目标层:模型在优化什么
- 算法层:优化器和学习率计划如何作用
- 系统层:显存、吞吐、并行和精度如何影响训练方案
建议的动作
- 训练一个 tiny language model 或 mini GPT
- 记录 loss 曲线
- 固定数据集,对 batch size 和 sequence length 做至少一组对比
- 用自己的 HPC 经验写一页“训练瓶颈分析”
本周输出
- 一篇博客:《一个语言模型是如何被训练出来的》
- 一篇博客:《从 HPC 视角理解 LLM 训练中的吞吐、显存与效率》
第 3 周:补齐评测与后训练的闭环
第三周重点不是重新学“评测”这两个字,而是把已有的评测经历重新放回整个大模型框架中。
目标
- 理解 SFT、偏好学习、对齐和评测之间的关系
- 重新审视 benchmark 的边界
- 从“结果打分”过渡到“能力解释”
重点内容
- instruction tuning / SFT 的基本目标
- RLHF 和 DPO 的大框架
- benchmark、自动评测、人工评测的差异
- 幻觉、鲁棒性、稳定性和推理能力之间的张力
- 评测结果与真实用户体验之间的偏差
本周最重要的问题
- 为什么经过 SFT 之后,模型会显得“更像助手”?
- benchmark 上的高分究竟反映了什么,又遗漏了什么?
- 评测体系里最容易被误用的指标有哪些?
我希望自己做到什么程度
这一周结束时,我不只要会说“这个模型分数高”或“这个回答更好”,而是要能继续追问:
- 它为什么会更好
- 是训练方式变了,还是数据形式变了
- 是泛化能力提高了,还是评测设计更偏向某种输出风格
建议的动作
- 选一个小模型,比较微调前后的回答差异
- 设计一个小型评测表,至少包含正确性、稳定性、可解释性三列
- 做一次错误分析,而不是只报均值分数
本周输出
- 一篇博客:《SFT 改变了模型的什么》
- 一篇博客:《我如何理解大模型评测:指标、偏差与真实性》
第 4 周:做出自己的闭环项目
第四周不再继续扩张内容,而是收束成一个项目。
这一步很重要,因为只有把知识压到一个具体项目里,结构、训练、评测和系统四条线才会真正连起来。
目标
- 完成一个可以放进简历、面试和博客的项目
- 形成自己的个人叙事
- 让前 3 周的内容从“知道”变成“会讲、会做、会复盘”
我更推荐的项目
相比纯评测项目,我更推荐做一个更完整的小闭环:
一个 tiny GPT / 小模型微调项目 + 一份结构化评测报告
它至少应该包含:
- 模型或微调对象
- 数据说明
- 训练配置
- 关键系统约束
- 基础评测结果
- 误差分析
- 结论和下一步改进方向
为什么推荐这个方向
因为你的已有经历已经证明你碰过评测和系统。
现在更需要补的是:
- 把模型结构讲清楚
- 把训练过程讲清楚
- 把评测结果解释清楚
换句话说,最能代表你能力的,不是“我又做了一次评测”,而是:
我能从模型结构出发,走到训练和系统,再落回评测与分析。
本周输出
- 一篇博客:《4 周大模型强化总结:结构、训练、评测与系统》
- 一份项目报告
- 一页面试可讲的项目摘要
每天怎么安排
如果按高强度模式推进,我建议每天分成三段:
理论与论文:2 小时
目标是建立概念和问题意识。代码与实验:2 小时
目标是把理论转成真正可运行的对象。记录与复盘:1 小时
目标是把零散收获沉淀成自己的语言。
如果当天时间更少,也至少要守住一个最小版本:
- 一个理论问题
- 一个代码动作
- 一段复盘记录
我最需要警惕的几个误区
误区一:看了很多,但没有统一框架
大模型资料极多,很容易进入一种“今天看 LoRA,明天看 RLHF,后天看 scaling law”的状态。
如果没有统一主线,最后只会记住许多关键词,而不是结构化理解。
误区二:只看论文,不做实验
对数学背景较强的人来说,这一点尤其危险。
论文读懂并不意味着训练、推理、显存、数值稳定性这些问题就自动懂了。只有自己动手跑过,很多系统层细节才会真正进入理解。
误区三:只看分数,不做错误分析
这和我之前接触的大模型评测经验直接相关。
均值、排行榜和 benchmark 名次当然重要,但如果不能解释错误来源,就很难形成更高层的判断力。
误区四:把系统问题和模型问题完全分开
在 LLM 里,系统从来不是附属品。
序列长度、显存上限、吞吐、混合精度、并行策略,这些因素都不是训练结束后才考虑的“部署问题”,而是会反过来影响训练和模型设计的核心变量。
这 4 周结束后,我应该如何介绍自己
如果这套路线真的落实下来,我希望自己最后能用一句比较有力量的话介绍自己:
我有计算数学背景,也做过大模型评测和 HPC 算法实习。最近系统补齐了 Transformer、训练流程、后训练方法和评测框架,并做了一个从训练到评测的小闭环项目。我的优势是数学建模能力、系统效率意识,以及把模型行为和评测现象联系起来分析。
这段话之所以重要,不是因为它“好听”,而是因为它能把我的背景真正组织起来。
小结
这 4 周的路线图,核心不在于“覆盖了多少知识点”,而在于建立一套稳定的认知骨架:
- 用结构理解模型
- 用训练理解能力来源
- 用评测理解输出表现
- 用系统理解现实约束
对于已经做过大模型评测和 HPC 实习的人来说,这样的强化方式比零散补课更有效。
真正值得追求的,不是“看起来懂很多”,而是:
- 能把复杂问题讲清楚
- 能把理论和实验连接起来
- 能把结果和机制联系起来
- 能逐步长成自己的研究和工程风格
如果这四周能够把这几件事做扎实,那么它就不仅仅是一份学习计划,更是一段能力重构的开始。