在混合精度训练(Mixed Precision Training)中,FP16 (Half Precision) 和 BF16 (Brain Floating Point) 是两种最常用的低精度浮点数格式。 它们的核心区别在于比特位的分配方式,这直接导致了它们在数值范围(Range)、精度(Precision)以及训练稳定性上的显著差异。 以下是详细的对比解析: --- 1. 核心架构:比特位分配 (Bit Layout) 这两种格式都使用 16 个比特(bits)来表示一个数字,但内部结构不同。作为参考,标准的 FP32 (单精度) 是:1位符号 + 8位指数 + 23位尾数。 | 格式 | 总位数 | 符号位 (Sign) | 指数位 (Exponent) | 尾数位 (Mantissa/Fraction) | | :--- | :---: | :---: | :---: | :---: | | FP32 | 32 | 1 | 8 | 23 | | FP16 | 16 | 1 | 5 | 10 | | BF16 | 16 | 1 | 8 | 7 | FP16:为了保留较高的精...