浮点数精度

核心概念: 浮点数由三部分组成------符号位(正/负)、指数位(范围)、尾数位(精度)。总位数越多,能表示的数值范围和精度就越高,但计算速度越慢、显存占用越大。

常见精度格式:

FP32(Float32,单精度) --- 32位浮点数,1位符号 + 8位指数 + 23位尾数。这是传统的"标准精度",精度高但占用显存大、计算慢。

FP16(Float16,半精度) --- 16位浮点数,1位符号 + 5位指数 + 10位尾数。显存减半、速度更快,但数值范围小,容易出现溢出问题。

BF16(BFloat16,Brain Float16) --- Google Brain 提出的16位格式,1位符号 + 8位指数 + 7位尾数。它保留了和 FP32 一样的指数位(数值范围相同),只是牺牲了尾数精度。在大模型训练中非常流行,因为它兼顾了速度和数值稳定性。

FP8(Float8,8位浮点) --- 最新一代的低精度格式,只用8位。有两种常见变体:E4M3(4位指数+3位尾数,精度稍高)和 E5M2(5位指数+2位尾数,范围更大)。主要用于推理加速,NVIDIA H100/H200 等新GPU原生支持。

其他常见精度:

  • FP64(Float64,双精度) --- 64位,科学计算用,精度极高但很慢
  • TF32(TensorFloat-32) --- NVIDIA 提出的19位格式(8位指数+10位尾数),A100及以上GPU支持,训练时可自动替代FP32
  • INT8 / INT4 --- 整数量化格式,不是浮点数,常用于模型推理的量化压缩
  • FP4 / NF4 --- 4位浮点/归一化浮点,用于QLoRA等极致量化方案
    简单总结精度从高到低: FP64 > FP32 > TF32 > BF16 ≈ FP16 > FP8 > INT8 > INT4/FP4
    在大模型领域,当前主流做法是用 BF16 训练,用 FP8 或 INT8/INT4 量化后部署推理,以在效果和效率之间取得平衡。
相关推荐
xiaoduo AI12 小时前
从接待执行到业务增长,AI客服如何实现全链路协同?
人工智能·机器人
Saniffer_SH12 小时前
【高清视频】Gen6 服务器还没到,Gen6 SSD 怎么测?Emily 现场演示三种测试环境
人工智能·驱动开发·测试工具·缓存·fpga开发·计算机外设·压力测试
ZHW_AI课题组12 小时前
Python 调用百度智能云 API 实现地址识别
开发语言·人工智能·python·机器学习·百度·数据挖掘
俊哥V12 小时前
每日 AI 研究简报 · 2026-06-15
人工智能·ai
Kurisu_红莉栖12 小时前
前缀和的另外一种用法,前缀和分解
算法
王木风12 小时前
Spring Boot + LLM 工程化:把短视频流水线拆成 16 个独立角色的踩坑记录
人工智能·spring boot·后端·开源·新媒体运营·音视频·agent
信实翻译12 小时前
分账模式翻译:跨越商业与语言的精密计算
人工智能
EAIReport12 小时前
企业级AI智能体平台说明
人工智能
智海观潮12 小时前
UniScientist:30B开源科研大模型突破,重构AI自主研究范式
人工智能·ai·大模型
88号技师12 小时前
2026年2月一区SCI-交叉传播优化算法Propagation Alongside Crossover-附Matlab免费代码
开发语言·算法·数学建模·matlab·优化算法