标签:混合精度
-
loss spike 的成因与对策:bf16、脏数据与优化器状态的排查顺序
loss 曲线上的尖峰大部分不是优化器的锅。这篇按"先量化、再定位、后处置"的顺序给出排查流程:用滑动基线区分真尖峰和噪声,按命中率从高到低排查 bf16 溢出、优化器状态污染、数据异常段,并给出回滚-降 lr-换数据段的处置决策树。
-
混合精度训练:fp16 的动态损失缩放原理与实现
fp16 让矩阵乘快一倍、显存省一半,但梯度在 fp16 的表示范围里根本活不下去。动态损失缩放把 loss 乘上一个大数让梯度整体抬回 fp16 的安全区,翻倍增、减半减、溢出跳步。这篇推导缩放因子的数学依据,拆解 2000 步倍增规则背后的账本,并对比 bf16 为什么可以扔掉这套机制。
-
bf16 与 fp16 的工程取舍:动态范围与精度的交换
fp16 和 bf16 同为 16 bit,却把有限的位分配给了不同的字段:fp16 把 10 位给尾数换精度,bf16 把 8 位给指数换动态范围。这篇从位布局推两者的数值边界,讲清为什么 bf16 可以扔掉 loss scaling、为什么累加仍要回 fp32,以及硬件条件如何决定选型。