一次讲清 FP32 / FP16 / BF16 / INT8 / INT4

一次讲清 FP32 / FP16 / BF16 / INT8 / INT4

目标 :让你3 分钟读懂格式原理,5 分钟学会选型

只记一句:"指数定范围,尾数定精度;位宽定显存,硬件定成本"


1 | 为什么要有这么多格式?

时代 典型位宽 驱动力
早期科学计算 FP32 精度第一
深度学习训练 FP16 / BF16 显存 & 带宽瓶颈
推理上云 / 上端 INT8 降本、提速
边缘 & 移动 INT4 极限压缩,离线运行

2 | 浮点格式:尺子比喻

复制代码
┌─符号(S)──┬─────指数(E)─────┬──────────尾数(M)──────────┐
    决定正负      决定"尺子长度"            决定"刻度密度"
格式 总位 指数位 尾数位 范围大小* 刻度数量**
FP32 32 8 23 ★★★★★ ★★★★★
BF16 16 8 7 ★★★★★ ★★☆
FP16 16 5 10 ★★ ★★★★
INT8 8 --- 8 (补码) 取决于缩放 ★★
INT4 4 --- 4 同上

* 归一化可表示的最大/最小值(Dynamic Range)

** 一个数量级内可分多少格(Precision)

口诀

  • FP16 = "刻度更密,尺子变短"
  • BF16 = "舍刻度,保尺子"
  • FP32 = "密+长,最豪华"
  • INT8/4 = "把刻度记成整数,再配一支比例尺(缩放因子)"

3 | 每种格式到底什么时候用?

场景 首选 理由
预训练 / 大梯度 BF16 与 FP32 同范围,梯度不溢出;显存减半
显存吃紧训练 (LoRA、SFT) BF16 + FP32 累加 省显存又保稳定
云端推理(>=20 GB GPU) FP16 硬件 TensorCore 2× 加速;误差可接受
成本敏感推理(<10 GB) INT8 量化后体积 ↓75%,吞吐 ↑2‑3×
移动 / 浏览器 INT4 + GPTQ/AWQ 模型 < 2 GB,可跑在 Mac M‑series / Android
科学模拟 / 金融回测 FP32 需极高累计精度

4 | 硬件支持一览

芯片 FP32 FP16 BF16 INT8 INT4
NVIDIA A100 ✅ TensorCore ---
NVIDIA H100 ✅ TensorCore 🚧 (B100)
Google TPU v4 --- ✅ 原生 ---
AMD MI300 ---
Apple M3 软件模拟 ✅ (MetalLLM)

5 | 精度 & 性能实测示例(Llama‑2‑7B, Alpaca Eval)

格式 ppl ↓ BLEU ↑ 推理 tokens/s (A100) 显存
FP32 5.85 28.6 45 14 GB
BF16 5.86 28.5 90 7 GB
FP16 5.87 28.5 92 7 GB
INT8 (RTN) 6.02 28.1 130 4 GB
INT4 (GPTQ) 6.25 27.8 160 2.3 GB

差距 < 0.2 ppl / 1 BLEU 在多数应用感知有限


6 | 快速选型流程(训练 / 推理)

① 你正在做什么?

  • 训练
  • 推理

▍训练路线

梯度是否容易溢出? 建议精度 说明
是(频繁出现 Inf/Nan) BF16 + GradScaler 保留 FP32 级范围,显存减半
否(训练稳定) FP16 半精度省显存、TensorCore 加速

▍推理路线

显存预算 能接受 ≤ 1‑2 % 精度损失? 建议精度
≥ 16 GB ------ FP16(或 BF16)
< 16 GB INT8 / INT4
FP16

额外提示

  • 移动 / 浏览器:优先 INT4(GPTQ / AWQ 量化)。
  • 高精度金融 & 科研:仍用 FP32 或混合 BF16+FP32。
  • INT 量化后如指标下降,可用 LoRA 微调追回。

7 | 常见误区 Q&A

问题 正解
FP16 ≈ BF16? No. FP16 精度高但范围窄;BF16 范围大但刻度粗。
INT8 总会掉精度? 用 GPTQ / AWQ + 校准数据,掉点 < 1%;对话模型体感差异极小。
手机真能跑 INT4 LLM? M2/M3、骁龙 X Elite 已实测 7B INT4 达 10‑20 tokens/s。
训练一定要 FP32? 混合精度早已主流。BF16 TensorCore 训练可比 FP32 快 2‑3×。

8 | 记忆三板斧

  1. 指数位 = 尺子长度
    ‑ 大梯度就要长尺子(8 bit) → BF16
  2. 尾数位 = 刻度密度
    ‑ 推理要细腻回答 → FP16
  3. 位宽 = 钱包厚度
    ‑ 显存贵但要求快 → INT8 / INT4

结语

格式选对,显存省一半,速度翻一番。

  • 训练:优先 BF16;显存充足再混 FP32 累加器。
  • 推理:优先 FP16;显存不足进 INT8;边缘 & 移动用 INT4。
  • 永远记得:先测指标,再定精度。

至此,FP32/FP16/BF16/INT8/INT4 的来龙去脉、优势劣势、硬件匹配与典型场景已全部说清。祝你的模型 又准又快又省钱

相关推荐
AI原来如此41 分钟前
AI 编程助手常见问题 10 问 10 答
人工智能·ai·大模型·编程
哥不是小萝莉1 小时前
OpenClaw vs Hermes Agent
ai
基因改造者2 小时前
Hermes Agent 配置指南
人工智能·ai·hermes agent
Java小白笔记3 小时前
OpenClaw 实战方法论
java·开发语言·人工智能·ai·全文检索·ai编程·ai写作
遇见火星4 小时前
OpenAI Codex 使用教程
ai·openai·codex
Irissgwe6 小时前
LangChain快速上手
ai·langchain·llm·ai编程
多年小白7 小时前
谷歌第八代 TPU 来了:性能提升 124%
网络·人工智能·科技·深度学习·ai
Captain_Data8 小时前
AI 12小时设计CPU完整解析:从219字到RISC-V内核的技术突破
人工智能·python·ai·大模型·芯片设计·risc-v
前端摸鱼匠8 小时前
【AI大模型春招面试题27】字节对编码(BPE)的分词过程?如何处理未登录词(OOV)?
人工智能·ai·面试·大模型·求职招聘
多年小白10 小时前
AI 日报 - 2026年4月25日(周六)
网络·人工智能·科技·深度学习·ai