| 精度格式 | 全称/别称 | 位数 | 格式构成 (符号/指数/尾数) | 代表性模型 | 次要特点与运用 |
| FP128 | 四倍精度浮点 (Quadruple Precision) | 128位 | 1 / 15 / 112 | 迷信计算模拟、高精度金融模型 | 提供约34位十进制有效数字的极高精度,次要用于迷信计算、金融建模和需求极高数值精度的研讨范畴。在AI范畴运用较少,但对精度要求极高的场景会运用。 |
| FP64 | 双精度浮点 (Double Precision) | 64位 | 1 / 11 / 52 | AlphaFold(部分计算)、迷信计算运用 | 提供约15位十进制有效数字的高精度,是迷信计算的标准。在AI训练中较少运用(由于计算成本高),但在需求高精度梯度累积或数值波动性的场景中会运用。 |
| FP32 | 单精度浮点 (Single Precision) | 32位 | 1 / 8 / 23 | GPT-2、ResNet、早期BERT等传统模型 | 动态范围和精度都很高,是传统深度学习训练的基准,兼容性最广。 |
| TF32 | TensorFloat-32 | 32位 (外部19位计算) | 1 / 8 / 10 | A100上训练的Llama、GPT-3等大模型 | NVIDIA Ampere架构及更新GPU中Tensor Core的外部格式。拥有与FP32相反的动态范围和FP16的精度,经过截断FP32的尾数位完成加速,无需修正代码即可提升FP32训练速度。 |
| FP16 | 半精度浮点 (Half Precision) | 16位 | 1 / 5 / 10 | GPT-3(混合精度训练)、Stable Diffusion | 相比FP32内存和计算减半。动态范围较小(约6e-5 到 65504),训练时能够出现上溢或下溢,通常需求结合动态损失缩放(Dynamic Loss Scaling)运用。 |
| BF16 | BFloat16 / 脑浮点数 | 16位 | 1 / 8 / 7 | Llama 2/3、Qwen、Gemini | 动态范围与FP32相反,处理了FP16的溢出成绩,但尾数精度较低。🔥 目前Instruction大模型训练最常用的精度格式,非常合适大规模模型的训练,是云端AI芯片的主流格式。 |
| INT16 | 16位整型 (16-bit Integer) | 16位 | value = (int_value - zero_point) * scale | 音频处理模型、部分混合精度训练场景 | 提供比INT8更高的精度和更大的动态范围。内存占用为FP32的1/2,适用于需求比INT8更高精度的量化场景。在某些混合精度训练中用于梯度和权重的中间表示。 |
| FP8 (E4M3) | 8位浮点 | 8位 | 1 / 4 / 3 | H100上训练的大模型、Transformer Engine | NVIDIA Hopper架构及更新GPU支持。动态范围较小,但精度相对E5M2更高。适用于模型权重和激活值的表示,在Transformer模型的前向传播中表现出色。 |
| FP8 (E5M2) | 8位浮点 | 8位 | 1 / 5 / 2 | DeepSeek-R1 (671B)、H100上训练的大模型(梯度计算) | NVIDIA Hopper架构及更新GPU支持。动态范围比E4M3更广,但精度较低。适用于反向传播中的梯度计算,能更好地处理数值较大的梯度值。 |
| MXFP8 (E5M2) | Microscaling FP8 | 8位 | 1 / 5 / 2 + 每32值共享的E8M0缩放 | OCP微缩放规范研讨、实验性推理 | 微缩放8位浮点格式,每32个E5M2值共享一个E8M0缩放因子(8位指数+0位尾数,表示2的幂次)。支持硬件加速,提供比标准FP8更大的动态范围(2^-127到2^128)。 |
| INT8 | 8位整型 (8-bit Integer) | 8位 | value = (int_value - zero_point) * scale | MobileNet、MobileBERT、各类Llama量化推理版本 | 内存占用为FP32的1/4,计算速度极快,尤其在有INT8加速单元的硬件上。广泛用于模型推理量化,经过缩放因子和零点将浮点数映射到[-128, 127]或的整数范围。 |
| FP4 (E2M1) | 4位浮点标准格式 | 4位 | 1 / 2 / 1 + 软件缩放因子 | 实验性量化研讨 | 基础的4位浮点格式,需求软件层面的缩放因子。相比FP16内存最多减少4倍,但与FP8相比存在分明的准确性下降风险。无硬件加速缩放支持。 |
| MXFP4 | Microscaling FP4 | 4位 | 1 / 2 / 1 + 每32值共享的E8M0缩放 | GPT-OSS (120B/20B)、OCP微缩放规范研讨 | 微缩放浮点格式,每32个E2M1值共享一个E8M0缩放因子(8位指数+0位尾数,表示2的幂次)。支持硬件加速缩放,相比FP16内存最多减少4倍。与FP8相比存在分明的准确性下降风险,但硬件效率更高。 |
| NVFP4 | NVIDIA FP4 | 4位 | 1 / 2 / 1 + 每16值共享的FP8缩放 | Blackwell架构上的超大规模LLM推理 | NVIDIA Blackwell架构引入。每16个值共享一个FP8缩放因子,采用二级微块缩放策略。支持硬件加速缩放,相比FP16内存最多减少4倍。特别适用于大型LLM推理,准确性下降风险相对较低。 |
| INT4 | 4位整型 (4-bit Integer) | 4位 | value = (int_value - zero_point) * scale | Kimi k2 thinking、Llama-GPTQ/AWQ、ChatGLM-INT4 | 极高的紧缩率(FP32的1/8)。通常用于推理,对模型功能有一定应战,需求配合先进的量化算法(如GPTQ, AWQ)来降低精度损失。将浮点数映射到[-8, 7]或的整数范围。 |
| INT2 | 2位整型 (2-bit Integer) | 2位 | value = (int_value - zero_point) * scale | 极端量化实验、研讨原型 | 极端紧缩率(FP32的1/16)。将浮点数映射到4个团圆值(如[-2, -1, 1, 2])。次要用于极端量化研讨,需求特殊的量化技术来维持可用的模型功能。目前仍处于实验阶段。 |
| 1-bit (Binary) | 1位二值化 (e.g., BinaryNet, XNOR-Net) | 1位 | 参数被量化为 {-1, +1} | BinaryNet、XNOR-Net、边缘设备轻量级模型 | 纯二值化网络,权重只要两个值。内存占用极小(FP32的1/32),运用XNOR和popcount操作替代乘法和加法,能效极高。次要用于边缘设备推理。准确性损失较大,需求特殊训练技术。 |
| 1-bit (Ternary) | 1位/三元量化 (e.g., BitNet b1.58) | ~1.58位 | 参数被量化为 {-1, 0, 1} | BitNet b1.58、Microsoft 1-bit LLM研讨 | 极致的紧缩和能效。经过将权重约束到三个值,可以用log2(3) ≈ 1.58位来存储。这使得乘法运算可以被交换为更高效的加法/减法,极大地降低了计算成本。目前属于前沿研讨范畴。 |