FP8(8位浮点)
FP8 就是把神经网络里的数字压成 8 位浮点,让显卡算得更快、存得更省,同时比 INT8 整数量化更能保住精度。
亦作、亦称:8位浮点 · Float8 · E4M3 · E5M2
FP8 是 NVIDIA、Arm、Intel 联合制定的 8 位浮点标准,兼顾低内存与高吞吐,已成为大模型高效推理的主流量化精度。它以两种子格式(E4M3/E5M2)覆盖不同精度与动态范围需求,广泛应用于 H100 等新一代 AI 芯片。
概述
FP8 是当前 AI 加速领域最受关注的低精度浮点格式之一。
- 8 位浮点:包含 1 位符号位 + 指数位 + 尾数位,共 8 bit
- 两种子格式:E4M3(4 位指数 + 3 位尾数)精度优先;E5M2(5 位指数 + 2 位尾数)动态范围优先
- 对比 INT8:FP8 保留指数位,动态范围更大,对异常值(outlier)更鲁棒
- 对比 FP16/BF16:内存占用减半,同等硬件下可处理更大批次或更长序列
- 行业标准:由三大芯片厂商联合推进,已提交 IEEE 标准化
工作原理
FP8 通过缩减每个数值的比特宽度来换取速度和容量,关键在于精细的格式选择与动态缩放。
- E4M3 用于前向传播:较多尾数位保留激活值和权重的精度细节
- E5M2 用于梯度:较宽指数范围适应反向传播中梯度数值的大动态范围
- 逐张量缩放(per-tensor scaling):每个张量乘以一个 FP32 缩放因子,将数值映射到 FP8 可表示范围
- 混合精度框架:主权重保持 FP32 或 BF16,仅计算内核使用 FP8,通过损失缩放防止梯度下溢
- 硬件 Tensor Core:NVIDIA H100 的 FP8 Tensor Core 相比 FP16 吞吐量提升约 2 倍
格式变体与比较
不同精度格式在比特分配上各有侧重,选择需结合模型特点与硬件支持。
- E4M3:最大值约 ±448,适合权重和激活的精确表示
- E5M2:最大值约 ±57344,更大动态范围,适合梯度存储
- 对比 BF16:BF16 有 8 位指数 + 7 位尾数,精度和范围均优于 FP8,但显存占用为 FP8 的 2 倍
- 对比 INT8:INT8 动态范围固定,需要额外校准步骤;FP8 通过指数位自适应,校准更简单
- HFP8(混合 FP8):IBM 2019 年提出的早期变体,前向用 E4M3、反向用 E5M2,是现行规范的前身
应用场景
FP8 主要在大模型训练加速与高吞吐推理部署中发挥价值。
- LLM 推理:vLLM、TensorRT-LLM 等框架支持 FP8 内核,显著降低 GPU 显存压力
- 大模型训练:Transformer Engine 库提供 FP8 矩阵乘法,H100 集群训练 GPT 级模型时可节省约 50% 显存
- 边缘与服务器部署:英特尔 Gaudi2 原生支持 FP8,适合数据中心推理服务
- 多模态模型:视觉-语言模型的图像编码器与语言解码器均可受益于 FP8 量化
- DeepGEMM 等内核优化:专为 FP8 设计的矩阵乘法内核进一步提升实际吞吐
局限与误区
FP8 并非万能,在实际部署中存在若干需要注意的局限。
- 精度损失风险:对激活值分布异常(outlier 较多)的模型,FP8 量化误差可能较大
- 误区:FP8 等于 INT8 的一半精度:两者比特数相同,差异在格式(浮点 vs 整数),不是精度高低的简单关系
- 硬件依赖性强:FP8 Tensor Core 目前主要在 NVIDIA Hopper(H100/H200)、Intel Gaudi2 上可用,旧卡不支持
- 框架支持尚不完整:部分算子(如 LayerNorm、Softmax)仍需在更高精度下运行,存在格式转换开销
- 缩放因子管理复杂:生产环境中需维护每层的缩放因子,增加系统工程复杂度
发展脉络
FP8 的演进伴随着大模型对计算效率的持续追求。
- 2019 年:IBM 提出 HFP8(混合 8 位浮点),首次系统验证 FP8 可用于 DNN 训练(NeurIPS 2019)
- 2022 年 9 月:NVIDIA、Arm、Intel 联合发布 FP8 Formats for Deep Learning(arXiv:2209.05433),定义 E4M3/E5M2 工业标准
- 2022 年底:NVIDIA H100(Hopper 架构)发布,首款原生支持 FP8 Tensor Core 的 GPU
- 2023 年:TransformerEngine、vLLM、TensorRT-LLM 等主流框架陆续支持 FP8 推理与训练
- 2024 年:DeepSeek、Llama 等开源大模型训练开始采用 FP8 混合精度策略
- 2025 年至今:FP8 成为 LLM 推理部署的默认量化精度之一,多家云服务商推出 FP8 推理 API
常见误解
日常交流中容易听到的简化说法,未必准确,但能帮助理解误解从何而来。
- 「FP8 就是把神经网络里的数字压成 8 位浮点,让显卡算得更快、存得更省,同时比 INT8 整数量化更能保住精度。」
- 「很多人以为 FP8 只有一种格式,其实有 E4M3 和 E5M2 两种,前向传播和梯度反传通常各用一种。」
- 「FP8 不是 INT8,它保留了浮点的指数位,能自动适应数据的动态范围,量化误差通常比整数格式更小。」
相关术语
和本术语关联紧密的其他词条,便于串联理解。
延伸阅读
从知识库精选 3 篇文章,帮助深入理解该术语。
- 1
FP8 推理基础设施(五):从 DeepGEMM 到 vLLM
2026 年 4 月,DeepSeek 开源 DeepGEMM——专为 FP8 精度设计的高性能 GEMM 内核库。FP8 推理正在从「实验性优化」变为「行业标准」。本文从 FP8 的数学原理、硬件支持、主流推理框架集成到 DeepGEMM 源码级解析,全面梳理 FP8 推理基础设施的技术全景,并附 Python 实战代码。
- 2
LLM 推理优化:量化、剪枝、蒸馏与推理加速实战
系统讲解大语言模型推理优化的四大核心技术——量化(Quantization)、剪枝(Pruning)、知识蒸馏(Knowledge Distillation)和推理引擎加速,覆盖从原理到实战的完整链路
- 3
LLM 推理加速实战:从 KV Cache 优化到推测解码
系统梳理 LLM 推理加速的核心技术——KV Cache 管理、PagedAttention、推测解码、连续批处理,掌握生产环境推理优化的决策框架和工具链