← AI 术语表

AI 术语表 · 基础 · 效率与基础设施

精度(FP32、BF16、FP8)

精度指 AI 模型用多少位来存储和计算一个数字,如 FP32、BF16、FP8,位数越少,内存和计算量越少,但表示也越粗糙。

关于这个术语
难度
基础 · AI 新闻中常见的技术术语
加入时间
2026-10-12
通俗解释 这类似于地图的比例尺。精细的地图准确,但又厚又重;简略的地图轻便,但小巷会消失。

工作原理

FP 表示浮点数(floating point),后面的数字是位数。FP32 每个数字占 4 字节,FP16、BF16 占 2 字节,FP8 占 1 字节,FP4 占 0.5 字节。这些位分为负责“数值大小范围”的部分和负责“精细程度”的部分。BF16 与 FP16 大小相同,但范围与 FP32 一样宽,训练中数值溢出的问题较少,因此如今几乎成为训练和推理的默认选择。

每个数字占用的字节

FP32
BF16·FP16
FP8
FP4
这是不同精度下一个数字占用的内存。用参数量乘以该值,即可估算权重内存。

在哪里会看到

可以在 Hugging Face 模型 config.json 中的 torch_dtype 字段(例:bfloat16)、模型卡、推理引擎的 dtype 设置中看到。GPU 规格书会列出不同精度下的每秒运算次数,越新的 GPU 越会在硬件上支持 FP8、FP4 等低精度。量化模型名称中标注的 4bit、8bit 也是同一回事。

为什么重要

把精度降低一半,权重内存就减少一半,在支持的 GPU 上计算也会变快。因此可以把大模型放到更小的 GPU 上,或处理更多请求。训练中常用“混合精度”,即用低精度计算,而重要的值保持高精度。最近,尝试连训练也用 FP8、FP4 完成的研究十分活跃。

注意事项

精度降得过低,可能导致准确率下降或训练不稳定。同为 8 位,FP8 与 INT8(整数)的方式不同,需要确认引擎和 GPU 支持哪一种。较旧的 GPU 不在硬件上支持 BF16 或 FP8,可能达不到预期速度。原本以 BF16 发布的模型若特意以 FP32 加载,只会让内存翻倍,质量上几乎没有收益。

示例

本站的“TRACE”论文新闻介绍了一种方法:为减少用 FP4 对 MoE 语言模型进行强化学习时产生的误差,在训练过程中预先考虑量化。实际工作中,可以在模型的 config.json 里确认 torch_dtype 是否为 bfloat16;如果 GPU 支持 FP8,再考虑是否在推理引擎设置中改为 FP8 以节省内存。

本站出现过的地方

相关术语