FP32
FP32是32位单精度浮点数格式,是深度学习模型训练和推理的基准精度,占用存储和计算资源较多。
核心事实
时间轴 (近 90 天)
该研究提出的方法在RoPE(旋转位置编码)、SwiGLU(激活函数)和残差RMSNorm三个关键区域,将选定的中间结果保留在FP32精度,直到其BF16输出阶段再进行舍入。
BF16(Brain Floating Point 16)是一种16位浮点格式,保留8位指数(与FP32相同)但只有7位尾数,因此动态范围大而精度低。
模型训练时常用FP32或混合精度,发布推理版本时通常转成FP16以减半体积。
在 SkyRL 的权重同步过程中,FP32 路由器权重被完整保留,以避免低精度转换带来的数值不稳定问题。
评分输出对数值扰动更敏感,低精度量化容易导致打分排序出现偏移,而排序准确性是过滤、候选排序类任务的核心指标。
算力受限意味着硬件的计算单元已被打满,此时增加批量大小或优化数值精度(如用BF16代替FP32)才有意义
当累加和达到1.0时,FP32能表示的最小变化量为1 ULP = 2⁻²³ ≈ 0.00000012
FP32使用32位表示浮点数,其中1位符号位、8位指数位、23位尾数位
FP32大约只能保持7位有效数字的精度
量化的核心原理是将模型参数从高精度浮点数(如FP32的32位浮点)转换为低精度表示(如INT8的8位整数或INT4的4位整数)
还有 3 条时间轴事件
全部知识事实 (15)
模型量化从FP32降至INT8能将推理速度提升3-4倍,但可能导致小目标检测精度下降
80%已验证混合精度训练前向传播用FP16利用Tensor Core加速,参数更新保留FP32以维持数值稳定性,已成为大模型训练的标准做法
75%已验证量化的核心原理是将模型参数从高精度浮点数(如FP32的32位浮点)转换为低精度表示(如INT8的8位整数或INT4的4位整数)
65%已验证BF16采用1位符号位、8位指数位和7位尾数位,牺牲精度但保留了与FP32相同的动态范围
65%待验证该研究提出的方法在RoPE(旋转位置编码)、SwiGLU(激活函数)和残差RMSNorm三个关键区域,将选定的中间结果保留在FP32精度,直到其BF16输出阶段再进行舍入。
50%待验证BF16(Brain Floating Point 16)是一种16位浮点格式,保留8位指数(与FP32相同)但只有7位尾数,因此动态范围大而精度低。
50%待验证模型训练时常用FP32或混合精度,发布推理版本时通常转成FP16以减半体积。
50%待验证在 SkyRL 的权重同步过程中,FP32 路由器权重被完整保留,以避免低精度转换带来的数值不稳定问题。
50%待验证评分输出对数值扰动更敏感,低精度量化容易导致打分排序出现偏移,而排序准确性是过滤、候选排序类任务的核心指标。
50%待验证算力受限意味着硬件的计算单元已被打满,此时增加批量大小或优化数值精度(如用BF16代替FP32)才有意义
50%待验证FP32使用32位表示浮点数,其中1位符号位、8位指数位、23位尾数位
50%待验证FP32大约只能保持7位有效数字的精度
50%待验证当累加和达到1.0时,FP32能表示的最小变化量为1 ULP = 2⁻²³ ≈ 0.00000012
50%待验证在7nm工艺下,一次FP32乘法大约消耗4.6pJ能量,而一次FP32加法仅需约0.9pJ
50%待验证全精度权重通常指以FP32(32位浮点数)格式存储的模型参数
50%