浮点数精度

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

常见精度格式:

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 量化后部署推理,以在效果和效率之间取得平衡。
相关推荐
人邮异步社区10 小时前
怎么成为一个 AI Agent 工程师?
人工智能·ai
房产中介行业研习社10 小时前
2026年3月房产中介房源管理系统使用体验评测
大数据·人工智能
青梅煮酒与君饮10 小时前
深度刨析RAG检索增强
数据库·人工智能·深度学习·语言模型·知识图谱
zhangshuang-peta10 小时前
MCP 的执行与回执:如何让每一步可追踪、可验证、可审计?
人工智能·ai agent·mcp·peta
深邃-10 小时前
字符函数和字符串函数(1)
c语言·开发语言·数据结构·c++·算法·html5
我真不是小鱼10 小时前
cpp刷题打卡记录24——路径总和 & 路径总和II
数据结构·c++·算法·leetcode
无代码专家10 小时前
轻流 AI OA 系统的持续演进之路——生产管理全流程解析
人工智能·无代码
码农垦荒笔记10 小时前
LLM 后训练革命:GRPO、DAPO 与 RLVR 如何替代 RLHF 重塑大模型对齐训练
人工智能·强化学习·grpo·dapo
菜鸟小九10 小时前
JVM垃圾回收
java·jvm·算法