分类:AI 大模型
学习路径:由浅入深,按顺序阅读效果最好(共 147 篇)
-
141. 权重衰减与有效学习率:归一化层的尺度不变性让 WD 变成另一种学习率
加了 LayerNorm/RMSNorm 之后,权重乘任意正数不改变层的输出,函数本身对权重范数免疫。这导致一个反直觉的结论:对这些"尺度不变参数",权重衰减并不正则化函数空间,它的真实作用是间接缩放有效学习率。这篇从尺度不变性出发推导参数的径向-切向动力学,解释为什么调 WD 和调 lr 在归一化网络里高度耦合,以及 AdamW 下这个等价关系的具体形式。
-
142. 数据并行、张量并行、流水并行的划分逻辑:三种并行各自的通信量账本
单卡显存放不下大模型时,有三种切法:数据并行切 batch、张量并行切矩阵、流水并行切层。选择的依据不是直觉,而是一本通信量与显存的账——张量并行每层两次 all-reduce 但通信快,数据并行每步一次 all-reduce 数据量大,流水并行通信最少却有气泡。这篇用一个具体模型把三种并行的账算清楚,说明 3D 并行怎么组合排布。
-
143. ZeRO:把优化器状态也切了,显存占用的递进削减方案
朴素数据并行每卡都存一份完整的权重、梯度和 Adam 状态,对 7B 模型这是近 200 GB 的浪费。ZeRO 的思想朴素:既然梯度反正要求平均,分片存储、用时再聚合。三个优化阶段分别对应分片优化器状态、梯度、权重,把单卡显存从 O(Ψ) 一路压到 O(Ψ/N),代价是通信量的有界上涨。这篇算清每阶段省多少、多花多少通信,以及 PyTorch FSDP 对应的是哪一档。
-
144. 梯度检查点:用 33% 的额外计算换显存平方级的节省
反向传播需要前向的所有激活,显存随层数线性增长——这是长序列训练的第一堵墙。梯度检查点只存每个分段的边界激活,反向时重算段内前向,把激活显存从 O(L) 压到 O(sqrt L),代价约 33% 的额外 FLOPs。这篇推导最优分段数的公式,讲清选择性重计算(Megatron 的做法)为什么比全量重算更划算,以及 torch.utils.checkpoint 的实现细节。
-
145. KV Cache 原理与复杂度推导:一次"以空间换时间"的完整算账
逐 token 解码时重复计算历史 K/V 是主要浪费;推导有无 cache 的计算量差异,并算出 KV cache 的显存占用公式。
-
146. LoRA 的低秩假设从哪里来:内在维度、参数账本与初始化细节
LoRA 赌的是"微调产生的权重增量近似低秩";追溯内在维度实验的证据链,算清参数与显存的账,讲透 B 零初始化的必要性。
-
147. DPO 推导:从 RLHF 目标到闭式解,奖励模型是怎么被消掉的
从带 KL 约束的 RLHF 目标出发,推出最优策略的闭式解,反解奖励函数代入 Bradley-Terry 模型,得到只需偏好对的 DPO 损失。