从「一层 RNN 的隐状态递推」出发,把参数共享、时间展开、BPTT 梯度连乘这条主线讲透,再用门控(LSTM 三门一状态、GRU 两门一状态)补上长依赖这个窟窿,最后落在「RNN 系列天生不可并行」这个致命短板上,也就是 Transformer 出现的理由。 一、这份材料解决什么问题 前一站(day01/day02)把文本变成了离散符号:词表、索…
一张从「文本喂进模型之前要做什么」一路推到「BERT/GPT 为什么长成那样」的 NLP 全栈主干图,把 预处理 → 文本张量表示 → 序列建模 → Attention → Transformer → 预训练+迁移学习 串成一条因果链。 一、这份材料解决什么问题 NLP 的所有工程细节,说到底都在回答同一个问题:怎么把离散的语言符号变成神经网络能算…
模型剪枝 = 训练完成之后,按"重要性"砍掉冗余参数(完整 → 残缺),再用小学习率微调几轮,让留下的参数把被砍掉的那点活接手过来,工资少发了,活基本还是干完的。 一、这份材料解决什么问题 模型上线时会撞上三堵墙:显存装不下、单次推理太慢、模型文件太大。这三堵墙的根因是同一件事,模型是过参数化(over-parameterized)的:为了让梯度下…
蒸馏最核心的一步,把教师模型的软标签([0.7 0.2 0.1] 这样的概率向量)当成学生的监督信号,学生学到的不是"答案",而是"答案之间的关系"。 图注:原图是一段完整讲解。上半段解释为什么要蒸馏:大模型能从数据里总结出隐含规律,小模型靠自己总结不出来,只能"强行背答案";而教师模型的输出(预测概率)里就带着这些规律信息,可以让小模型模仿。下半…
序列建模里"同时看左右两边上下文"的最早、最经典的工程解法,用两个方向相反的 LSTM 各扫一遍序列,再把同一位置的输出拼起来。 图注:原图是一张标准的 BiLSTM 展开图,纵向分四层:Input(输入 x_{t-1}, x_t, x_{t+1},橙色圆)→ Backward ←(绿色 LSTM 块,箭头向左,携带 \overleftarrow{…
蒸馏的第二种传法,不只学教师的输出,还要学教师的中间层特征。因为大模型从数据里提取特征的"能力"本身就比小模型好,学生可以直接对着教师的特征图做 MSE 回归。 图注:原图从上到下是三块。① 上方是一个"输入 → 若干层 → 潜在空间表示(Latent Space Representation)→ 若干层 → 输出"的网络示意,配文说明中间层的输出…
用 12 页把深度学习的线性代数骨架过一遍,矩阵乘法的维度规则 → 全连接层与 Transformer 并行的本质 → 外积与低秩 → 低秩因式分解与 LoRA,是「模型压缩」章节的数学铺垫课。 一、这份材料解决什么问题 模型压缩的四大手段里,低秩分解直接就是矩阵分解,剪枝要靠 L1/L2 范数当"重要性判据",量化本质是给矩阵乘法的输入输出做线性…
用 GRU + Attention 的 Encoder–Decoder 从零训练一个英译法 seq2seq 模型,跑通"数据清洗 → 双词表 → 截断填充 → 编码器/注意力/解码器 → teacher forcing 训练 → 自回归推理 → BLEU 评估"的完整闭环,它是 day08「Transformer 英译法案例」的对照组基线。 一、这…
从"1 bit 能表示两种可能性"出发,一路推到 KL 散度,把蒸馏里那个 soft_loss = F.kl_div(...) 的每个符号、每个参数方向、为什么必须用 KL 而不是 MSE 全部讲透。 一、这份材料解决什么问题 蒸馏的损失函数长这样: \text{loss} = (1-\alpha)\cdot \text{hard\_loss} +…
整门量化课唯一的"手推"环节,用 min-max 方法把 0~1000 压到 int8 的 −128~128,把 scale 和 zero_point 这两个量化的核心参数从头算一遍。算通了这一遍,QAT/PTQ/DQ 的区别才有落脚点。 图注:原图分左右两块。左边是映射关系示意图:上轴是原始实数域(-|max| … 0.0 … +|max|),下…