第 2 页,共显示 8 / 73 篇文章
按年份查看 →
- 模型放不下一张卡时究竟该切什么?数据并行、张量并行与流水线并行的边界
从显存瓶颈和通信位置出发,用四卡手算比较数据并行、张量并行与流水线并行,解释三种切分的数据流、张量形状、性能代价与组合原则。
16 分钟 中文 - 大 Batch 放不进显存怎么办?梯度累积的精确归一化与 DDP no_sync
从梯度平均的分母出发,手算不等长 micro-batch 的累积误差,实现 token 精确归一化、AMP 与 DDP no_sync,并覆盖尾批、裁剪、调度和等价性调试。
14 分钟 中文 - 激活占满显存时该丢掉什么?Activation Checkpointing 的重算、边界与随机数状态
从反向传播为何需要中间激活出发,手算显存—计算交换,拆解 PyTorch 2.14 非重入 checkpoint 的重算数据流,并给出边界选择、随机层、调试与性能验证方法。
14 分钟 中文 - 半精度为何会让梯度变成 0 或 NaN?Autocast、FP16/BF16 与 GradScaler
从浮点数指数与尾数预算出发,手算梯度下溢和 loss scaling,拆解 PyTorch 2.14 autocast 与 GradScaler 数据流,并给出裁剪、累积、调试和失败边界。
14 分钟 中文 - 训练步数相同为何学习进度不同?Token 学习率时钟、Warmup 与 Cosine Decay
从可变长度 batch 让每步 token 数漂移出发,手算 token 进度下的 warmup 与余弦衰减,实现可恢复的 PyTorch 学习率控制器,并解释预算、调用顺序与调试方法。
12 分钟 中文 - 同一批短句为何被最长句拖慢?动态 Padding、长度分桶与 Token-based Batching
从变长样本的二次注意力浪费出发,手算长度分桶收益,实现当前 PyTorch 动态 padding 与 token 预算批处理,并解释 loss 归一化、分布式与编译形状陷阱。
15 分钟 中文 - 短文拼进同一窗口会互相偷看吗?Sequence Packing 的边界掩码
从固定上下文窗口的 padding 浪费出发,手算 sequence packing,分别构造块对角因果注意力、跨文档 loss 屏蔽与位置编号,并给出可验证的 PyTorch 实现。
14 分钟 中文 - 网页占九成就该训练九成吗?数据混合权重、温度采样与 Token 预算
从数据量比例压倒小语种出发,手算温度平滑,区分文档与 token 采样,并用 PyTorch 构造可复现、可审计的多来源预训练批次。
13 分钟 中文