当前位置: 首页 > news >正文

FP16、FP32 及全系列浮点格式全解析:从半精度到四倍精度

概述

IEEE 754 标准定义了多种二进制浮点格式,从 8 位到 128 位不等,每种格式在符号位、指数位和尾数(精度)位数上各不相同,以平衡数值范围与精度需求citeturn2search1turn0search9。当前深度学习与高性能计算中,常见的格式包括 FP8、FP16(binary16)、BF16(bfloat16)、FP32(binary32)、TF32、FP64(binary64)以及 FP128(binary128)citeturn0search12turn2search1。


IEEE 754 基本概念

在所有 IEEE 754 二进制格式中,一个浮点数由三部分组成:

  • 符号位(Sign):1 位,决定正负。
  • 指数域(Exponent):带偏移的无符号整数,用于扩展数的量级。
  • 尾数域(Significand/Mantissa):存储有效数字,通常隐含一位“隐藏位”以增加精度。
    当指数全 0 或全 1 时,分别用于表示次正规数/零和无穷大/NaN 等特殊值citeturn2search1。

常见浮点类型详解

类型总位数符号位指数位尾数位(显式)有效精度(位)近似小数有效位数典型范围主要用途
FP8 (E4M3)81434~1.2~±(2⁻⁷ … 2⁸)极限量化、超低精度推理
FP8 (E5M2)81523~0.9~±(2⁻¹⁵ … 2¹⁶)量化研究、新兴硬件支持
FP1616151011~3.3~±(6.1 × 10⁻⁵ … 6.5 × 10⁴)半精度推理、计算加速
BF16161878~2.2~±(3.4 × 10³⁸)机器学习训练(TPU、云加速器)
FP3232182324~7.2~±(1.2 × 10⁻³⁸ … 3.4 × 10³⁸)深度学习训练/推理的标准精度
TF3219181011~3.3与 FP32 相同NVIDIA Ampere GPU 的混合精度加速
FP64641115253~15.9~±(5.0 × 10⁻³² … 1.8 × 10³⁰⁸)科学计算、高精度需求
FP128128115112113~34.0极宽范围,支持超高精度金融、天文模拟、科学极限计算

表中数据来源:IEEE 754 二进制互换格式citeturn2search1turn0search9;FP8 格式研究citeturn0search12turn0search5;FP16/binary16citeturn0search0;BF16/bfloat16citeturn0search10turn0search3;FP32/binary32citeturn2search0;TF32citeturn0search15turn0search4;FP64/binary64citeturn0search2;FP128/binary128citeturn0search6


FP8:最小化位宽,突破量化

  • E4M3:4 位指数 + 3 位尾数,动态范围小但极致压缩,适合超低延迟推理场景citeturn0search12turn0search5。
  • E5M2:5 位指数 + 2 位尾数,兼顾范围与精度,正在研究中并已在部分 NVIDIA Hopper / Ada GPU 支持citeturn0search16。

FP16 / binary16:半精度推理利器

  • 结构:1 位符号、5 位指数 (偏移 15)、10 位尾数 (隐含 1 位);符合 IEEE 754-2008 标准citeturn0search0。
  • 优点:内存占用减半,计算吞吐提升,是深度学习推理常用格式。
  • 缺点:指数与尾数有限,易出现溢出/下溢。

BF16 / bfloat16:云 TPU 的奇招

  • 结构:1 位符号、8 位指数 (与 FP32 相同)、7 位尾数;舍弃部分尾数位以保留大范围citeturn0search10turn0search3。
  • 优势:指数范围与 FP32 相当,精度可接受,降低了训练时的数值不稳定性。
  • 应用:Google Cloud TPU、Intel 的硬件加速。

FP32 / binary32:深度学习的基石

  • 结构:1 位符号、8 位指数 (偏移 127)、23 位尾数 (隐含 1 位);精度约 7~9 位十进制数字citeturn2search0。
  • 用途:大多数深度学习训练与推理任务的默认格式。

TF32:Ampere 架构的专属提速

  • 结构:1 位符号、8 位指数、10 位尾数;覆盖 FP32 范围但仅保留 10 位尾数位以提速citeturn0search15turn0search4。
  • 特色:在 NVIDIA Ampere GPU 上可用 Tensor Cores 自动加速,无需改动代码。

FP64 / binary64:科学计算的“黄金标准”

  • 结构:1 位符号、11 位指数 (偏移 1023)、52 位尾数 (隐含 1 位);精度约 16~17 位十进制数字citeturn0search2。
  • 用途:高精度科学模拟、金融计算、数值分析。

FP128 / binary128:极限精度探索

  • 结构:1 位符号、15 位指数 (偏移 16383)、112 位尾数 (隐含 1 位);精度达 ~34 位十进制数字citeturn0search6。
  • 应用:天文模拟、气候建模、需要超高精度的科研场景。

混合精度训练简介

混合精度训练结合两种或多种浮点格式,以 FP16/BF16 + FP32 为典型:

  1. 前向/反向传播:使用低精度(FP16/BF16)以加速矩阵运算。
  2. 权重更新:在累积梯度时提升为 FP32,保证数值稳定性。

这种方法可以在不损失最终模型精度的前提下,大幅度减少显存占用并提高训练速度。


相关文章:

  • IDEA 2025.1更新-AI助手试用和第三方模型集成方案
  • 2025年GitHub平台上的十大开源MCP服务器汇总分析
  • 【AI飞】AutoIT入门七(实战):python操控autoit解决csf视频批量转换(有点难,AI都不会)
  • 如何下载适用于Docker环境的Google Chrome浏览器【镜像使用方法】
  • RT-Thread RTThread studio 初使用
  • osgb和obj格式互转
  • 计算机视觉---相机标定
  • Oracle之数据库对象加连表查询
  • 前端 实现文字打字效果(仿AI)
  • 三维点拟合直线ransac c++
  • C/C++中获取或处理时间节点方法
  • UWP特性分析
  • 软件招标评审模板
  • OpenCV day6
  • 责任链模式:从 Sentinel 流控到审批流程的链式处理
  • 什么是Netty
  • 常见免杀框架的使用(3款)---【AniYaGUI1.2.0、AV_Evasion_Tool掩日、FoxBypass_V1.0】
  • IHC肿瘤标志物 | 常见前列腺癌诊断
  • RAG-分块策略
  • 项目实战--新闻分类
  • 陈冬评价神二十乘组:合,三头六臂;分,独当一面
  • 巴基斯坦航天员选拔工作正在进行,1人将以载荷专家身份参加联合飞行
  • 金地集团:保交楼为经营的首要任务,将根据融资性现金流恢复程度等进行投资决策
  • 匈牙利总理投票反对乌克兰加入欧盟
  • 不朽诗篇的现代重生,意大利音乐剧《神曲》将来华15城巡演
  • 五一出游火爆!热门线路抢票难度堪比春运,有热门目的地酒店价格涨近4倍